ALHアドベントカレンダー2020
12/19(土)もきくりんが担当します!今回は小ネタになります。
WSLをTetatermで使う
、とても便利なのですが標準のコンソールの使い勝手があまり良くなく
(UI全般、ログが取れない、コピペしにくい等)
Teratermで使えたら便利だなあと思って検索していたのですが
どの記事もsshデーモンを有効にしてローカルホストにつないでいるものが多く
完全にこれになりました
SSH接続を行う手順をディスるつもりはないのですがSSHを有効にするのはポートを余計に開放することになるので気が引けます
またWSL2を使用する場合Winodwsと仮想レイヤーが同じになるため、ファイアウォールも別個管理となります。(→)
ということでWSLのコンソール接続をTeratermのCygwin接続で拾おうかなと思います。
##事前準備
・WSLのインストール※導入済みの人はスキップ
ファイル名を指定じて実行 appwiz.cpl
Windowsの機能の有効化または無効化→Linux用Windowsサブシステムの有効化
再起動
ファイル名を指定して実行 ms-windows-store:
windows storeからubuntuの入手
サインインは必須ではありません。
その場で起動するか
スタートメニューから起動します。
初回起動時はIntalling may take a few minutes...
と表示されしばらく待ったあとユーザ名とパスワードを設定します。
・Teratermのインストール
-インストーラ(teraterm-4.105.exe)からインストール
※導入済みの人はスキップ、デフォルトから変更点がないので詳細は割愛
・以下ファイルの入手
wslbridge2_cygwin_x86_64.zip
※v0.7 コンパイル済み使用
##wslbridgeとTeratermの設定
wslbridgeモジュールとTeratermディレクトリに以下のファイルを配置
TeratermインストールディレクトリはデフォルトのC:\Program Files (x86)\teraterm\
とします。
wslbridgeはC:\dev\wslbridge2\
に置きます。(どこでも良いです)
ファイル名 | コピー元 | コピー先 |
---|---|---|
wslbridge2.exe | wslbridge2_cygwin_x86_64.zipを解凍 | C:\develop\wslbridge\ |
wslbridge2-backend | wslbridge2_cygwin_x86_64.zipを解凍 | C:\develop\wslbridge\ |
cygwin1.dll | wslbridge2_cygwin_x86_64.zipを解凍 | C:\Program Files (x86)\teraterm\ |
cygterm.exe | C:\Program Files (x86)\teraterm\cygterm+-x86_64 | C:\Program Files (x86)\teraterm\ |
cygterm.cfgの編集
前段作業で配置したモジュールを読み込ませるため
SHELL = auto を SHELL = "c:/develop/wslbridge/wslbridge2.exe" -W~
に書き換えます。
"-W~"はコンソール起動時のカレントディレクトリの指定になります。
これを指定しないと/mnt/c/Program Files (x86)/teraterm/がカレントディレクトリの状態で端末が起動します。
# CygTerm setting
TERM = ttermpro.exe %s %d /E /KR=UTF8 /KT=UTF8 /VTICON=CygTerm /nossh
# SJIS for Cygwin 1.5
# TERM = ttermpro.exe %s %d /E /KR=SJIS /KT=SJIS /VTICON=CygTerm /nossh
TERM_TYPE = vt100
PORT_START = 20000
PORT_RANGE = 40
SHELL = "c:/develop/wslbridge/wslbridge2.exe" -W~
ENV_1 = MAKE_MODE=unix
ENV_2 =
LOGIN_SHELL = Yes
# HOME_CHDIR = No
SSH_AGENT_PROXY = No
DEBUG = No
##起動する
C:\Program Files (x86)\teraterm\cygterm.exe
から起動します。
Teratermが上がりbashコンソールが上がると思います。(一緒にあがってくるcygtermはバックエンドなので最小化しておいてください)
これで使いにくかったデフォルトのターミナルを使用しなくても快適なWSLライフが送れますね!!