====== MobaXterm ====== ===== 概要 ===== [[https://mobaxterm.mobatek.net|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の端末名を「デスクトップ」などの日本語にしている場合にはどうなるかわからない。((そういう名前を付けたことがないので。)) 今、仮に、Windowsの端末名が、古い伝統に則り((かつて伊藤忠テクノソリューションズからSun4などを買ったときについてくるマニュアルでは、端末名の例として''venus''が使われていて、そこら中に ''venus''という端末が転がっていた、という伝統(都市伝説?)。))、''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と抱き合わせになる形なので、ここに記しておく。 ==== 入手 ==== [[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を範囲指定する。 ... 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の利用 === [[https://nssm.cc/|NSSM]]は**the Non-Sucking Service Manager**の略で、非サービスのアプリケーションをWindowsのサービス化してくれるサービスである。 Windows標準のscとの違いは、非サービスのアプリも対象であることだろう。 == NSSMによるサービスへの登録 == ''NSSM.EXE''を、''C:\Windows\System32''などにコピーしたら、管理者として実行している、コマンドプロンプトやPowerShellなどのコマンドラインから、以下のように起動する。 C:\Windows\System32> NSSM install <サービス名> すると、ダイアログがポップアップするので、コマンドラインおよび引数、起動方法などを設定し、installして終了する。 {{:nssm:メインタブ.png?600|メインタブ}} {{:nssm:詳細タブ.png?600|詳細タブ}}