pulseaudio 不工作:“主目录无法访问:权限被拒绝”

pulseaudio 不工作:“主目录无法访问:权限被拒绝”

我使用 Clementine,昨天它开始拒绝播放任何内容并显示“拒绝访问”警告框。Rhythmbox 也是如此。过了一会儿,我意识到我的声音指示也变灰了,声音设置中看不到声卡。

思考Pulseaudio 是罪魁祸首,但不能确定(见下面的输出)。我使用的是 13.04,出现了问题,但我不知道如何使用干净的配置重新启动它,或者我是否需要更改任何内容。

lionel@prime:~$ pulseaudio -vvvv
I: [pulseaudio] main.c: setrlimit(RLIMIT_NICE, (31, 31)) failed: Operation not permitted
I: [pulseaudio] main.c: setrlimit(RLIMIT_RTPRIO, (9, 9)) failed: Operation not permitted
D: [pulseaudio] core-rtclock.c: Timer slack is set to 50 us.
D: [pulseaudio] core-util.c: RealtimeKit worked.
I: [pulseaudio] core-util.c: Successfully gained nice level -11.
I: [pulseaudio] main.c: This is PulseAudio 3.0
D: [pulseaudio] main.c: Compilation host: x86_64-pc-linux-gnu
D: [pulseaudio] main.c: Compilation CFLAGS: -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall -W -Wextra -pipe -Wno-long-long -Wno-overlength-strings -Wunsafe-loop-optimizations -Wundef -Wformat=2 -Wlogical-op -Wsign-compare -Wformat-security -Wmissing-include-dirs -Wformat-nonliteral -Wpointer-arith -Winit-self -Wdeclaration-after-statement -Wfloat-equal -Wmissing-prototypes -Wredundant-decls -Wmissing-declarations -Wmissing-noreturn -Wshadow -Wendif-labels -Wcast-align -Wstrict-aliasing -Wwrite-strings -Wno-unused-parameter -ffast-math -Wp,-D_FORTIFY_SOURCE=2 -fno-common -fdiagnostics-show-option
D: [pulseaudio] main.c: Running on host: Linux x86_64 3.8.0-29-generic #42-Ubuntu SMP Tue Aug 13 19:40:39 UTC 2013
D: [pulseaudio] main.c: Found 8 CPUs.
I: [pulseaudio] main.c: Page size is 4096 bytes
D: [pulseaudio] main.c: Compiled with Valgrind support: no
D: [pulseaudio] main.c: Running in valgrind mode: no
D: [pulseaudio] main.c: Running in VM: no
D: [pulseaudio] main.c: Optimized build: yes
D: [pulseaudio] main.c: FASTPATH defined, only fast path asserts disabled.
I: [pulseaudio] main.c: Machine ID is 77bf4823eb9fbd64b69d605100000002.
I: [pulseaudio] main.c: Using runtime directory /run/user/lionel/pulse.
E: [pulseaudio] core-util.c: Home directory not accessible: Permission denied

ls -l /run/user/lionel/和的输出pulseaudio --dump-conf

