Ubuntu サーバーに VNC するとサーバーのサウンド カードにアクセスできない

Ubuntu サーバーに VNC するとサーバーのサウンド カードにアクセスできない

私は、Windows 7 ラップトップからリモートで制御できるように、xfce、nxserver、そして tightvncserver を使用して ubunutu 10 サーバーをセットアップしました。NX はリモート アクセスに問題なく動作しますが、(たとえば) exaile を実行すると、サーバーのサウンド カードからサウンドが送信されません。tightvncserver をインストールして接続しましたが、同じ問題が発生しました。exaile が開き、サウンドはミュートされず、サウンド カードがインストールされていることがわかります (経由cat /proc/asound/cards) が、リモート セッションでサーバーのサウンド カードにアクセスできないようです。

また、サウンド カードが動作していることを確認するために、モニター/キーボードをサーバーに接続し、ローカルの xfce セッションを開きました。これは問題なく動作しました。ローカル セッションを実行しながら、NXClient でリモート セッションを開き、exaile を起動することもできました。これにより、サウンドがローカル カードに正常にパイプされました。ただし、モニター/キーボードを取り外し、ボックスを通常の場所に戻した後、NX セッションでも VNC セッションでもサウンドを再生できませんでした。

誰か何か提案はありますか? リモート セッションを設定して、サウンドをサーバーのサウンド カードにパイプすることは可能ですよね? または、少なくともモニターやキーボードなしで xfce を起動して実行し、サウンド カードにアクセスして VNC で接続することはできますか?

ありがとう!

答え1

Ubuntuでは、コンソールキットデバイスの権限などを管理します。現在アクティブな (フォアグラウンド) セッションの所有者がデバイス ノードの ACL に追加されます/devgetfacl /dev/audioローカル セッションで実行すると、ユーザー名が表示されます。

ただし、これはまだ SSH では機能しません。SSHck-launch-session接続で試してみましたが、ConsoleKit はセッションを「アクティブ」としてマークしませんでした。[ConsoleKit TODO] ファイルには、次の内容がまだリストされています。

  • openssh レポート セッションを正しく作成する
    PAM モジュールを使用するだけほど簡単ではありません。

私はVNCサーバーをインストールしていないのでテストできませんでしたが、VNCセッションの起動スクリプトを編集すると(VNCするセッション起動スクリプトを実行するck-launch-session xfce4-session代わりに、xfce4-session できた仕事。

ck-list-sessionsとしてマークされているかどうかを確認するには、を使用しますactive = TRUE


権限を割り当てる従来の方法は、audio内のすべてのオーディオ デバイス ノードを所有するグループに自分自身を追加することでした/dev。 を使用しますsudo gpasswd -a $USER audio(現在開いているセッションには影響しないことに注意してください)。

関連情報