更新此解决方案适用于LightDM(Ubuntu 16.04 LTS之前的默认显示管理器),而不适用于GDM(Ubuntu较新版本中的默认显示管理器)。
这是一个错误
该错误在Ubuntu Launchpad中进行了描述和讨论。
说明
不久,Linux中有四种类型的用户:根(UID 0),系统用户(低UID),常规用户(高UID)和无人用户(UID 65535,最后一个UID)。
Ubuntu登录屏幕使用名为Accountsservice(lightdm组件)的服务,默认情况下,该服务在登录屏幕中显示所有常规用户。
但是,当前用于Ubuntu 16.04的Libvirt / QEMU软件包为用户使用了较高的UID libvirt-qemu。这似乎是一个错误(系统软件包通常使用低UID创建系统用户)。
解决方法
每个普通用户还可以为其登录过程设置自定义选项(登录屏幕的背景图像,桌面环境-Gnome或KDE等)。这些选项保存在中/var/lib/AccountsService/users。
使用这些自定义选项,可以将普通用户标记为Accountsservice的系统用户。因此,尽管使用了UID,但Accountsservice仍会将其视为系统用户。
向libvirt-qemu用户执行此操作:
echo -e "[User]\nSystemAccount=true" > /var/lib/AccountsService/users/libvirt-qemu
之后,您应该重置Accountsservice缓存:
service accounts-daemon restart
先前的命令应以root用户身份运行。