Debian Jessie(8.3)を次のpulseaudio
パッケージで実行しています。私が知る限り、すべてのサウンド関連のもの(pulseaudio
を含む)はデフォルトのJessieパッケージに対応しています。何もカスタマイズしていません。また、systemd
について何もしたことがありません。
dpkg -l | grep pulseaudio
ii gstreamer1.0-pulseaudio:AMD64 1.4.4-2 AMD64 GStreamer plugin for PulseAudio
ii pulseaudio 5.0-13 AMD64 PulseAudio sound server
ii pulseaudio-esound-compat 5.0-13 AMD64 PulseAudio ESD compatibility layer
ii pulseaudio-module-gconf 5.0-13 AMD64 GConf module for PulseAudio sound server
ii pulseaudio-module-x11 5.0-13 AMD64 X11 module for PulseAudio sound server
ii pulseaudio-utils 5.0-13 AMD64 Command line tools for the PulseAudio sound server
古いSound Blaster Liveを交換しました!新しいAsus Xonar DXカードが付いたカード。サウンドは機能しますが、マイクは機能しません。さらに、pulseaudioに問題があります。 (少なくとも部分的に)pulseaudioの問題はカードの交換の前に発生しますが、マイクの問題を解明する前に、まずそれらを解決する必要があると思います。したがって、この質問はPulseaudioの問題に関するものです。
新しいサウンドカードの再インストール後、今日再起動するまで、少なくともpavucontrol
はしばらくの間エラーが発生していましたが、少なくともpacmd
は機能していました。
これは、ある種の許可の問題であるように思われますが、私にはわかりません。 pulseaudio
とPulse-connect
の両方のグループにユーザーを追加する以外は、Pulse
やその他のサウンドに関連する手動の変更は行っていません。私はそれが何かの違いを生むとは思わなかったし、何も気づかなかった。
ルートとユーザーの両方として、問題を説明するために、以下のさまざまなコマンドからの出力を追加しています。 $
が前に付いているコマンドは、ユーザーが実行するコマンドを表し、#
が前に付いているコマンドは、標準規則に従ってルートによって実行されるコマンドを表します。
$ pulseaudio -vv
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 5.0
D: [pulseaudio] main.c: Compilation Host: x86_64-pc-linux-gnu
D: [pulseaudio] main.c: Compilation CFLAGS: -g -O2 -fstack-protector-strong -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 -fno-common -fdiagnostics-show-option
D: [pulseaudio] main.c: Running on Host: Linux x86_64 3.16.0-4-AMD64 #1 SMP Debian 3.16.7-ckt20-1+deb8u3 (2016-01-17)
D: [pulseaudio] main.c: Found 6 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 501a8b6f724c87677a6f6bb351f93f66.
I: [pulseaudio] main.c: Session ID is 55.
E: [pulseaudio] core-util.c: Failed to create secure directory (/run/user/1000/Pulse): Permission denied
このコマンドのルートとしての出力は同じでした。
$ pacmd
Failed to create secure directory (/run/user/1000/Pulse): Permission denied
No PulseAudio daemon running, or not running as session daemon
# pacmd
Daemon not responding.
Pavucontrolが与える(最初に、ターミナルで)
$ pavucontrol
Failed to create secure directory (/run/user/1000/Pulse): Permission denied
Failed to create secure directory (/run/user/1000/Pulse): Permission denied
そして、次のボックスがポップアップします。 (このグラフィックは、terdon からスワイプされました)PulseaudioがArchで壊れました:pa_stream_writable_size()が失敗しました:接続が終了しました 、それは私が見るものとまったく同じです。)
ルート上
# pavucontrol
[A popup box appears with]
Establishing connection to PulseAudio. Please wait.
find
は、~/.config
ディレクトリで「ulse」のヒットを検出しません。
~/.config$ find . -name '*ulse*'
何も返しません。
Pulseaudio
は実行中のようです
# ps aux | grep Pulse
faheem 5057 0.1 0.0 376208 10432 ? S<l 13:54 0:35 /usr/bin/pulseaudio --start --log-target=syslog
faheem 5065 0.0 0.0 122904 5164 ? S 13:54 0:00 /usr/lib/pulseaudio/Pulse/gconf-helper
systemd
も同様です。
# ps aux | grep systemd
root 273 0.0 0.0 33092 6864 ? Ss 13:50 0:00 /lib/systemd/systemd-journald
root 290 0.0 0.0 41644 3864 ? Ss 13:50 0:00 /lib/systemd/systemd-udevd
root 1067 0.0 0.0 28268 2968 ? Ss 13:50 0:00 /lib/systemd/systemd-logind
message+ 1100 0.0 0.0 43160 4432 ? Ss 13:50 0:00 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation
faheem 4435 0.0 0.0 36432 4544 ? Ss 13:51 0:00 /lib/systemd/systemd --user
/run/user/1000/Pulse
内のファイルの権限は次のとおりです。
/run/user/1000/Pulse# ls -laR
.:
total 4
drwx------ 2 root root 80 Feb 22 13:54 .
drwx------ 6 faheem faheem 120 Feb 22 13:54 ..
srwxrwxrwx 1 faheem faheem 0 Feb 22 13:54 native
-rw------- 1 faheem faheem 5 Feb 22 13:54 pid
この問題は、ルートとしてPulseaudio
コマンドを実行したことが原因で発生したようです。これにより、/run/user/1000/Pulse
の権限が変更されたようです。再起動すると問題が修正されました。
これらは今
$ ls -lah /run/user/1000/Pulse/
total 4.0K
drwx------ 2 faheem faheem 100 Feb 22 21:50 .
drwx------ 6 faheem faheem 120 Feb 22 21:41 ..
srwxrwxrwx 1 faheem faheem 0 Feb 22 21:50 cli
srwxrwxrwx 1 faheem faheem 0 Feb 22 21:41 native
-rw------- 1 faheem faheem 5 Feb 22 21:41 pid
私の質問に表示される結果との違いに注意してください:
/run/user/1000/Pulse# ls -laR
.:
total 4
drwx------ 2 root root 80 Feb 22 13:54 .
drwx------ 6 faheem faheem 120 Feb 22 13:54 ..
srwxrwxrwx 1 faheem faheem 0 Feb 22 13:54 native
-rw------- 1 faheem faheem 5 Feb 22 13:54 pid
つまり/run/user/1000/Pulse
はrootが所有しています。
しかし、これが簡単に壊れると、非常に壊れやすくなります。