SSH接続を介してLinuxサーバーからローカルのWindowsノートブックに.wavサウンドを転送したいと思います。私はX11転送をオンにしてMobaXTerm経由でSSH経由で接続しています。
目標は、Linuxボックスで実行されているプログラムのサウンドをローカルスピーカーに出力することです。今はサウンドを直接再生するだけで十分です。
$ papplay sound.wavではエラーは発生しません。
Pulseはpaprefsを使用してローカルの話者を見つけるように設定されていますが...そうではありません。
ディレクトリをインストールした後にWindowsのデフォルトプレーヤーを使用して再生すると、wavファイルをローカルコンピュータで正常に再生できます。
オーディオ配信をサポートするMobaXTerm用のプラグインはありますか?現在機能しているが完全には実装されていないソリューションを修正するために、Windowsコンピュータから配信されたサウンドをどのようにキャプチャしますか?
答え1
SSH自体にはグラフィックスやサウンド配信機能はありません。 X11プロトコルはネットワークをサポートし、GUIアプリケーションをネットワーク経由で非常に簡単に配信できます。 SSHがすべきことは、ネットワーク接続を転送することだけです。アプリケーションディスプレイにはSSHクライアントに加えてX11サーバーが必要です。MobaXtermにはターミナルエミュレータとX11サーバーも含まれています。
サウンドはこのようには機能しませんが、サウンドサーバーを使用するとこのように機能させることができます。http://en.wikipedia.org/wiki/Sound_server)。これは、サウンド生成アプリケーションにネットワークプロトコルを使用するように指示し、SSHにネットワーク接続を転送するように指示し、アプリケーションにクライアントネットワーク接続を介して受信したサウンドを再生させることを意味します。 MobaXtermにはサウンド再生部分は含まれておらず、Windows自体にも(もちろんありません)含まれていないため、インストールする必要があります。
paplay
そしてパルスオーディオサウンドサーバーでは、SSHを介して接続を転送できます。リモートコンピュータで次を実行します。
pacmd load-module module-native-protocol-tcp
(すでにシステム全体で有効になっている可能性があります。)paprefsを介してこれを行うこともできます。これで、ディストリビューションに応じて~/.pulse-cookie
名前またはファイルが存在するはずです。~/.config/pulse/cookie
ファイルをWindowsコンピュータにコピーします。
SSHを介して接続し、ポートをサーバーのポート4713(4714など)に転送します。 (両側で4713を選択できます。サーバー側では、PulseAudioがリッスンするポートである必要があり、デフォルトでは4713です。)(OpenSSHコマンドラインを使用してこれを実行しますssh -L 4714:localhost:4713
)。
Windowsでは、インストールパルスオーディオポート。私はそれらを使ったことがないので、それがどのように機能するのかわかりません。 Cookieファイルと転送された接続(ポート4714)を指す必要があります。
また、見ることができます公式説明(あまり役に立ちません)スーパーユーザーに対する重力の投稿また、SSHを使用せずにPulseAudio接続を送信する方法についても説明します(これは待ち時間が短いことを意味しますが、安全ではなく、ファイアウォールによってブロックされる可能性があります)。
私の言葉は、それが使用する最初のプロトコルはネットワーク通信プロトコルであるということです。