Αυτόματη είσοδος χρήστη σε Arch

Η αυτόματη είσοδος στο σύστημα βολεύει από άποψη χρόνου εκκίνησης του υπολογιστή αλλά είναι αποτρεπτική εάν ο υπολογιστής είναι κοινόχρηστος, με αποθηκευμένα προσωπικά δεδομένα (έγγραφα κλπ).

Στην πρώτη περίπτωση λοιπόν, θα κερδίσετε χρόνο και μνήμη εάν δεν σηκώσετε gdm, lightdm κλπ.

Θα έχετε δει πολλά θέμαστα σχετικά με τις ρυθμίσεις, εγκατάσταση κλπ της διανομής Arch Linux. Εδώ θα δούμε πως μπορεί κάποιος να εισέρχεται αυτόματα στο σύστημα. Σε άλλες διανομές αυτό είναι εύκολο, πχ μέσα από το YaST ή στο γραφικό περιβάλλο GNOME μέσα από τις ρυθμίσεις του χρήστη.


1. Φτιάξτε τον κατάλογο:

sudo mkdir /etc/systemd/system/getty@tty1.service.d

2. Δημιουργήστε το αρχείο autologin.conf.

sudo nano /etc/systemd/system/getty@tty1.service.d/autologin.conf

3. Το αρχείο να έχει το περιεχόμενο:

[Service]
ExecStart=
ExecStart=-/usr/bin/agetty --autologin username --noclear %I 38400 linux

όπου username γράφετε το username του χρήστη που θέλετε να εισέρχεται αυτόματα.

4. Τώρα, για να εκτελείται αυτόματα η startx και να ανοίγει το γραφικό περιβάλλον, επεξεργαστείτε το αρχείο:

nano .bash_profile

και εισάγετε τον παρακάτω κώδικα:

# Following automatically calls "startx" when you login:
[[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && exec startx


ΠΡΟΣΟΧΗ: Εάν μετά την επανεκκίνηση, δεν ανοίξει ο υπολογιστής, τότε υπάρχει πιθανό πρόβλημα στο αρχείο ~/.xinitrc. Μπορεί να προσπαθεί να ανοίξει με την startx και να συμβαίνει κύκλος. Πατήστε τα πλήκτρα ALT+CTRL+F2 και εισέλθετε χειροκίνητα στο σύστημα. Στη συνέχεια ανοίξτε το nano .xinitrc. Ένα τέτοιο αρχείο απότελείται από τον κώδικα:

#!/bin/sh
#
# ~/.xinitrc
#
# Executed by startx (run your window manager from here)

if [ -d /etc/X11/xinit/xinitrc.d ]; then
for f in /etc/X11/xinit/xinitrc.d/*; do
[ -x "$f" ] && . "$f"
done
unset f
fi

# exec enlightenment_start
# exec i3
# exec mate-session
# exec xmonad
# exec startlxqt
# exec startlxde
# exec awesome
# exec bspwm
# exec gnome-session
# exec startkde
# exec startxfce4
# exec icewm
# exec fluxbox
# exec openbox-session
# exec cinnamon-session
# exec pekwm

Εναλλακτικά μπορείτε να εγκαταστήσετε έναν display manager πχ lightdm για να διορθώσετε το πρόβλημα τούτο.