ユーザ用ツール

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
mobaxterm [2020/12/03 03:46] – [サービス化] arakimobaxterm [2020/12/03 07:01] (現在) – [入手] araki
行 12: 行 12:
 ==== WSL2環境におけるDISPLAYの設定について ==== ==== WSL2環境におけるDISPLAYの設定について ====
  
 +WSL2環境下において、起動するたびに172.16.0.0/12 のプライベートアドレスのいずれかが割り当てられるためIPアドレスは不定となる。
 +ホスト側になる Windowsに関しても同様であるため、環境変数DISPLAYは都度設定しなおす必要がある。
  
 +=== IPアドレスの取得 ===
  
 +WSL2環境のホスト名は、Windowsの端末名を利用しているので、これを利用して、ホストのIPアドレスを取得する方法を以下に示す。
 +なお、Windowsの端末名を「デスクトップ」などの日本語にしている場合にはどうなるかわからない。((そういう名前を付けたことがないので。))
 +
 +今、仮に、Windowsの端末名が、古い伝統に則り((かつて伊藤忠テクノソリューションズからSun4などを買ったときについてくるマニュアルでは、端末名の例として''venus''が使われていて、そこら中に ''venus''という端末が転がっていた、という伝統(都市伝説?)。))、''venus'' だったとする。
 +
 +''~/.bashrc''などに、以下の行を追加する。
 +<code>
 +if [ -z "${HOSTNAME}" ]; then
 +    HOSTNAME=venus
 +fi
 +DISPLAY=`dig +short ${HOSTNAME}|head -n 1`:0 export DISPLAY
 +</code>
 +
 +これにより、毎回、DISPLAYを手動で設定する必要がなくなる。
 +なお、Xサーバの設定を On Demandにしていると、都度、アクセス許可を求められるので、注意。
 ===== Pulse Audio ===== ===== Pulse Audio =====
  
行 22: 行 40:
  
 ==== 入手 ==== ==== 入手 ====
 +
 +[[https://www.freedesktop.org/wiki/Software/PulseAudio/|Pulse Audio]]は本来はソースからbuildして利用すべきなのだろうけれど、Windows用のバイナリが配布されているので、ここではそれを利用する。
 +[[http://bosmans.ch/pulseaudio/pulseaudio-1.1.zip|ここ]]から1.1とやや古いバージョンのバイナリーがダウンロード可能である。
 +頑張って最新の機能やセキュリティを追いかけたい向きは、ソースからビルドして利用すればいいだろう。
 +
 +バイナリーは特にパッケージの形であったりはしないので、適当なところに展開する。
 +
 +当方は、''C:\Program Files (x86)\PulseAudio'' に展開したが、管理者権限が~とうるさいので、''C:\Users\<ユーザ名>\PulseAudio'' とかでもいいだろう。
 +
 +ただ、後でサービス化することを念頭に置いていたので面倒でも、標準のパスに置いた方がいいかと思ったのでそうしてある。
 +別にそこまでこだわる必要もないかもしれないのだが。
 +
 +どうせ、KeyHac は ''C:\Users\<ユーザ名>\keyhac''の下に展開してあるのだし。
 ==== 設定 ==== ==== 設定 ====
 +
 +設定ファイルは、パッケージを展開したところにある ''etc\pulse''の下にある。
 +このうち、''default.pa''と''daemon.conf''の二つを修正する必要がある。
 +
 +''default.pa''
 +
 +43行目に''record=0''を追記、61行目のコメントマークを削除して、接続許可するIPを範囲指定する。
 +<code>
 +    ...
 +    39  ### Load audio drivers statically
 +    40  ### (it's probably better to not load these drivers manually, but instead
 +    41  ### use module-udev-detect -- see below -- for doing this automatically)
 +    42  load-module module-waveout sink_name=output source_name=input record=0
 +    43  #load-module module-null-sink
 +    44
 +    ...
 +    59  ### here if you plan to use paprefs)
 +    60  #load-module module-esound-protocol-tcp
 +    61  load-module module-native-protocol-tcp auth-ip-acl=127.0.0.0/8;172.16.0.0/12;192.168.0.0/24
 +    62
 +    ...
 +</code>
 +
 +''daemon.conf''
 +
 +39行目のコメントマークを外して、値を''-1''に変更。
 +<code>
 +    39  exit-idle-time = -1
 +</code>
 +
 +=== UNIX側の設定 ===
 +
 +一般的には、環境変数''PULSE_SERVER''に、PulseAudioサーバを運用している端末名またはIPアドレスを設定する。
 +ここでは、WSL2環境において、自動的に取得する方法を記す。
 +基本的には、Xサーバに対する''DISPLAY''と同様である。
 +
 +<code>
 +if [ -z "${HOSTNAME}" ]; then
 +    HOSTNAME=venus
 +fi
 +
 +PULSE_SEVER=`dig +short ${HOSTNAME}|head -n 1` export PULSE_SERVER
 +</code>
 +
 ==== サービス化 ==== ==== サービス化 ====
 +
 +Windows版の Pulse Audio 1.1は、残念ながら Windowsのサービスとして構築されていないため、都度、手動で実行してやる必要があり利便性が低い。
 +
 +MobaXtermに統合されていれば、MobaXtermの起動とともに使用可能となり便利なのだが、そうはなっていない。
 +
 +そこで、ここにWindowsのサービスとして起動する方法を記す。
  
 === NSSMの利用 === === NSSMの利用 ===
  
 +[[https://nssm.cc/|NSSM]]は**the Non-Sucking Service Manager**の略で、非サービスのアプリケーションをWindowsのサービス化してくれるサービスである。
 +
 +Windows標準のscとの違いは、非サービスのアプリも対象であることだろう。
 +
 +== NSSMによるサービスへの登録 ==
 +
 +''NSSM.EXE''を、''C:\Windows\System32''などにコピーしたら、管理者として実行している、コマンドプロンプトやPowerShellなどのコマンドラインから、以下のように起動する。
  
 +<code>
 +C:\Windows\System32> NSSM install <サービス名>
 +</code>
  
 +すると、ダイアログがポップアップするので、コマンドラインおよび引数、起動方法などを設定し、installして終了する。
  
 +{{:nssm:メインタブ.png?600|メインタブ}}
 +{{:nssm:詳細タブ.png?600|詳細タブ}}
  
  

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also, you acknowledge that you have read and understand our Privacy Policy. If you do not agree, please leave the website.

More information