web-dev-qa-db-ja.com

システムサウンドを別のコンピューターにパイプする

pC(Cent-OS 5.5)にスピーカーがありませんが、コンピューター(Cent-OS 5.5)の隣のコンピューターにステレオスピーカーが接続されています。両方のコンピューターがネットワーク化されています。システムサウンドをそのコンピュータースピーカーにパイプする方法はありますか?

4
Bijoy

PulseAudio ネットワーク経由で使用できます。

私は通常、Avahiを使用して自動検出を有効にすることをお勧めします(IPマルチキャストの致命的な恐れがない限り)–利点は両方のローカルを使用できることですおよびネットワーク化されたオーディオデバイス。1つの特定のサーバーをハードコーディングする必要はありません。これは@Bijoyの質問には当てはまりませんが、他の多くの読者にも当てはまる可能性があります。

ファイルパスに関する注

  • 新しいPulseAudioバージョン≥v2.99.1では、ユーザー設定は~/.config/Pulse/default.paに、認証Cookieは~/.config/Pulse/cookieに配置されます。

  • 古いバージョン≤v2.98は、それぞれ~/.Pulse/default.pa~/.Pulse-cookieを使用します。あなたがそのような古いバージョンを持っているならば、指示を読むときそれを覚えておいてください。

方法1、ローカルデバイスを含む任意の数のサーバーでAvahiを使用した自動検出:

  1. 両方のコンピューターで、Avahiデーモンを起動します。

  2. コンピューターBで、着信ネットワークアクセスを有効にします。

    • paprefs経由→ネットワークサーバーローカルデバイスへのネットワークアクセスを有効にする

    • または、~/.config/Pulse/default.paを編集して:

      .include /etc/Pulse/default.pa
      
      load-module module-native-protocol-tcp
      load-module module-zeroconf-publish
      

      pulseaudioを再起動して、構成を再読み取りすることを忘れないでください(または、pactl load-moduleを使用して両方のモジュールを手動でロードします)。

  3. コンピューターAで、検出を有効にします。

    • paprefs経由→ネットワークアクセス検出可能なPulseAudioデバイスを利用可能にする

    • または、~/.config/Pulse/default.paを編集して:

      .include /etc/Pulse/default.pa
      
      load-module module-zeroconf-discover
      

      pulseaudioを再起動して、構成を再読み取りすることを忘れないでください(または、pactl load-moduleを使用してモジュールを手動でロードします)。

  4. コンピューターAで、ローカルデバイスの横にBのサウンドデバイスが表示されます(例:pavucontrolまたはGNOMEのサウンド設定)。

方法2、1台のサーバーでの手動構成:

  1. コンピューターBで、着信ネットワークアクセスを有効にします。

    • paprefs経由→ネットワークサーバーローカルデバイスへのネットワークアクセスを有効にする

    • または、~/.config/Pulse/default.paを編集して:

      .include /etc/Pulse/default.pa
      
      load-module module-native-protocol-tcp
      

      pulseaudioを再起動して、構成を再読み取りすることを忘れないでください(または、pactl load-moduleを使用してモジュールを手動でロードします)。

  2. ~/.config/Pulse/cookieをコンピューターBからコンピューターAにコピーします。

  3. コンピューターAで、PulseAudioにリモートサーバーを使用するように指示します。

    • ~/.profileまたは同等の起動スクリプトを編集して以下を追加します。

      export Pulse_SERVER="tcp:computer-b-address"
      
      test "$DISPLAY" && pax11publish -e || true
      
    • ログアウトして再度ログインし、printenv Pulse_SERVERpax11publishの少なくとも1つがコンピューターBのアドレスを示していることを確認します。

  4. コンピューターAに、Bのサウンドデバイスが一覧表示されているはずです(たとえば、pavucontrolまたはGNOMEのサウンド設定にあります)。


PulseAudioをネイティブにサポートしていないプログラムに関する注:サポートしていないプログラムは、/etc/asound.confを介してPulseAudio-ALSA互換性レイヤーを使用するように構成できます。次の例は、Arch Linuxのpulseaudio-alsaパッケージから抜粋したものです。

pcm.!default {
  type Pulse
  fallback "sysdefault"
  hint {
    show on
    description "Default ALSA Output (currently PulseAudio Sound Server)"
  }
}
ctl.!default {
  type Pulse
  fallback "sysdefault"
}
7
user1686

さて...最初に頭に浮かんだのは、サウンドを可能にするバージョンのVNCでした。すべてのインストールが行うわけではありません。それで、私は VNC比較ページ をクランクアップしました。

それを見ると、Linuxで動作するだけでなく、サウンドをサポートするVNCベースのインストールがいくつかあります。だから、そこに、それは1つの方法です。コンピューターにサーバーをインストールし、スピーカーを備えたコンピューターにクライアントをインストールし、マルチユーザーセッションを有効にして、切断されないようにし、サウンドをそのコンピューターにパイプできるようにします。

それ以外の場合は、 ネットワークオーディオシステム 昨年の同様の質問から得た あるコンピューターから別のコンピューターのスピーカーを介してシステムサウンドを再生しますか? を試すことができます。

1
Bon Gart