On 12/29/2009 9:13 AM, solarg wrote: > hello all, > i opened a new thread for this problem i'm unable to solve on my machine. > Brian told me to use: > gconftool-2 --direct --config-source > xml:readwrite:/var/lib/gdm/.gconf.mandatory -t string -s > /desktop/gnome/background/picture_filename > /usr/share/pixmaps/backgrounds/opensolaris/stream.jpg > > but .gconf.mandatory isn't listed in /etc/gconf/2/path, there is: > xml:readwrite:$(HOME)/.gconf > > but also an include: > include "$(HOME)/.gconf.path" > > but gdm's home contains gconf.path not .gconf.path, is it normal? I'm > wondering who created this file gconf.path that doesn't exist for others > users?
When GDM starts up the login GUI, it starts GConf with an environment variable which tells it to use the ~gdm/gconf.path file instead of /etc/gconf/2/path. You'll notice that the ~gdm/gconf.path file specifies ~gdm/.gconf.mandatory. The reason that this is done is so that GConf can set up different configuration subdirectories in a per-seat (or per-display) fashion. Otherwise, if you launched an AT program on one GDM login screen, it would launch on them all, for example. This would be a problem for Sun Ray. You might notice directories like this: ~gdm/StaticSeat1/.gconf, ~gdm/Seat1/.gconf. These are the individual GConf directories associated with each ConsoleKit seat. These directories are specified via the ~gdm/gconf.path file. So, if you want to change the settings for a particular seat, you need to specify the .gconf directory that corresponds to your ConsoleKit seat. If you are just using one Seat (if you only use the console display, for example) then there should only be one such directory. If you want to change the configuration setting for all seats, then you should modify the ~gdm/.gconf.mandatory directory. Since most users want to do this, the examples in the gdm manpage just suggest that this is what you should do. Perhaps this should be better documented in the manpage. Let's further discuss until we figure out what your problem is, then we might have a better idea of what improvements need to be made to the manpage to avoid future confusion. > Anyway, i did: > gdm at ultra20:~$ gconftool-2 --direct --config-source > xml:readwrite:/var/lib/gdm/.gconf -t string -s > /desktop/gnome/background/picture_filename /home/henry/screenshot.png > gdm at ultra20:~$ gconftool-2 --direct --config-source > xml:readwrite:/var/lib/gdm/.gconf -g > /desktop/gnome/background/picture_filename /home/henry/screenshot.png > gdm at ultra20:~$ gconftool-2 --direct --config-source > xml:readwrite:/var/lib/gdm/.gconf -t bool -s > /apps/gdm/simple-greeter/disable_user_list false > gdm at ultra20:~$ gconftool-2 --direct --config-source > xml:readwrite:/var/lib/gdm/.gconf -g > /apps/gdm/simple-greeter/disable_user_list > > but after restarting gdm, there is no change... I would not expect the above commands to work since you are modifying ~gdm/.gconf. You need to either modify the mandatory directory, or the .gconf directory for the seat you are using. The seat value should be persistent for your console display, even if you do VT switching. If you have errors running the gconftool-2 command after su'ing to the gdm user, then does it work better if you run the command with pfexec? The fix to make GDM work with the multi-display feature described above is a very recent addition to GDM, and I hope that hasn't complicated using gconftool-2 to make simple configuration changes. You do have to restart GDM after changing the configuration, so run "svcadm restart gdm" after changing configuration, or reboot. Brian
