Vine Linux バグトラッキングシステム - Vine Linux
課題の詳細を表示
0000502Vine Linux1 バグ公開2007-03-21 09:102007-11-20 22:26
anonymous 
packager 
不明 
完了不明 
4.0 
 
x86
kdm(plus/kdebase)
0000502: サウンドデバイスにアクセス権がない
VineLinux 4.xにおいて/usr/sbin/alsaconfを実行すると、/dev/dsp等サウンドデバイスファイルが

 # ls -l /dev/dsp
 crw------- 1 root root 14, 3 Mar 21 2007 /dev/dsp

となり、一般ユーザでサウンドの再生が出来ません。

 # chmod 666 /dev/{dsp*,audio*,midi*,mixer*,sequencer*,sound/*,snd/*,beep,admm*,adsp*,aload*,amidi*,dmfm*,dmmidi*,sndstat}

とすると、一般ユーザでも再生できるようになります。

/etc/udev/rules.d/50-udev.rulesにはこれらのファイルをMODE="0666"にするように指定されているようですが、どうすれば50-udev.rulesを適用できるのかわかりませんでした。
設定されていません。
課題の履歴
2007-03-21 09:10anonymous新規課題
2007-03-21 14:42anonymousコメント追加: 0002500
2007-03-21 17:30anonymousパッケージalsa-utils => alsa-utils, kdm(plus/kdebase)
2007-03-21 17:30anonymousコメント追加: 0002501
2007-03-21 20:48anonymousコメント追加: 0002502
2007-03-21 23:43anonymousコメント追加: 0002503
2007-03-22 22:20anonymousコメント追加: 0002504
2007-03-22 22:40anonymousコメント追加: 0002505
2007-03-22 23:16anonymousパッケージalsa-utils, kdm(plus/kdebase) => kdm(plus/kdebase)
2007-03-22 23:16anonymousコメント追加: 0002506
2007-07-04 23:06kazutaka担当者 => packager
2007-07-04 23:06kazutaka状態新規 => テスト待ち
2007-07-04 23:06kazutakaコメント追加: 0002507
2007-11-20 22:26kazutaka状態テスト待ち => 完了
2007-11-20 22:26kazutakaコメント追加: 0002508

コメント
(0002500)
anonymous   
2007-03-21 14:42   
> # ls -l /dev/dsp
> crw------- 1 root root 14, 3 Mar 21 2007 /dev/dsp
>
> となり、一般ユーザでサウンドの再生が出来ません。
>

> /etc/udev/rules.d/50-udev.rulesにはこれらのファイルをMODE="0666"にするよ
> うに指定されているようですが、どうすれば50-udev.rulesを適用できるのかわか
> りませんでした。

通りすがりのhatyaと言います。

2.6系のカーネルが起動されていないような気がします。
マシンを立ち上げ直すと、うまくいったりしませんか?
(0002501)
anonymous   
2007-03-21 17:30   
> 2.6系のカーネルが起動されていないような気がします。
> マシンを立ち上げ直すと、うまくいったりしませんか?

 # uname -srv
 Linux 2.6.16-0vl68 0000001 SMP Thu Jan 18 10:46:40 JST 2007

いろいろ試してみて気づいたのですが、kdmやssh以外でログインした場合は所有者が書き換わるようですね。
kdmからログインすると強制的に600 root,rootに書き換わるようです。
gdm,xdmからログインした場合や、コンソールログインからstartxした場合は、600 <user>,rootに書き換わるので問題なく再生できるようです。
(0002502)
anonymous   
2007-03-21 20:48   
> kdmからログインすると強制的に600 root,rootに書き換わるようです。
> gdm,xdmからログインした場合や、コンソールログインからstartxした場合は、
> 600 <user>,rootに書き換わるので問題なく再生できるようです。

デバイスファイルの所有者が変更されるのは、udevとpamの設定だと思うので
ディスプレイ・マネージャーが関係しているのは考えにくいと思います。

ためしにkdmを使って、GNOME, KDE, icewmを起動してみましたが、
すべての環境で、

 ls -l /dev/dsp*
 crw------- 1 XXXXXX root 14, 3 3月22日 2007 /dev/dsp
 crw------- 1 XXXXXX root 14, 19 3月22日 2007 /dev/dsp1

こんな感じでした。

こんな時の月並な発言で恐縮なんですが、もし新規のユーザーじゃないのでしたら、
新規のユーザーを作ってログインすると、どうなるでしょうか?
(0002503)
anonymous   
2007-03-21 23:43   
> こんな時の月並な発言で恐縮なんですが、もし新規のユーザーじゃないのでした
> ら、
> 新規のユーザーを作ってログインすると、どうなるでしょうか?

