ユーザ用ツール

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.padaemon.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の利用

NSSMthe Non-Sucking Service Managerの略で、非サービスのアプリケーションをWindowsのサービス化してくれるサービスである。

Windows標準のscとの違いは、非サービスのアプリも対象であることだろう。

NSSMによるサービスへの登録

NSSM.EXEを、C:\Windows\System32などにコピーしたら、管理者として実行している、コマンドプロンプトやPowerShellなどのコマンドラインから、以下のように起動する。

C:\Windows\System32> NSSM install <サービス名>

すると、ダイアログがポップアップするので、コマンドラインおよび引数、起動方法などを設定し、installして終了する。

メインタブ 詳細タブ

1)
そういう名前を付けたことがないので。
2)
かつて伊藤忠テクノソリューションズからSun4などを買ったときについてくるマニュアルでは、端末名の例としてvenusが使われていて、そこら中に venusという端末が転がっていた、という伝統(都市伝説?)。

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