<html>
<head>
<meta http-equiv="content-type" content="text/html;
charset=ISO-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Warning, Rant/post below. I've posted this to my blog, but would
really like other peoples thoughts on it, given the relative
quietness of the list please forgive me if you don't care about
this. (Send me to /dev/null rather than flaming please)<br>
Solution is contained as well.<br>
<a class="moz-txt-link-freetext"
href="http://tim.purewhite.id.au/2012/05/when-did-linux-start-moving-away-from-its-simplicity/">http://tim.purewhite.id.au/2012/05/when-did-linux-start-moving-away-from-its-simplicity/</a><br>
<br>
Tim<br>
<br>
--<br>
<p>Today I had the joy of trying to change a users desktop
environment from Gnome, to Cinnamon, via ssh. At first I thought
it would be easy, change the default desktop environment in
lightdm.conf and restart. Fail. Ok, so where is a users desktop
environment preference stored? .dmrc, or at least I thought so. I
even logged in with a brand new user and confirmed that it saved
the users desktop preference in ~/.dmrc. Except, if I changed
.dmrc for a user, it just got overwritten with the old contents at
their next automatic login. (Remember, ssh, so can't use the gui
to change what was selected in the lightdm login screen).<br>
Wha?!!? Surely not a dconf/gconf setting somewhere. Search search
search. Still no luck. Eventually I discover a service called
"AccountsService" or something along that name. It stores the
users ".dmrc" contents in /var/lib/AccountsService/users/ with a
file for each user, which believe it or not, can't be changed by
the user! Arg! (And I believe you need to kill accountsservice to
be able to change the contents of the file and have it actually
honored, I tried just changing it, but ended up changing it then
rebooting to get it to work)<br>
<br>
This is stupidity! Have a daemon, that one of it's tasks is to
tell the "display manager" what the users preferred desktop
environment preference is, that stores it in a place the user
can't change, without talking to the daemon! Oh, and write the
contents of that file out to .dmrc at login, but don't bother
reading from that file.<br>
<br>
Doing some more digging, AccountService is for querying and
manipulating user account information via D-Bus, essentially
replacing the useradd, usermod and userdel commands. I can't find
a "homepage" for it, the homepage listed is it's source code repo.
(<a title="AccountsService Repo"
data-mce-href="http://cgit.freedesktop.org/accountsservice/"
href="http://cgit.freedesktop.org/accountsservice/">http://cgit.freedesktop.org/accountsservice/</a>)
(NB: Some more digging finds this <a title="AccountsService
Homepage"
data-mce-href="http://www.freedesktop.org/wiki/Software/AccountsService"
href="http://www.freedesktop.org/wiki/Software/AccountsService">http://www.freedesktop.org/wiki/Software/AccountsService</a>
as the homepage)<br>
I personally don't mind D-Bus, it services its purposes, but here
is an instance where it looks like someone has gone to the trouble
of writing a piece of code, to complicate some that use to be a
simple stat/open of a file, that the user was in total control of.<br>
<br>
For the record, lightdm will work without AccountsService, and I
believe then it will honor ~/.dmrc<br>
Also, accountsservice isn't in Debian stable, but is in Debian
testing, and gdm3 and gnome depend on it. (So in other words
Gnome3 depends on it)<br>
<br>
I just don't understand why we need to reinvent the wheel, take
something that is so simple (and fits in the Unix "philosophies"
of everything is a file, and that file formats should be simple
text based) and turn it into something that user no longer has
control over, for something that sets their preference!<br>
<br>
Read <a
data-mce-href="http://blog.ngas.ch/archives/2011/12/13/the_destructive_desktop__mdash_linux_in_trouble/index.html
"
href="http://blog.ngas.ch/archives/2011/12/13/the_destructive_desktop__mdash_linux_in_trouble/index.html">http://blog.ngas.ch/archives/2011/12/13/the_destructive_desktop__mdash_linux_in_trouble/index.html
</a>for some more thoughts on dbus.</p>
<br>
<br>
</body>
</html>