Am actualizat Ubuntu 16.04 la Ubuntu 18.04. Nu intenționez să fac un nou upgrade la Ubuntu 20.xx pentru moment. Totul pare să fi mers bine, cu excepția trecerii utilizatorilor din mediul desktop. Mediul meu desktop a fost și este Unity.
Există doi utilizatori în acest computer. Comportamentul așteptat este că în mediul desktop pot trece la orice alt profil fără să mă deconectez de la cel actual, ca într-un sistem multi-utilizator. De fapt, trebuie întotdeauna să mă deconectez de la un profil pentru a mă conecta la celălalt.
Ceea ce este mai jos se întâmplă întotdeauna, indiferent de care profil este primul.
1 Imediat după upgrade
1.1 Problemă
Situația imediat după upgrade a fost:
- Mă conectez la ambele profiluri de desktop separat: PASS.
- Odată ce mă aflu în oricare profil și dau clic pe meniu pentru a accesa celălalt, nimic se întâmplă: FAIL.
Așa că rămân unde sunt.
Trebuie să mă deconectez complet pentru a accesa celălalt profil.
1.2 Remediere parțială
Am urmat sugestia de a reinstala mediul desktop cu
sudo apt remove lightdm
sudo apt install lightdm
sudo reboot
Acest lucru a rezolvat problema doar parțial.
- Mă pot autentifica în oricare dintre profiluri separat: PASS, OLD.
- Dacă dau clic pe meniul din interiorul unui profil pentru a accesa orice alt profil, ceva se întâmplă: mi se prezintă ecran de conectare cu introducerea parolei: PASS, NEW.
- Rezoluția ecranului de autentificare în care se introduce parola este destul de grosieră: FAIL, NEW.
- După ce introduc parola celuilalt profil, aceasta se blochează câteva secunde înainte de a reveni în ecranul de conectare.
- Prin urmare, nu pot accesa celălalt profil de utilizator: FAIL, NEW.
- Cu toate acestea, mă pot conecta din nou la profilul anterior.
Alte acțiuni precum
sudo apt install ubuntu-unity-desktop
sau
sudo dpkg-reconfigure lightdm
nu au efect sau sunt redundante. Într-adevăr, aceeași problemă apare indiferent dacă mediul desktop este Unity sau Ubuntu.
2 Situația actuală
2.1 Teste de la terminal
Mă pot conecta la ambele profiluri de la terminal. După ce mă aflu în mediul desktop al profilului A, mă deplasez la un terminal tty și mă conectez la profilul B.
La prima conectare, înainte de solicitare mesajul de sistem este
Nu s-a putut găsi cheia cu descrierea: [SEMNATURA]
Nu s-a putut găsi process_request_key_err în sesiunea de chei al utilizatorului pentru semnul specificat
Opțiune de analizare a erorilor; rc = [-2]
Ambele teste arată keyctl
și ls
trece: așa că POT să văd breloul de chei de sesiune (mesajul negăsit de mai sus este un nonsens) și conținutul directorului (mesajul de mai sus este imaterial).
Ies și mă autent din nou. Înainte de solicitare există un alt mesaj
Semnătura nu a fost găsită în breloul de chei al utilizatorului
Poate încercați interactivul „ecryptfs-mount-private”
Testul arată keyctl
eșuează (mesajul negăsit de mai sus este consistent) și ls
trece (mesajul de mai sus rămâne imaterial). Chiar dacă încerc ecryptfs-mount-private
, încarc cheia, problema comutării utilizatorului persistă și aceste mesaje apar din nou la următoarea repornire.
Uneori, aceste mesaje nu apar deloc (deci, simplă navigare în terminal), dar problema comutării conturilor în mediul desktop persistă.
În terminal pot vedea și răsfoi conținutul directoarelor de acasă. În toate cazurile, nu există blocaj din cauza criptării.
2.2 Din mediul desktop
- Dacă mă deconectez din mediul desktop al profilului A și încep din nou, ecranul de autentificare cu introducerea parolei este redat corect (fără rezoluție grosieră). Mă pot conecta la profilul B.
- Când încerc să trec de la profilul A la B și am lăsat în urmă mediul desktop al profilului A fără să mă deconectez, pot oricând să revin la profilul A tastând parola utilizatorului.Adică: merge în modul în care m-aș aștepta să funcționeze și pentru activarea profilului B.
- Dacă creez un nou utilizator C cu drepturi de administrator (o sugestie de @matigo), se întâmplă următoarele:
- Nu pot trece de la A și B la C exact în același mod cum nu aș putea între A și B;
- Nu mă pot conecta nici la noul C creat de pe ecranul de conectare: ecranul de întâmpinare revine la sine. Aceasta din urmă se întâmplă indiferent dacă am setat sau nu o parolă pentru utilizatorul C, deci nu este o eroare umană.
2.3 Alte postări
M-am uitat la aceste alte postări, care se referă la versiuni mai vechi ale Ubuntu
3. Analiza erorilor în jurnalctl
Aceasta urmează a sugestia lui lemrm.
Aceasta este situatia mea:
wmctrl -m
Nume: Compiz
Clasa: N/A
PID: N/A
Modul „afișare desktop” al managerului de ferestre: OFF
echo $DESKTOP_SESSION
unitate
echo $GDMSESSION
unitate
echo $XDG_CURRENT_DESKTOP
Unity:Unity7:ubuntu
3.1 Fără libpam-wallet*
Comanda journalctl -p err -b
returnează printre altele următoarele rânduri interesante despre lightdm
:
10 dec 21:33:59 computer lightdm[3992]: PAM nu se poate deschide dlopen(pam_kwallet.so): /lib/security/pam_kwalle
10 dec 21:33:59 computer lightdm[3992]: PAM adaugă modul defect: pam_kwallet.so
10 dec 21:33:59 computer lightdm[3992]: PAM nu se poate deschide dlopen(pam_kwallet5.so): /lib/security/pam_kwall
10 dec 21:33:59 computer lightdm[3992]: PAM adaugă modul defect: pam_kwallet5.so
10 dec 21:33:59 computer lightdm[3992]: pam_unix(lightdm:auth): conversația eșuată
10 dec 21:33:59 computer lightdm[3992]: pam_unix(lightdm:auth): auth nu a putut identifica parola pentru...
Am găsit aceste resurse
Bibliotecile pam_kwallet.so
și pam_kwallet5.so
aparțin pachetelor
care lipsesc în sistemul meu. Eu le instalez.
Diferența interesantă este că, atunci când trec la alt profil prin intermediul meniului, nu intru din nou în greeter cu o alegere de profiluri, ci în pagina de „reintrare” a profilului curent (ca și cum aș fi apăsat Ctrl + L).
Încă trebuie să mă deconectez pentru a găsi o cale de acces la alt profil.
Pot să mă întorc doar la profilul în care eram.
3.2 Cu libpam-wallet*
Liniile de journalctl -p err -b
in ceea ce priveste lightdm
deveni:
10 dec 22:16:23 computer lightdm[1766]: pam_kwallet(lightdm:session): pam_kwallet: Imposibil de scris walletKey în walletPipe
10 dec 22:16:23 computer lightdm[1767]: pam_kwallet5(lightdm:session): pam_kwallet5: Imposibil de scris walletKey în walletPipe
Nu am găsit prea multe despre asta Este imposibil să scrieți walletKey în walletPipe de care as putea folosi:
- codul sursa: https://github.com/KDE/kwallet-pam/blob/master/pam_kwallet.c
- o plangere: https://forums.gentoo.org/viewtopic-p-8220820.html
- un raport de eroare: https://bugs.launchpad.net/lightdm/+bug/1781418
3.3 pam_ecryptfs
După ce încerc să schimb utilizatorul din meniu, conform punctului 3.1, jurnalul adaugă încă o linie la mesajele din 3.2.
10 dec 23:28:11 computer compiz[2490]: pam_ecryptfs: eroare seteuid
dupa care verific ca:
dpkg -S pam_ecryptfs
ecryptfs-utils: /usr/share/man/man8/pam_ecryptfs.8.gz
ecryptfs-utils: /lib/security/pam_ecryptfs.so
Acest lucru schimbă atenția de la lightdm
și kwallet
la compiz
și ecryptfs
. Aceste resurse se aplică:
4. Întrebare
Prin urmare, problema pare să fie pur și simplu una de gestionare a comutării de la orice prim profil curent la orice alt profil din mediul desktop.
Practic, trebuie întotdeauna să mă deconectez de la un profil pentru a mă conecta la celălalt. Deci, nici un comportament multi-utilizator.
Ceva sugestii pentru a remedia asta?