Tuesday, November 8, 2016

DConf - GDM specific

Early 2000 laptops shouldn't waste valuable memory for a fancy login or to run wpa_supplicant beneath the hood. I simply boot into runlevel 2 and take a few seconds to do these myself. Recently it became clear that TA's I oversee would experience a gentler learning curve if their logins and network connections had a GUI assist. So I began to toy with GDM. A few considerations
  1. DM's move directly to runlevel 5. Can I occasionally go runlevel 2 if needed (eg. troubleshooting)?
    # systemctl disable gdm.service
    # reboot
  2. I like IceWM, but GDM's default is Unity, which is a memory hog. Can I still get there from the DM?
    $ cp .xinitrc .xsession
    This is because .xinitrc is used going from runlevel 2 to the GUI using startx, and GDM uses .xsession in a similar way, calling it to start the GUI.
  3. Can I test the login screen manually from runlevel 2?
  4. GDM autmagically installs pulseaudio. Do I have available time to skillfully cripple pulseaudio so that it doesn't interefere w/VLC and java?

Configuration

A common Linux frustration is the omission or inaccuracy of critical details in Forum and other Googled solutions. Such oversights silently sap hours or days of extra effort. Over the years, the accretion of lost time becomes alarming. Accordingly, for Linux processes I might irregularly use, or which required an extremely long disentangling process, I went to the extreme of creating a blog in order to document solutions for future time savings. Details can be anything from an intermediate step, (mis)ordered steps, permissions, group membership, etc. In this case, is a great page for configuring GDM, but it overlooks the copying of some key files, some steps requiring root authority, and so on.

The icewm FAQ has the answers for this configuration. The files involved
  • /etc/X11/gdm/Sessions/IceWM
    #!/bin/bash
    exec /etc/X11/xdm/Xsession icewm
  • /etc/X11/xdm/Xsession
  • /usr/share/apps/switchdesk/Xclients.icewm
    #!/bin/bash
    exec /usr/local/bin/icewm-session
  • /usr/local/bin/icewm-session

No comments: