Para definir a imagem do papel de parede a partir da linha de comando (sem boneco), você pode usar algo assim:
gsettings set org.gnome.desktop.background picture-uri "file:///path/to/file.jpg"
que obviamente precisa ser executado como o usuário para o qual você está alterando o plano de fundo.
Em termos de fantoche, acredito que você possa enviar o arquivo para as máquinas controladas usando file
resource:
file { "/usr/share/backgrounds/warty-final-ubuntu.png":
source => "puppet://server/modules/module_name/background.jpg"
}
então, para executar um comando, há exec
directive:
define set_bg($name) {
exec {"set bg for $name":
command => "/usr/bin/gsettings set org.gnome.desktop.background picture-uri file:///usr/share/backgrounds/warty-final-ubuntu.png",
user => "$name",
}
}
que você pode executar para cada um dos seus usuários:
user { "joe":
ensure => "present",
uid => "1005",
comment => "Joe",
home => "/home/joe",
shell => "/bin/bash",
managehome => "true"
}
user { "ted":
ensure => "present",
uid => "1006",
comment => "Ted",
home => "/home/ted",
shell => "/bin/bash",
managehome => "true"
}
set_bg { "joe": name=>"joe" }
set_bg { "ted": name=>"ted" }
Além disso, você pode querer restringir a escolha de planos de fundo do usuário apenas àquele que está configurando com o Puppet. Para isso, você precisa modificar /usr/share/gnome-background-properties/ubuntu-wallpapers.xml
(obviamente, usando o Puppet). O arquivo em si ficaria assim:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE wallpapers SYSTEM "gnome-wp-list.dtd">
<wallpapers>
<wallpaper>
<name>Common Background</name>
<filename>/usr/share/backgrounds/warty-final-ubuntu.png</filename>
<options>zoom</options>
<pcolor>#000000</pcolor>
<scolor>#000000</scolor>
<shade_type>solid</shade_type>
</wallpaper>
</wallpapers>
A regra para fazer o upload seria:
file { "/usr/share/gnome-background-properties/ubuntu-wallpapers.xml":
source => "puppet://server/modules/module_name/backgrounds.xml",
}
Além disso, observe que o plano de fundo padrão do Ubuntu está no arquivo /usr/share/backgrounds/warty-final-ubuntu.png
- Estou descobrindo que a substituição desse arquivo fornece resultados mais previsíveis e cria outro (isto é, o gsettings não pode alterar o segundo plano para novos usuários que nunca efetuaram login , por exemplo). Isso também altera o plano de fundo da tela de login, etc., o que suponho ser uma coisa boa.