Linux Daily Topics

2020年5月20日 リモート接続でいつものシェルを! ssh越しでポータブルなシェル環境を実現する「xxh」

この記事を読むのに必要な時間:およそ 0.5 分

リモートからホストにsshで接続する際,bashやzshなどいつも使っているシェルで操作したいというニーズを受けて,この5月から開発がスタートしたプロジェクトに「xxh」がある。ライセンスはBSD Licenseで,Python 3で開発されており,Linux(x86_64)上で動作する。なお開発者の名前も「xxh」とされている。

xxh/xxh : 🚀 Bring your favorite shell wherever you go through the ssh -GitHub

xxhの原理はごくシンプルで,ホストに対し,ポータブルで密閉されたシェル環境をアップロードし,リモートマシンからssh越しで利用可能にするというもの。rootアクセスなども必要なく,sshと同じコマンド/引数が利用できる。不要になればいつでもリモートからディレクトリ(~/.xxh)を削除すればホスト側にはいっさいのファイル/プラグインは残らない。現時点(5/20)でサポートするのはxonsh,zsh,fish,bash,osquery(ベータ⁠⁠,別のシェルへのスイッチも簡単に行える。またリモート接続だけではなく,ローカル内の隔離された環境(Dockerコンテナなど)で作業する場合にも利用できる。

xxhは単にシェル環境を提供するだけでなく,シェルの中にスクリプトを起動するエントリポイント(entrypoint.sh)を用意しており,そこでさまざまなツールやプラグインを実行できるようにしている。プロジェクトページでは「もしリモートで"pacman4console"をプレイしたいなら,エントリポイントに置けばいいだけ」とあるが,今後はエントリポイント内で実行可能なツールやプラグインをさらに増やしていくようだ。

著者プロフィール

階戸アキラ(かいとあきら)

起きてからまず海外ニュースサイトのハシゴをしないと1日を始められない海外ニュースウォッチャー。英語は英検準一級の資格を持ち,日本人と話すより英語圏の人のほうがウマが合う。