ssh接続先から接続元Windowsで音を鳴らす

ALL
スポンサーリンク

WindowsからLinuxサーバにssh接続し、スクリプトを実行してその終了時に音を鳴らしたりする設定についてです。
なお、再生するのはwavファイルです。(mp3ファイルは再生はできるのですがノイズがひどいです)

以前、下記記事でLinuxのサウンドをリモートのWindowsマシンで鳴らす方法を説明しましたが、同じネットワーク内でしか鳴らすことができませんでした。
今回はssh接続でのリモートポートフォワーディングを利用することにより、遠隔地のサーバから音を鳴らすことができます。

LinuxのサウンドをリモートのWindowsマシンで鳴らす | パソコン鳥のブログ

スポンサーリンク

準備

ssh接続元のWindowsでの作業

LinuxのサウンドをリモートのWindowsマシンで鳴らす | パソコン鳥のブログ
の 「Windows側での作業」の [PulseAudio ダウンロード] と [PulseAudio の設定] を実施します。
[ファイアウォールの設定] での作業は不要です。
[PulseAudio の実行] はこの後の手順で実行します。

ssh接続先Linuxでの作業

pulseaudioパッケージをインストールしてください。

Ubuntuの場合
apt install pulseaudio
CentOSの場合
yum install pulseaudio

ssh接続の際の設定

まず、Windows側で PulseAudio を立ち上げておきます。

LinuxのサウンドをリモートのWindowsマシンで鳴らす | パソコン鳥のブログ
の 「Windows側での作業」の [PulseAudio の実行] で実行します。

PulseAudio を立ち上げたら、ルータ内にアクセスする際に便利なリモートポートフォワーディング | パソコン鳥のブログ の「設定方法」に従ってssh接続します。

この時、PuTTY、TeraTerm で次の内容を指定してください。

PuTTYの場合

「源ポート」:sshサーバ上で使われていない任意のポート番号。ここでは 14713 とします。
「送り先」:127.0.0.1:4713 にします。

TeraTerm の場合

「リモートサーバのポート」:sshサーバ上で使われていない任意のポート番号。ここでは 14713 とします。
「ローカル側ホスト」:127.0.0.1 にします。
「ポート」:4713 にします。

ssh接続先で音を鳴らす

ssh接続したら、接続先で下記を実行しておきます。

export PULSE_SERVER="127.0.0.1:14713"

ここで、例えば次のコマンドを実行してみて下さい。
ssh接続元のWindowsマシンで、「フロント」「レフト」「フロント」「レフト」・・・と英語音声が流れます。

speaker-test -t wav

wavファイルを再生すると、Windowsマシンで聞こえます。

aplay WAVファイル

冒頭でも言及している通り、mp3は再生できるものの、ノイズがひどくのります。

mpg321 mp3ファイル

参考

い: SSH経由で遠隔のホストからPulseAudioの音を出す方法

コメント