Aceasta e o versiune anterioară a paginii.
Autologin în Debian TTY cu kmscon și getty
Configurarea autologinului pe un sistem Debian fără interfață grafică poate părea simplă la prima vedere, dar există câteva capcane care apar în funcție de ce programe rulează pe TTY. Acest articol documentează două scenarii: autologin prin getty (metoda standard) și autologin prin kmscon (când folosești kmscon ca terminal îmbunătățit).
Contextul: kmscon și getty nu se înțeleg întotdeauna
Pe un sistem Debian minimal care rulează direct în TTY, terminalul poate fi gestionat fie de getty (implicit), fie de kmscon (dacă îl instalezi pentru fonturi mai frumoase și culori suplimentare). Problema apare când ambele sunt active simultan sau când configurezi autologinul pentru unul dar terminalul e controlat de celălalt.
Un simptom clar al acestei confuzii: dacă rulezi tty în terminal și vezi /dev/pts/0 în loc de /dev/tty1, înseamnă că kmscon gestionează terminalul, nu getty.
Varianta 1: Autologin prin getty (fără kmscon)
Aceasta este metoda standard pentru un sistem Debian minimal fără kmscon instalat.
Creează directorul de override pentru serviciul getty:
sudo mkdir -p /etc/systemd/system/getty@tty1.service.d/ sudo nano /etc/systemd/system/getty@tty1.service.d/autologin.conf
Conținutul fișierului:
[Service] ExecStart= ExecStart=-/sbin/agetty --autologin USERUL_TAU --noclear %I $TERM
Aplică modificările:
sudo systemctl daemon-reload sudo reboot
După reboot, terminalul va fi /dev/tty1 și autologinul va funcționa. În ~/.bashrc poți adăuga pornirea automată a tmux sau a oricărui alt program:
if [ -z "${TMUX}" ] && [ $(tty) == "/dev/tty1" ]; then exec tmux new-session -d 'nvim' \; attach fi
Varianta 2: Autologin prin kmscon
Dacă ai instalat kmscon și vrei să folosești autologinul prin el, trebuie să configurezi serviciul kmsconvt@tty1.service. kmscon înlocuiește getty pe TTY și creează un terminal virtual de tip pts/0.
Creează fișierul de override:
sudo mkdir -p /etc/systemd/system/kmsconvt@tty1.service.d/ sudo nano /etc/systemd/system/kmsconvt@tty1.service.d/autologin.conf
Conținutul:
[Service] ExecStart= ExecStart=/usr/bin/kmscon --login -- /bin/login -f USERUL_TAU
sudo systemctl daemon-reload sudo reboot
Dacă autologinul prin kmscon funcționează, terminalul va fi /dev/pts/0. Condiția din ~/.bashrc trebuie ajustată:
if [ -z "${TMUX}" ] && [ $(tty) == "/dev/pts/0" ]; then exec tmux new-session -d 'nvim' \; attach fi
Ce se poate întâmpla greșit
kmscon instalat dar autologin configurat prin getty: getty nu va controla terminalul pentru că kmscon îl preia primul. Autologinul prin getty nu va funcționa. Soluția este fie să configurezi autologinul prin kmscon, fie să dezinstalezi kmscon și să rămâi cu getty.
Condiția din .bashrc cu tty greșit: dacă configurezi pts/0 în .bashrc dar terminalul e tty1 (sau invers), tmux nu va porni automat. Verifică întotdeauna cu comanda tty ce terminal folosești efectiv.
Concluzie
Metoda care funcționează depinde de ce rulează pe TTY. Dacă folosești kmscon, configurează autologinul prin kmscon și ajustează .bashrc pentru pts/0. Dacă nu folosești kmscon sau autologinul prin el nu funcționează pe hardware-ul tău, dezinstalează-l și folosește getty cu tty1. În ambele cazuri, verifică cu tty ce terminal ai efectiv înainte să configurezi .bashrc.