昨日、Arch Linuxではオーディオが正常に動作しましたが、ある時点で再び動作が停止しました。
$ alsamixer
cannot open mixer: No such file or directory
$ vlc foo.mp4
...
[0x7f1388006be8] alsa audio output error: cannot open ALSA device "default": No such file or directory
alsamixer
うまく動作するのにroot
、権限問題のようです。すべてのオーディオ機器は次のものですroot:audio
。
$ ls -l /dev/snd
total 0
drwxr-xr-x 2 root root 80 Aug 6 22:54 by-path
crw-rw---- 1 root audio 116, 7 Aug 6 22:54 controlC0
crw-rw---- 1 root audio 116, 10 Aug 6 22:54 controlC1
crw-rw---- 1 root audio 116, 6 Aug 6 22:54 hwC0D0
crw-rw---- 1 root audio 116, 9 Aug 6 22:54 hwC1D0
crw-rw---- 1 root audio 116, 5 Aug 6 22:54 pcmC0D0c
crw-rw---- 1 root audio 116, 4 Aug 6 22:54 pcmC0D0p
crw-rw---- 1 root audio 116, 3 Aug 6 22:54 pcmC0D1p
crw-rw---- 1 root audio 116, 2 Aug 6 22:54 pcmC0D2c
crw-rw---- 1 root audio 116, 8 Aug 6 22:54 pcmC1D3p
crw-rw---- 1 root audio 116, 1 Aug 6 22:54 seq
crw-rw---- 1 root audio 116, 33 Aug 6 22:54 timer
$ getfacl /dev/snd/*
getfacl: Removing leading '/' from absolute path names
# file: dev/snd/by-path
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
# file: dev/snd/controlC0
# owner: root
# group: audio
user::rw-
group::rw-
other::---
# file: dev/snd/controlC1
# owner: root
# group: audio
user::rw-
group::rw-
other::---
# file: dev/snd/hwC0D0
# owner: root
# group: audio
user::rw-
group::rw-
other::---
# file: dev/snd/hwC1D0
# owner: root
# group: audio
user::rw-
group::rw-
other::---
# file: dev/snd/pcmC0D0c
# owner: root
# group: audio
user::rw-
group::rw-
other::---
# file: dev/snd/pcmC0D0p
# owner: root
# group: audio
user::rw-
group::rw-
other::---
# file: dev/snd/pcmC0D1p
# owner: root
# group: audio
user::rw-
group::rw-
other::---
# file: dev/snd/pcmC0D2c
# owner: root
# group: audio
user::rw-
group::rw-
other::---
# file: dev/snd/pcmC1D3p
# owner: root
# group: audio
user::rw-
group::rw-
other::---
# file: dev/snd/seq
# owner: root
# group: audio
user::rw-
group::rw-
other::---
# file: dev/snd/timer
# owner: root
# group: audio
user::rw-
group::rw-
other::---
はいいいえaudio
グループの推薦に基づいてALSAトレーニング:
$ groups
wheel users
ㅏ議論する私に一つを指した説明するこのグループを追加する必要がなく、時には有害な理由。そこから始めるユーザーグループ情報によると
標準デスクトップ権限(サウンド、3D、印刷、インストールなど)には、次のグループは必要ありません。
logind
セッションは中断されません。
指示に従ってくださいセッション権限のトラブルシューティング、ついに違いを見つけました。出力におよびをloginctl show-session $XDG_SESSION_ID
含める必要があると言いましたが、次のような結果が得られました。Remote=no
Active=yes
$ loginctl show-session $XDG_SESSION_ID
ControlGroupHierarchy=/user
ResetControllers=cpu
NAutoVTs=6
KillExcludeUsers=root
KillUserProcesses=no
IdleHint=yes
IdleSinceHint=0
IdleSinceHintMonotonic=0
InhibitDelayMaxUSec=5s
HandlePowerKey=poweroff
HandleSuspendKey=suspend
HandleHibernateKey=hibernate
HandleLidSwitch=suspend
IdleAction=ignore
IdleActionUSec=30min
PreparingForShutdown=no
PreparingForSleep=no
そこで私は次の情報を見つけました。セッションを維持、これは適用されないようです。/etc/X11/xinit/xserverrc
私はインストール後に修正されませんでした。
$ ls -l /etc/X11/xinit/xserverrc
-rw-r--r-- 1 root root 132 Oct 31 2012 /etc/X11/xinit/xserverrc
SLiMがうまく機能しているようです。
$ systemctl status slim.service
slim.service - SLiM Simple Login Manager
Loaded: loaded (/usr/lib/systemd/system/slim.service; enabled)
Active: active (running) since Sat 2013-08-10 00:00:39 CEST
Main PID: 258 (slim)
CGroup: name=systemd:/system/slim.service
├─ 258 /usr/bin/slim -nodaemon
├─ 292 /usr/bin/X -nolisten tcp vt07 -auth /var/run/slim.auth
├─ 416 /usr/bin/gnome-keyring-daemon --daemonize --login
├─ 418 awesome
├─ 423 /usr/bin/dbus-daemon --fork --print-pid 5 --print-address 7 --session
├─ 472 xscreensaver -no-splash
├─ 479 firefox
├─ 481 java -Xmx192M -jar /usr/share/java/jedit/jedit.jar -reuseview
├─ 483 pidgin
├─ 485 xterm
├─ 500 bash
├─ 581 /usr/lib/at-spi2-core/at-spi-bus-launcher
├─ 641 xterm
├─ 643 bash
├─1006 git gui
├─1007 wish /usr/lib/git-core/git-gui --
├─1367 dbus-launch --autolaunch e943bbb765d74fceb0393a55ceebfd1d --binary-syntax --close-stderr
├─1368 /usr/bin/dbus-daemon --fork --print-pid 5 --print-address 7 --session
├─1403 ekiga
├─1405 /usr/lib/GConf/gconfd-2
├─1476 thunar
├─1478 /usr/lib/xfce4/xfconf/xfconfd
└─1589 systemctl status slim.service
ログインセッションを変更して(おそらく)オーディオ権限を変更するにはどうすればよいですか?
答え1
問題はlogin_cmd
次のとおりです。@jasonwryanがヒントを与えた;GNOME > 2.30 構成の推奨事項に従って、[SLiM + GNOME Keyring][7] に従うのではなく、元の値を維持する必要があります。
$ grep login_cmd /etc/slim.conf
# login_cmd exec /bin/sh - ~/.xinitrc %session
# login_cmd exec /bin/bash -login ~/.xinitrc %session
login_cmd exec dbus-launch /bin/bash -login ~/.xinitrc %session >~/.xsession-errors 2>&1
これに戻った後はlogin_cmd exec /bin/bash -login ~/.xinitrc %session
、より合理的なセッション情報を得ることができます。
$ loginctl show-session $XDG_SESSION_ID
Id=c1
Timestamp=Fri 2013-08-09 22:30:28 CEST
TimestampMonotonic=11871667
DefaultControlGroup=systemd:/user/1000.user/c1.session
VTNr=7
Display=:0.0
Remote=no
RemoteUser=root
Service=slim
Leader=260
Audit=0
Type=x11
Class=user
Active=yes
State=active
KillProcesses=no
IdleHint=no
IdleSinceHint=0
IdleSinceHintMonotonic=0
Name=username
これは実際に主な問題を解決します。vlc
最初のHDA Intelオーディオデバイスを使用するように手動で設定すると、ビデオを再生できます。