SSH クライアントとして WSL を利用する場合のツールや設定

terminal

この記事のまとめ:
  • SSH クライアントとして WSL (Windows Subsystem for Linux) を利用する場合ために私が使っているツールや設定を紹介します。
背景

私の普段使いの PC は Windows なのですが Linux のサーバーでの作業する際のツール類が WSL の登場によって大きく変わってきたので、今現状のセッティングをまとめておきます。 ちなみに WSL の登場の前までは TeraTerm を使っていました。

もくじ

  • WSL を使うための Windows 用ターミナル
  • Windows 用 X11 サーバー
  • WSL での SSH 関連設定

WSL を使うための Windows 用ターミナル

SSH クライアントだけであれば TeraTerm や PuTTY を使っている方も多いかもしれませんが、最近は WSL がだいぶ使えるようになってきたので、ターミナルアプリケーションを使って WSL を活用するのもありです。もちろん、WSL で SSH も使えますので、SSH クライアントとして使うこともできますし、その他 Linux のアプリケーションも動かすこともできます。ターミナルアプリケーションはいろいろあるのですが、私が使っているのは Hyper というアプリケーションです。

ちなみに Microsoft が OSS として開発している Windows Terminal には期待しているところもあるのですがバージョン 0.9 版でもイマイチかゆいところに手が届かない感があるのでしばらくは Hyper を使おうかな、という感じです。

その他こちらの記事にもいろいろ紹介されていますので他にどのようなものがあるのかご興味あればご覧ください。

参考:Windowsで使えるターミナルとシェルのまとめ | Qiita

Hyper

Hyper はマルチプラットフォーム対応のターミナルアプリケーションで、タブ、ウィンドウの分割、テーマ変更、ブロードキャストなど機能面でも充実しているのと見栄えがいいところが気に入っています。 ただし、ディスプレイケーブルの抜き差しやリモートデスクトップ接続などをすると表示を維持できなくなり、フルリロードしなければならない(接続が切れる)ことがあることが欠点です。

起動時のターミナルを WSL に変更

この設定は WSL がインストール済みであることが前提ですので、WSL のインストールがまだの方はこちらの記事などを参考に WSL をインストールしてください。

Hyper のターミナル上で Ctrl+.(comma) もしくは 左上のメニューからEdit → Preference で .hyper.js を開き、下記の shell 部分を次のように変更します。

shell: 'C:\\WINDOWS\\System32\\bash.exe',

テーマの変更

どのようなテーマが用意されているかは下記の公式ページを見てください。 https://hyper.is/themes

設定したいテーマが決まったら、Power shell 上で次のように入力するだけです( WSL 上では認識されません)。

> hyper i <theme>

よく使うショートカット

  • Ctrl+Shift+c : コピー
  • Ctrl+Shift+v : ペースト
  • Ctrl+``'``+``' : ズームイン
  • Ctrl+``'``-``' : ズームアウト
  • Ctrl+Page Up : 次の分割ウィンドウに移動
  • Ctrl+Page Down : 前の分割ウィンドウに移動
  • Ctrl+Page Up : 次の分割ウィンドウに移動
  • Ctrl+Page Down : 前の分割ウィンドウに移動
  • Ctrl+Shift+``'``[``' : 次のタブに移動
  • Ctrl+Shift+']' : 前のタブに移動
Windows 用 X11 サーバー

Windws 用の X11 サーバーは、WSL 以前から変わりませんが、以前はそれほど数も多くなかったのですが、最近はいろいろと選択肢があります。その中では VcXsrv が一番手軽に使えます。 X410 は頻繁にセールをしているようなので Xming 同様に VcXsrv が有償になった場合に備えて、セール時に購入するというもの手かもしれません。

ソフトウェア 概要
VcXsrv フリーのXサーバ
Cygwin/X フリーのXサーバ。UNIX互換環境のCygwinの一つとして提供されている
Xming 以前は無償だったXサーバ。現在では利用形態に応じていくらか支払う必要がある
MobaXterm sshクライアント/ターミナル機能などが統合されているXサーバ製品。機能限定の無償版もある
X410 Microsoft Storeで販売されている有償のXサーバ。ストアアプリなので、導入やバージョンアップなどが容易

出典:WSL上にXサーバをインストールしてGUIを実現する(VcXsrv編)| IT Media

WSL での SSH 関連設定
X11 の設定

WSL を使っているローカルの Windws マシンで、上記などのあらかじめ X11 サーバーが立ち上げておきます。 ディスプレイ周りの環境設定をターミナル起動時に自動で設定してくれるように WSL の ~/.bashrc に下記を追記します。

export DISPLAY=localhost:0.0
export LIBGL_ALWAYS_INDIRECT=1

あとは、SSH コマンドでサーバーに接続時に -X オプションを追加して接続すると X11 の転送を行ってくれます。 例えば、下記のような実行コマンドになります。

$ ssh -X <user_name>@<remote_host>

毎回、オプション入力や IP アドレス等の入力が面倒であれば ~/.ssh/config に下記のように記載しておくと入力を省略できます。

Host <host_name>
        HostName <ip_addr|host_name>
        User <user_name>
        ForwardX11 yes

次からは下記の入力だけで SSH ログインできます。

$ ssh <host_name>
SSH のタイムアウトを回避する

これに関してはサーバー側の SSH デーモンの設定にも依存しますが、クライアント側でもタイムアウトしないように設定をしておきます。

SSH サーバーと応答確認する間隔のパラメーターである ServerAliveInterval と、応答がない場合のタイムアウトまでの回数のパラメーターである ServerAliveCountMax の設定をクライアント側の /etc/ssh/ssh_config に追記します。

ServerAliveInterval 15
ServerAliveCountMax 100


今回は以上です。 最後まで読んでいただき、ありがとうございます。

コメント

このブログの人気の投稿

LinuxでのnVidia GPUのオーバークロック・電力チューニング方法