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

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

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

答え1

パルスオーディオネットワーク経由で使用できます。

私は通常、Avahiを使用して自動検出を有効にすることを提案します(IP マルチキャストに対して致命的な恐怖を持っていない限り)– 利点は、ローカルとそして特定のサーバーをハードコードする代わりに、ネットワーク オーディオ デバイスを使用することができます。これは @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
      
    • ログアウトして再度ログインし、少なくとも1つ printenv PULSE_SERVERpax11publishコンピュータ B のアドレスが表示されます。

  4. コンピュータ A に、B のサウンド デバイスがリストされるはずです (たとえば、pavucontrolまたは GNOME のサウンド設定内)。


注記PulseAudioをネイティブにサポートしていないプログラムについて: PulseAudioをサポートしていないプログラムは、 を介してPulseAudio-ALSA互換レイヤーを使用するように設定できます/etc/asound.conf。次の例は、パルスオーディオALSAArch Linux のパッケージ:

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

答え2

そうですね...最初に思いついたのは、サウンドが使えるVNCのバージョンでした。すべてのインストールで使えるわけではありません。そこで、VNC比較ページ

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

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

答え3

音楽コレクション全体を samba 共有に設定し、2 台目のマシンで選択したプレーヤーを使用してアクセスする方がよいと思います。VNC よりもうまく機能するはずです (VNC サウンドはステレオではないと思います)

関連情報