Dacă ai pornit calculatorul și, în loc să ajungi la desktop, interfața grafică îți cere parola, o introduci, se întâmplă ceva… și revine la aceeași fereastră, ai dat peste una dintre problemele clasice ale Linux-ului. Știe să sperie, mai ales când ai impresia că sistemul nu mai pornește, dar în multe cazuri problema poate fi reparată fără reinstalarea sistemului.
De ce se întâmplă?
Un login loop poate avea mai multe cauze. Una dintre cele mai frecvente este partiția / aproape plină sau complet plină - dacă sistemul rămâne fără spațiu, unele fișiere temporare sau fișiere necesare sesiunii grafice nu mai pot fi create sau actualizate. Alte cauze posibile sunt fișiere de sesiune X corupte, permisiuni sau owner greșit în /home, permisiuni incorecte pe /tmp, lipsa inode-urilor chiar dacă mai există spațiu liber, probleme cu LightDM sau cu mediul desktop, sau alte erori care pot fi identificate din logurile sistemului. Înainte să reinstalezi Linux, merită să verifici toate astea.
Pasul 1 - Intră într-un terminal
Din ecranul de login apasă Ctrl+Alt+F3 - pe unele sisteme poate fi nevoie de F2, F4, F5 sau F6. Vei ajunge la un terminal text unde te poți autentifica cu username-ul și parola, după care poți rula comenzile de mai jos. Ca să te întorci la interfața grafică, Ctrl+Alt+F7.
Pasul 2 - Verifică spațiul disponibil și ce îl ocupă
Rulează df -h și uită-te în special la partiția montată pe /. Dacă aceasta este aproape plină, primul pas este să afli din ce, nu să ștergi la întâmplare:
sudo du -xhd1 / | sort -h
Dacă, de exemplu, /var iese mare:
sudo du -xhd1 /var | sort -h
Asta poate scoate la iveală cache-uri, loguri sau alte fișiere care au umplut partiția root. Odată identificate, poți curăța cache-ul APT și logurile systemd:
sudo apt clean
sudo journalctl --vacuum-size=200M
Nu există un prag universal de tipul „sub X GB = login loop" - important este ca sistemul să aibă suficient spațiu liber pentru a funcționa normal.
Pasul 3 - Verifică inode-urile
Există o situație mai puțin cunoscută: poți avea spațiu liber pe disc, dar să nu mai ai inode-uri disponibile, ceea ce împiedică la fel de eficient crearea de fișiere noi. Verifici cu:
df -i
Dacă coloana IUse% arată 100% pe partiția /, filesystem-ul nu mai poate crea fișiere noi chiar dacă df -h arată GB disponibili. În acest caz trebuie găsite și șterse directoarele care conțin un număr foarte mare de fișiere.
Pasul 4 - Șterge fișierele de sesiune
Două fișiere pot împiedica pornirea corectă a sesiunii grafice - dacă vreunul nu există, nu este nicio problemă:
rm ~/.Xauthority
rm ~/.ICEauthority
La următoarea autentificare, sistemul le recreează automat.
Pasul 5 - Verifică owner-ul directorului home
Mai întâi uită-te la situația reală, înainte să modifici ceva:
ls -ld /home/username
ls -la /home/username | head
Ar trebui să vezi username username ca owner. Dacă directorul sau fișierele din el aparțin lui root, acesta poate fi motivul pentru care sesiunea nu poate porni - și în acest caz poți repara cu:
sudo chown -R username:username /home/username
Comanda asta modifică owner-ul tuturor fișierelor din acel home, deci nu o rula automat fără să fi verificat mai întâi că există o problemă reală de ownership.
Pasul 6 - Verifică permisiunile pe /tmp
Directorul /tmp trebuie să aibă permisiunile corecte pentru ca sesiunea grafică să poată porni. Verifici cu:
ls -ld /tmp
Normal arată drwxrwxrwt - litera t de la sfârșit este importantă. Dacă permisiunile sunt greșite, le repari cu:
sudo chmod 1777 /tmp
Pasul 7 - Dacă problema persistă, verifică logurile
Dacă toți pașii de mai sus sunt în regulă și tot nu intri în desktop, logurile îți vor spune exact ce eșuează. Poți verifica erorile din boot-ul curent:
journalctl -b -p err
Pe Linux Mint cu LightDM poți verifica și:
sudo tail -100 /var/log/lightdm/lightdm.log
Pasul 8 - Repornește
sudo reboot
O notă despre autentificarea automată
Dacă sistemul era configurat să intre automat în desktop fără să ceară parola, dar după problemă începe să afișeze ecranul de login și intră în buclă, nu înseamnă neapărat că parola este greșită. Este posibil ca sesiunea grafică să încerce să pornească, să eșueze din alt motiv și să revină la managerul de autentificare. De aceea, faptul că parola este corectă nu exclude celelalte cauze de mai sus.
Pe scurt, ordinea verificărilor:
1. Ctrl+Alt+F3
2. df -h → du -xhd1 / | sort -h
3. df -i
4. eliberează spațiu dacă / este aproape plină
5. șterge ~/.Xauthority și ~/.ICEauthority
6. verifică owner-ul /home/username
7. verifică permisiunile /tmp
8. verifică logurile LightDM și journalctl
9. reboot
Nu reinstala Linux doar pentru că apare un login loop - în marea majoritate a cazurilor problema este localizată și poate fi reparată din TTY.