らくがきちょう

なんとなく

Poderosa から WSL を利用する

macOS だと iTerm が非常に使いやすいのですが、Windows ではターミナルエミュレータ毎に一長一短に感じます… 自分でソースコードを書き換え、オレオレ仕様にカスタマイズ出来ると便利なので、Windows ではソースコードが (私にとっては) 読みやすい Poderosa を使うことにしました。 Poderosa には「商用」と「OSS」のふたつがありますが、私が利用しているのは OSS 版です。

今回は Poderosa から WSL (Windows Subsystem for Linux) を利用する方法をメモしておきます。

環境

今回は最終的に以下の環境でテストしました。 Windows は 64bit 版を用いています。

Cygwin と winpty のインストール

Cygwin と winpty をインストールしておきます。

winpty は C:\winpty\winpty.exe にインストールしました。

64bit 版 Cygterm を用意する

Poderosa には 32bit 版の Cygterm しか同梱されていない為、64bit 環境で 新規cygwin接続 を実行するとエラーになります。 Cygwin 上で 64bit 版 Cygterm をビルドし直しても良いですが、TeraTerm に 64bit 版の Cygterm が同梱されているので、これを拝借してしまうのが簡単です。 例えば TeraTerm 4.66 であれば teraterm-4.96\cygterm+-x86_64\cygterm.exe に 64bit 版 Cygterm が存在します。 これを PoderosaPoderosa\Protocols\Cygterm ディレクトリ配下にコピーして完了です。

cygwin 接続時に WSL が呼び出されるように設定する

Poderosa から WSL を利用するには 新規cygwin接続 メニューから設定する必要があります。 新規cygwin接続 から 高度な設定 を選択し、シェルに bash のパスを指定します。 この際、直接 bash を指定するのでは無く、winpty 経由で起動するように設定します。 設定例は以下の通りです。

/cygdrive/c/winpty/winpty.exe /cygdrive/c/windows/System32/bash.exe

実際の設定画面は以下のようになります。

f:id:sig9:20170929150207p:plain

補足

今回は Cygwin 接続機能を殺して、代わりに WSL 接続機能を追加しました。 時間があれば (Cygwin 接続機能を殺すのでは無く、別の機能として) WSL 接続機能プラグインを書いた方が便利だろうなぁ~、と思いました。