Aktualizacja To rozwiązanie jest przeznaczone dla LightDM (domyślny menedżer wyświetlania do Ubuntu 16.04 LTS), a nie dla GDM (domyślny menedżer wyświetlania w nowszych wersjach Ubuntu).
To błąd
Błąd jest opisany i omówiony tutaj, w Ubuntu Launchpad .
Wyjaśnienie
Krótko mówiąc, w systemie Linux są cztery rodzaje użytkowników: root (UID 0), użytkownicy systemu (niskie UID), zwykli użytkownicy (wysokie UID) i użytkownik none (UID 65535, ostatni UID).
Ekran logowania Ubuntu korzysta z usługi o nazwie Accountsservice ( składnik lightdm ), która domyślnie przedstawia wszystkich zwykłych użytkowników na ekranie logowania.
Jednak obecny pakiet Libvirt / QEMU dla Ubuntu 16.04 używa wysokiego identyfikatora UID dla użytkownika libvirt-qemu
. To wydaje się być błędem (pakiety systemowe zwykle tworzą użytkowników systemu o niskim UID).
Obejście
Każdy zwykły użytkownik może również ustawić niestandardowe opcje procesu logowania (obraz tła ekranu logowania, środowisko pulpitu - Gnome lub KDE itp.). Te opcje są zapisane w /var/lib/AccountsService/users
.
Korzystając z tych niestandardowych opcji, można oznaczyć zwykłego użytkownika jako użytkownika systemowego w usłudze Accountsservice. Accountsservice uzna to za użytkownika systemu, mimo że ma UID.
Aby to zrobić libvirt-qemu
użytkownikowi:
echo -e "[User]\nSystemAccount=true" > /var/lib/AccountsService/users/libvirt-qemu
Następnie należy zresetować pamięć podręczną usługi Accountsservice:
service accounts-daemon restart
Poprzednie polecenia należy uruchomić jako root.