以root身份运行pulseaudio

Har*_*ris -1 users root pulseaudio

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

user1:x:00:00:user1,,,:/home/user1:/bin/bash
Run Code Online (Sandbox Code Playgroud)

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

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

当我输入命令时

 /usr/bin/pulseaudio --start
Run Code Online (Sandbox Code Playgroud)

给我输出

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
Run Code Online (Sandbox Code Playgroud)

编辑

问题的解决方法:

我通过禁用对pulseaudio均衡器的根检查来解决这个问题

sed -i 's/exit 1/#exit1/g' /usr/bin/pulseaudio-equalizer 
Run Code Online (Sandbox Code Playgroud)

Gil*_*il' 5

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

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

您需要修复条目/etc/passwduser1返回其用户 ID。然后将 user1 主目录中所有文件的所有权改回:

find /home/user1 ! -type l -uid 0 -exec chown user1 {} +
Run Code Online (Sandbox Code Playgroud)

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