<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>