In my quest to go super old school, which comes from my quest to wait less for bulky-yet-pretty software components that don't render properly on my system anyway, I decided to ditch the login manager. Bye now!
So after a hearty
sudo cp /etc/default/grub /etc/default/grub.for-wusses
sudo sed -i 's/\(GRUB_CMDLINE_LINUX_DEFAULT=\).*/\1"text"/' /etc/default/grub
sudo update-grub
sudo reboot
It's back like in the nineties! Start the computer, watch all kinds of confusing boot log outputs, and then be greeted with the classic, lovely:
Login:
Aaaaaah. Much better. A quick
echo i3>> .xinitrc # Replace i3 if you are running something less awesome than i3
Tops it off... and now I get a super fast and super quickly started GUI by just running
startx
after the great live-in-the-matrix-style console logon.
This could be automated. But that would not be old school.
(If that is too hard core for you... this will bring back whatever familiar glitchy GUI login bloatness you had: sudo mv /etc/default/grub.for-wusses /etc/default/grub
)
Too bad I can't ssh any more without entering my passphrase every darn time. Guess the nineties weren't perfect either. So what... if... I could have 2015 style ssh login convenience without seeing it? Best of both worlds. Be coddled by modernty and still look super old school. Sounds perfect to me.
And low and behold! This will do just that:
sudo cp /etc/pam.d/login /etc/pam.d.login.no-oldschool-convenience
sudo cp /etc/pam.d/passwd /etc/pam.d.passwd.no-oldschool-convenience
echo "auth optional pam_gnome_keyring.so"$'\n'"session optional pam_gnome_keyring.so auto_start" | sudo tee -a /etc/pam.d/login > /dev/null
echo "password optional pam_gnome_keyring.so" | sudo tee -a /etc/pam.d/passwd > /dev/null
echo "
if test -z "$DBUS_SESSION_BUS_ADDRESS"; then
eval $(dbus-launch --sh-syntax --exit-with-session)
export $(/usr/bin/gnome-keyring-daemon --start --components=pkcs11,secrets,ssh,gnupg)
fi" >> .profile
Logout, login, startx, and SSH works. Grand. Just grand.
(Get rid of it with mv /etc/pam.d.login.no-oldschool-convenience /etc/pam.d/login ; mv /etc/pam.d.passwd.no-oldschool-convenience /etc/pam.d/passwd
, then edit .profile and remove the if block above
ps aux | grep gnome-keyring-daemon
at any time. The output should always be /usr/bin/gnome-keyring-daemon --daemonize --login
, indicating the keyring was launched by PAM.seahorse
, the login keyring should be unlocked. If it isn't, PAM did not properly start the keyring daemongnome-keyring-daemon
in xinitrc intializes it and puts the proper environment variables into the X session. It does not start another instance. It must happen after the dbus-launch line.