Question regarding the new login theme and using other gdm themes

Reinhard Tartler siretart at ubuntu.com
Tue Sep 29 12:51:31 BST 2009


أحمد المحمودي <aelmahmoudy at users.sourceforge.net> writes:

> I think you mean those lines:
>
>   su -s /bin/sh -c 'gconftool --set /desktop/gnome/background/picture_filename --type string  /usr/share/images/xsplash/bg_2560x1600.jpg' gdm
>   su -s /bin/sh -c 'gconftool --set /desktop/gnome/interface/gtk-theme --type string HumanLogin' gdm
>
> But the problem I meant is branding a Ubuntu derivative by installing 
> some package. As far as I know a derivatve distro cannot do the above in 
> postinst script, so as to not override a possible sys. admin setting.

That should be possible. Here is the full code of the postinst script:

#set default theme for the gdm login screen
if [ "$1" = "configure" ] && dpkg --compare-versions "$2" lt 2.28.0-0ubuntu7; then
    su -s /bin/sh -c 'gconftool --set /desktop/gnome/background/picture_filename --type string /usr/share/images/xsplash/bg_2560x1600.jpg' gdm
    su -s /bin/sh -c 'gconftool --set /desktop/gnome/interface/gtk-theme --type string HumanLogin' gdm
fi

this means that the theme is only updated on upgrades from jaunty or
earlier. If you update it afterwards, the postinst (and hopefully future
postinst as well) shouldn't override that.

If you are creating a configuration package that updates the background
in a similar way to gdm, then you should make sure that you Pre-Depend
on gdm (>> 2.28.0-0ubuntu7) AFAIUI to ensure that the ubuntu gdm package
is configured before your configuration package.

FWIW, using something like puppet or cfengine would be my preferred way
to implement that.

-- 
Gruesse/greetings,
Reinhard Tartler, KeyID 945348A4



More information about the ubuntu-devel mailing list