W Ubuntu 18.04 z domyślnym pulpitem zmieniło się zachowanie wylogowania / logowania:
Wcześniej w systemie Ubuntu, kiedy stwierdziłem, że muszę dodać mój identyfikator użytkownika do jakiejś grupy, wystarczyło
sudo adduser ludwig docker # adds me to group docker
a potem musiałem się wylogować i zalogować ponownie, aby zmiana grupy była skuteczna.
Zauważam, że w Ubuntu 18.04, po dodaniu grupy, wylogowaniu i ponownym zalogowaniu, lista skutecznych grup pozostaje niezmieniona.
W celu obejścia tego problemu ponownie uruchomiłem system, co jest niewygodne (wymaga dokonania właściwego wyboru w GRUB-ie i ponownego wprowadzenia hasła szyfrowania dysku).
- Dlaczego takie zachowanie jest teraz takie?
- Czy mogę zrobić coś innego niż ponowne uruchomienie?
(Wiem, że mogę ssh do localhost i uzyskać prawidłowe grupy tylko w sesji ssh. Jest to również zbyt niewygodne).
sudo usermod -a -G group user
w 18.04, wylogowałem się i zalogowałem ponownie i zadziałało.sudo usermod -a -G groupname username
tam też działałem dobrze. Wylogowałem się i wróciłem, a moja zmiana już tam była.Odpowiedzi:
Komenda
loginctl terminate-user <user>
działała dla mnie. (Zamień na<user>
swoją nazwę użytkownika) Prawdopodobnie nie powinieneś uruchamiać tego po zalogowaniu, ponieważ spowoduje to zabicie wszystkich twoich procesów.źródło
Podczas „wylogowywania” się z domyślnego pulpitu w Ubuntu 18.04, niektóre procesy użytkownika nie są natychmiast kończone, ale pozostają w tyle. Są to (obserwowane przez innego użytkownika):
Podczas ponownego logowania, zanim te procesy zakończą się dobrowolnie, nie jest tworzona nowa sesja logowania, ale stara jest ponownie używana. To jest powód, dla którego nowe członkostwo w grupie nie jest widoczne, to wciąż ta sama stara sesja logowania.
Obejściem problemu, aby uniknąć ponownego uruchomienia, jest odczekanie ~ 20 sekund po wylogowaniu, a dopiero potem ponowne zalogowanie. Procesy wychodzą gdzieś między 10 a 20 sekund po wylogowaniu.
Edycja : Jak podano w komentarzach poniżej, czasami procesy przedłużające się nie kończą się nawet podczas oczekiwania, a po ponownym zalogowaniu członkostwo w grupie nie zostało zaktualizowane. Odkryłem, że w tym przypadku to pomaga
Zamień na
ludwig
swoją nazwę użytkownika. To zabija wszystkie procesy, które należą do ciebie. Używaj tylko wtedy, gdy masz pewność, że masz zapisane wszystkie dane we wszystkich otwartych programach.źródło
Obejściem w bieżącej powłoce jest uruchomienie polecenia „su”, aby mieć nową grupę bez konieczności ponownego uruchamiania.
Jak powiedziałem, ta sztuczka musi być zastosowana do każdej powłoki. To nie jest globalne.
źródło
sudo usermod -a -G adbusers $USER
. Następnie możesz to zrobićsu $USER
isudo adb kill-server && adb start-server
naprawić problem