Libvirt Qemu 密码

jb6*_*264 9 kvm virtualization qemu

我将 Ubuntu 16.04 安装为命令行,一两周前想尝试使用 KVM。作为 KVM 安装的一部分,使用

sudo apt-get install qemu-kvm libvirt-bin virtinst bridge-utils cpu-checker
Run Code Online (Sandbox Code Playgroud)

几天前,我想安装 Ubuntu GUI 并运行以下命令:

sudo apt-get install ubuntu-desktop
Run Code Online (Sandbox Code Playgroud)

关于 Ubuntu GUI 一切正常,但是,当我启动 Ubuntu 时,在主登录屏幕上有一个我的登录名,然后列出了一个“Libvirt Qemu”(以及“Guest Session”)。假设“Libvirt Qemu”是 KVM 安装的某种默认用户,我是否正确?它询问我该帐户的密码,但我不知道它是什么或如何弄清楚它可能是什么

Rar*_*tas 12

更新此解决方案适用于 LightDM(Ubuntu 16.04 LTS 的默认显示管理器),而不适用于 GDM(较新的 Ubuntu 版本中的默认显示管理器)。

这是一个错误

此处在 Ubuntu Launchpad 中描述和讨论了该错误。

解释

简而言之,Linux 中有四种用户:root(UID 0)、系统用户(低 UID)、普通用户(高 UID)和 nobody 用户(UID 65535,最后一个 UID)。

Ubuntu 登录屏幕使用名为Accountsservicelightdm组件)的服务,默认情况下,该服务在登录屏幕中显示所有常规用户。

但是,当前用于 Ubuntu 16.04 的 Libvirt/QEMU 包为用户使用高 UID libvirt-qemu。这似乎是一个错误(系统包通常会创建具有低 UID 的系统用户)。

解决方法

每个普通用户还可以为其登录过程设置自定义选项(登录屏幕的背景图像、桌面环境 - Gnome 或 KDE 等)。这些选项保存在/var/lib/AccountsService/users.

使用这些自定义选项,可以将普通用户标记为 Accountsservice 的系统用户。因此,Accountsservice 会认为它是系统用户,尽管它是 UID。

要对libvirt-qemu用户执行此操作:

echo -e "[User]\nSystemAccount=true" > /var/lib/AccountsService/users/libvirt-qemu
Run Code Online (Sandbox Code Playgroud)

在此之后,您应该重置 Accountsservice 缓存:

service accounts-daemon restart
Run Code Online (Sandbox Code Playgroud)

前面的命令应该以 root 身份运行。


小智 6

这似乎是一个错误,在将这些相同的包添加到新的 16.04.2 安装后,我看到了同样的事情。我相当确定“libvirt-qemu”应该是一个系统帐户,而不是一个用户帐户;它甚至不应该首先出现在登录屏幕上。

我的建议是忽略它,直到问题得到解决。不要尝试使用或删除该帐户,您可能会意外破坏某些内容。