pulseaudio 以 root 身份运行

pulseaudio 以 root 身份运行

我的PC上安装了Ubuntu 12.04,最近我进行了编辑/etc/passwd 和更改

user1:x:00:00:user1,,,:/home/user1:/bin/bash

给user1授予root权限,系统始终需要以root身份登录,才能运行一些自定义软件。

现在似乎声音不起作用,音量图标被禁用。我知道pulseaudio恶魔不能以 root 身份运行,这就是音频无法工作的原因。我该如何解决它,比如设置pulseaudio的权限以root身份运行。

当我输入命令时

 /usr/bin/pulseaudio --start

给我输出

W: [pulseaudio] main.c: This program is not intended to be run as root (unless --system is specified).
E: [autospawn] core-util.c: Home directory /home/user1 not ours.
W: [autospawn] lock-autospawn.c: Cannot access autospawn lock.
E: [pulseaudio] main.c: Failed to acquire autospawn lock

编辑

问题的解决方案:

我通过禁用脉冲音频均衡器的根检查解决了这个问题

sed -i 's/exit 1/#exit1/g' /usr/bin/pulseaudio-equalizer 

答案1

“授予 user1 root 权限”并不精确。您实际上所做的是user1为 root 用户创建一个别名。决定用户身份的是用户 ID,而不是名称。该名称就是您登录时键入的内容(这也决定了您获得的 shell 以及您所在的组,仅此而已)。现在“由于某种原因系统总是以 root 身份登录”——嗯,是的,原因是你以 root 身份登录。

有些程序不希望以 root 身份运行,因此无法正常工作。

您需要修复该条目/etc/passwd才能user1归还其用户 ID。然后将 user1 的主目录中所有文件的所有权更改回:

find /home/user1 ! -type l -uid 0 -exec chown user1 {} +

然后注销并重新登录,您的系统应该会再次运行。当前问题的一些不良副作用可能仍然存在;如果您不确切知道自己在做什么,则在更改文件的权限和所有权时要小心。如有疑问,请在此询问。

相关内容