一度rootでコンソールにログイン -> 600 root,root
useradd newuser、/etc/sysconfig/dmtype書き換え
ログアウトしてnewuserでコンソールにログイン -> 600 newuser,root
rootでコンソールにログインしなおして init 5; logout -> 600 root,root
gdmからnewuserでGNOMEにログイン -> 600 newuser,root
ログアウトしてgdmからrootでGNOMEにログイン -> 600 root,root
ログアウトしてgdmからnewuserでKDEにログイン -> 600 newuser,root
ログアウトしてgdmからrootでKDEにログイン -> 600 root,root
init 1、/etc/sysconfig/dmtypeを書き換えてから init 5
kdmからnewuserでKDEにログイン -> 600 root,root
(su) chown newuser /dev/dsp -> 600 newuser,root
ログアウトしてkdmからolduserでKDEにログイン -> 600 newuser,root
ログアウトしてkdmからolduserでGNOMEにログイン -> 600 newuser,root
init 1 -> 600 newuser,root
/etc/sysconfig/dmtypeを書き換えて init 5
gdmからolduserでKDEにログイン -> 600 olduser,root
init 1、 /etc/sysconfig/dmtype書き換え、init 5
kdmからnewuserでGNOMEにログイン -> 600 root,root
(su) chown olduser /dev/dsp -> 600 olduser,root
ログアウトしてkdmからnewuserでGNOMEにログイン -> 600 olduser,root
init 3 してolduserでコンソールにログイン -> 600 olduser,root
init 5 してkdmからolduserでKDEにログイン -> 600 root,root

まとめると、
gdmからログイン -> 所有者が正しく設定される
コンソールからログイン -> 所有者が正しく設定される
init 1 -> 所有者の変更はない
kdmからログイン -> 所有者は変更されないか、rootになる

ということらしいです。

また、手動でパーミションを変えた後Noatunを使う場合はKDEのサウンドサービスを再起動する必要があるようです。XMMSの場合は必要ありません。
(0002504)
anonymous   
2007-03-22 22:20   
> gdmからログイン -> 所有者が正しく設定される
> コンソールからログイン -> 所有者が正しく設定される
> init 1 -> 所有者の変更はない
> kdmからログイン -> 所有者は変更されないか、rootになる
>
> ということらしいです。
>

原因がわかりました。kdmのログイン認証に使われる/etc/pam.d/kdeの
設定の不具合?です。

 ...
 session required /lib/security/pam_pwdb.so
 session sufficient /lib/security/pam_ldap.so ← 下の行を実行するため削除
 session optional /lib/security/pam_console.so ← 実行されないと不具合

上のような記述がありますが、pam_ldap.soの行があって、
nss_ldapパッケージがインストールされていると、
次の行が実行されません。
そのためデバイスファイルの所有者の変更がされないので、
音が鳴らないなどのトラブルになります。
これは<BTS:306>「kdmログイン時のサウンドがらみのトラブル」と同じ現象です。

 session sufficient /lib/security/pam_ldap.so
の行を削除してください。

nss_ldapパッケージをインストールしていない場合は、
/lib/security/pam_ldap.soが無いので、次の行が実行されますが、
/var/log/secureに、

 Mar 21 22:59:57 XXXXXX kdm: :0[1872]: PAM [error: /lib/security/pam_ldap.so: cannot open shared object file: No su
ch file or directory]

というエラーが吐き出されます。

投稿者の方と私の環境の違いは、nss_ldapパッケージがインストールされていたか、
いなかったのか、ということだと思います。


ついでにkdmがらみのトラブルの対処方法を書きます。

 * <BTS:283>「ディスプレイマネージャに kdm を使用すると SCIM 起動せず」
/usr/share/config/kdm/kdmrc(/etc/kde/kdm/kdmrc)に、

 Session=/usr/share/config/kdm/Xsession

という行がありますが、ここを

 Session=/etc/X11/xdm/Xsession

に打ち変えてください。
setimeの設定は、/etc/X11/xinit/xinitrc.d以下のスクリプトによって
反映されますが、もとのXsessionではスクリプトが実行されません。

 * <BTS:388>「KDEで自動マウントができない」
/etc/pam.d/kde-npが無いためです。
「ログインマネージャ」の「自動ログインを有効にする」を設定したら、
rootになって、

 cp /etc/pam.d/gdm-autologin /etc/pam.d/kde-np

を実行してください。

以上です。またGNOMEに戻らせてもらいます^^;
(0002505)
anonymous   
2007-03-22 22:40   
> * <BTS:388>「KDEで自動マウントができない」
> /etc/pam.d/kde-npが無いためです。
> 「ログインマネージャ」の「自動ログインを有効にする」を設定したら、
> rootになって、
>
> cp /etc/pam.d/gdm-autologin /etc/pam.d/kde-np
>
> を実行してください。
>

すいません、寝ぼけていたんで自動マウントと自動ログインを
間違えました。忘れてください^^;
ちょっと早いですが、もう寝ますm(_ _)m
(0002506)
anonymous   
2007-03-22 23:16   
元投稿者です。
/etc/pam.d/kdeの書き換えでサウンドデバイスの所有権を正しく取得できることと、
/etc/kde/kdm/kdmrcの書き換えでSCIMが動くようになることを確認しました。

ただし、kdmは.wm_styleを/usr/bin/startkdeとしてKDEを起動させようとするため、
/etc/X11/xinit/Xclientsのcaseに/usr/bin/startkdeを追加して対処しました。

回答ありがとうございました。

# VineでKDE使うってのはやっぱり異端なのかなぁ・・・(- -;;
(0002507)
kazutaka   
2007-07-04 23:06   
kdebase-3.5.7 で対応していただけたようです。

手元の VirtualBox 上の 4.1 環境でも確認しましたが、
念のため他の方の環境でも確認をお願いします。

状態を確認待ちに変更します。

ハラダ
(0002508)
kazutaka   
2007-11-20 22:26   
> 手元の VirtualBox 上の 4.1 環境でも確認しましたが、
> 念のため他の方の環境でも確認をお願いします。

他に不具合の話も出てこないので、これで完了にします。

ハラダ