lionel@prime:~$ ls -l /run/user/lionel/
total 0
drwx------ 2 lionel lionel  60 août  28 15:15 dconf
dr-x------ 2 lionel lionel   0 août  28 12:30 gvfs
drwx------ 2 lionel lionel  40 août  28 12:30 gvfs-burn
drwx------ 2 lionel lionel 120 août  28 12:30 keyring-iiUWPh
drwx------ 2 lionel lionel  40 août  28 15:11 pulse
lionel@prime:~$ pulseaudio --dump-conf
### Read from configuration file: /etc/pulse/daemon.conf ###
daemonize = no
fail = yes
high-priority = yes
nice-level = -11
realtime-scheduling = yes
realtime-priority = 5
allow-module-loading = yes
allow-exit = yes
use-pid-file = yes
system-instance = no
local-server-type = user
cpu-limit = no
enable-shm = yes
flat-volumes = no
lock-memory = no
exit-idle-time = 20
scache-idle-time = 20
dl-search-path = /usr/lib/pulse-3.0/modules
default-script-file = /etc/pulse/default.pa
load-default-script-file = yes
log-target = auto
log-level = notice
resample-method = speex-float-1
enable-remixing = yes
enable-lfe-remixing = no
default-sample-format = s16le
default-sample-rate = 44100
alternate-sample-rate = 48000
default-sample-channels = 2
default-channel-map = front-left,front-right
default-fragments = 8
default-fragment-size-msec = 10
enable-deferred-volume = yes
deferred-volume-safety-margin-usec = 1
deferred-volume-extra-delay-usec = 0
shm-size-bytes = 0
log-meta = no
log-time = no
log-backtrace = 0
rlimit-fsize = -1
rlimit-data = -1
rlimit-stack = -1
rlimit-core = -1
rlimit-rss = -1
rlimit-as = -1
rlimit-nproc = -1
rlimit-nofile = 256
rlimit-memlock = -1
rlimit-locks = -1
rlimit-sigpending = -1
rlimit-msgqueue = -1
rlimit-nice = 31
rlimit-rtprio = 9
rlimit-rttime = 1000000

答案1

好的,我最终明白了。

这是我的主文件夹和 pulseaudio 的权限问题。

运行以下命令来修复$HOME当前的目录权限$USER

sudo chown -R $USER:$USER $HOME/

我用了http://www.linuxquestions.org/questions/linux-software-2/problem-with-pulse-audio-834041/http://ubuntuforums.org/showthread.php?p=6208727作为来源。

对我来说,解决方案是使用以下命令修复权限:sudo chown -R lionel:lionel /home/lionel然后使用pavucontrol取消静音输出。

侏儒指示器仍然是灰色的,但音乐又回来了,这是一件好事。

答案2

(我只是想稍微改进一下标记的答案,但我觉得在简单的评论中改进了一点。我认为至少对下一个人有用。如果版主不同意,这个答案可以降级为对所选答案的评论,如果更合适的话。)

参考帕武控制相当神秘,这个回复对我来说用处不大,但它确实给我提供了一个解决方案。

我没有遇到这里主要关注的任何许可和所有权问题。帕武控制,我必须为此目的安装,它允许我在播放选项卡上从“高清音频控制器数字立体声(HDMI)”更改为“内置音频模拟立体声”,并且我的音频又开始像以前一样工作了

我仍然不知道我的 ThinkPad(运行 Mint 13,基本上是 Ubuntu 12.04 LTS)为何会进入这种无法工作的状态,但这就是我能够让音频(特别是使用 Pulse 的 Audacious Player)工作的方法。希望这对您有所帮助。

答案3

和楼主有同样的问题,但无法更改 $HOME 的权限,我找到了另一种启动 pulseaudio 的方法:使用不同的 $HOME 明确启动 pulseaudion,例如

> HOME=/tmp/$USER pulseaudio --start

现在它为我运行该程序。确保/tmp/$USER存在。

韋斯

答案4

我没有足够的声望来评论并感谢@Wanderer,但他的破解对我来说非常有效。永远不要让消极情绪阻止你!

HOME=/tmp/$USER pulseaudio --start

是的,最好了解权限错误在哪里,但我在过去一个小时里重做了所有权限,但无济于事。我在另一个分区上将用户目录符号链接,我更改了链接、物理位置和主目录的权限,但无济于事。我只想在完成设置我的 Window 10 VDI 的同时听听 Pandora!这样我就可以完成让 GCP 在 Kubuntu 上运行。如果没有其他信息,知道这个 hack 有效,对故障排除很有帮助!

即使登录后,我仍然无法运行它,并且会出现相同的错误:

systemctl --user start pulseaudio.service

Feb 14 18:56:40 pc pulseaudio[5435]: E: [pulseaudio] core-util.c: Home directory not accessible: Permission denied

但是作为基本用户,我可以毫无问题地移动到主目录。我已经看到其他系统进程解析到 /media/username/partition/home/username 的链接,因此可能是 pulseaudio 服务无法通过该迷宫。

相关内容