文書の過去の版を表示しています。
MobaXterm
概要
MobaXterm はタブ型の端末ソフトで、SSH端末機能や、Xサーバ機能を内包した多機能端末である。
TIPS
Xサーバーの設定について
バージョン20.6において、XサーバーのOpenGLアクセラレーションがONになっていると、PC-6001VXは動かない。
WSL2環境におけるDISPLAYの設定について
WSL2環境下において、起動するたびに172.16.0.0/12 のプライベートアドレスのいずれかが割り当てられるためIPアドレスは不定となる。 ホスト側になる Windowsに関しても同様であるため、環境変数DISPLAYは都度設定しなおす必要がある。
IPアドレスの取得
WSL2環境のホスト名は、Windowsの端末名を利用しているので、これを利用して、ホストのIPアドレスを取得する方法を以下に示す。 なお、Windowsの端末名を「デスクトップ」などの日本語にしている場合にはどうなるかわからない。1)
今、仮に、Windowsの端末名が、古い伝統に則り2)、venus だったとする。
~/.bashrcなどに、以下の行を追加する。
if [ -z "${HOSTNAME}" ]; then
HOSTNAME=venus
fi
DISPLAY=`dig +short ${HOSTNAME}|head -n 1`:0 export DISPLAY
これにより、毎回、DISPLAYを手動で設定する必要がなくなる。 なお、Xサーバの設定を On Demandにしていると、都度、アクセス許可を求められるので、注意。
Pulse Audio
Linux環境で広く音を鳴らすためのサービスとして用いられている PulseAudioであるが、残念ながら、MobaXtermには統合されていない。 このため、MobaXtermとは別途、PulseAudioサーバを立ち上げておかなければならない。
本来は別のソフトであり、別途まとめるべき内容だが、運用上はMobaXtermと抱き合わせになる形なので、ここに記しておく。
入手
Pulse Audioは本来はソースからbuildして利用すべきなのだろうけれど、Windows用のバイナリが配布されているので、ここではそれを利用する。 ここから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を範囲指定する。
...
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
...
daemon.conf
39行目のコメントマークを外して、値を-1に変更。
39 exit-idle-time = -1
UNIX側の設定
一般的には、環境変数PULSE_SERVERに、PulseAudioサーバを運用している端末名またはIPアドレスを設定する。
ここでは、WSL2環境において、自動的に取得する方法を記す。
基本的には、Xサーバに対するDISPLAYと同様である。
if [ -z "${HOSTNAME}" ]; then
HOSTNAME=venus
fi
PULSE_SEVER=`dig +short ${HOSTNAME}|head -n 1` export PULSE_SERVER
サービス化
Windows版の Pulse Audio 1.1は、残念ながら Windowsのサービスとして構築されていないため、都度、手動で実行してやる必要があり利便性が低い。
MobaXtermに統合されていれば、MobaXtermの起動とともに使用可能となり便利なのだが、そうはなっていない。
そこで、ここにWindowsのサービスとして起動する方法を記す。
NSSMの利用
NSSMはthe Non-Sucking Service Managerの略で、非サービスのアプリケーションをWindowsのサービス化してくれるサービスである。
Windows標準のscとの違いは、非サービスのアプリも対象であることだろう。
NSSMによるサービスへの登録
NSSM.EXEを、C:\Windows\System32などにコピーしたら、管理者として実行している、コマンドプロンプトやPowerShellなどのコマンドラインから、以下のように起動する。
C:\Windows\System32> NSSM install <サービス名>
すると、ダイアログがポップアップするので、コマンドラインおよび引数、起動方法などを設定し、installして終了する。


