I have set up puppet (Central Management Server). Can anyone tell me how to change wallpapers of all clients from this puppet server?
Ubuntu – How to change the wallpaper of all clients using puppet
puppet
Related Question
- Ubuntu – What’s the difference between Juju and Puppet/Chef
- Ubuntu – How to setup Puppet server
- Ubuntu – How to copy file to all clients using puppet
- Ubuntu – How to copy files to all machines using puppet master
- Ubuntu – How to install a puppetmaster
- Ubuntu – Change dconf keys without logging into X in Puppet
Best Answer
To set the wallpaper image from command line (without puppet), you can use something like this:
which obviously needs to be run as the user you're changing the background for.
In terms of puppet, I believe you would be able to upload the file to the controlled machines using
file
resource:then, to run a command, there's
exec
directive:which you can execute for each of your users:
Also, you may want to restrict user's choice of backgrounds only to the one you're setting with Puppet. For that, you need to modify
/usr/share/gnome-background-properties/ubuntu-wallpapers.xml
(obviously, using Puppet). The file itself would look like:The rule to upload it would look like:
Also, note that the default Ubuntu background is in the file
/usr/share/backgrounds/warty-final-ubuntu.png
- I'm finding that replacing this file gives more predictable results then creating another one (i.e. gsettings is unable to change background for new users who never logged in, for example). This also changes the background of the login screen etc, which I suppose is a good thing.