Setting gconf/dconf keys in kickstart

Hugh Brown hbrown at divms.uiowa.edu
Wed Aug 3 21:52:45 UTC 2011



On 08/03/2011 01:16 PM, Patrick Lists wrote:
> On 08/03/2011 05:20 PM, Hugh Brown wrote:
> [snip]
>> The gdm user doesn't have write access to /etc/gconf, you can probably
>> leave off the --direct --config-source...
>
> Thanks, that makes total sense now that you point it out to me.
>
>> sudo -u gdm gconftool-2 -s -t bool /desktop/gnome/sound/event_sounds
>> false
>>
>> should do it.
>
> Unfortunately not. The thing is that the script below works if I include
> it with sh /tmp/gdm_disable_sound.sh in %post.
>
> ----8<---
> su - gdm -s /bin/bash --command='
> for line in `dbus-launch`; do export "$line"; done;
> /usr/libexec/dconf-service &
> GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.sound
> event-sounds false;
> exit' 2> /dev/null
> ----8<---


eval `dbus-launch` should do everything in your for loop.

You might be able to revert to just setting 
/desktop/gnome/sound/event_sounds in the mandatory tree w/ the hope that 
the gdm user inherits those settings.

As to things, not exiting, the anaconda webpage describes this scenario:

http://fedoraproject.org/wiki/Anaconda/Kickstart#Chapter_5._Post-installation_Script

If your script spawns a daemon process, you must make sure to close 
stdout and stderr. Doing so is standard procedure for creating daemons. 
If you do not close these file descriptors, the installation will appear 
hung as anaconda waits for an EOF from the script.

Killing dconf-service takes care of closing those file descriptors.

Hugh




More information about the Kickstart-list mailing list