Linux Daily Topics

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

リモートからホストに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"をプレイしたいなら、エントリポイントに置けばいいだけ」とあるが、今後はエントリポイント内で実行可能なツールやプラグインをさらに増やしていくようだ。

おすすめ記事

記事・ニュース一覧