♾️

moshをやめてEternalTerminalにしたら快適以外の何物でもなかった

2023/12/04に公開

https://github.com/MisterTea/EternalTerminal

moshとはイニシエから存在するモバイル回線でも安定して接続を維持するためのSSHです。
https://twitter.com/kazuph/status/199040600035688449

昨今のクウラウド事情でそもそもSSHを使う場面が皆無になっていたのですが、最近機械学習のモデルを学習・実行する時に家にあるUbuntu+GPUサーバーを使うようになり、むしろずっとSSHしながら開発するスタイルに戻っていました。

https://twitter.com/kazuph/status/1688361123350040576

な、の、ですが! mosh->tmux->neovimの場合に表示がガッツリ崩れる問題があり、代用品を探していました。

https://twitter.com/kazuph/status/1688362329313067008
https://twitter.com/kazuph/status/1688369602571722753
https://twitter.com/kazuph/status/1688463319882199042

そして探し始めるとすぐに EternalTerminalという後発でイケてる感じのツールを発見しました。

https://twitter.com/kazuph/status/1688471985633013760
https://twitter.com/kazuph/status/1688472688141168640
https://twitter.com/kazuph/status/1689539784786706432

このツイートから4ヶ月ほど経ちましたが、実際今も使っており、接続も時のごとく永遠に繋がりっぱなし(もちろんUbuntuの電源を切ると死ぬ)で、移動後の復帰も何も感じずに作業を再開できているので、まるで空気だったのですが、そういえばちゃんと紹介してなかったと思い、即席ですが記事を書いています。

ということで簡単なSetupをまとめます。

Setup

https://github.com/MisterTea/EternalTerminal

基本はこのままです。macと作業するサーバーの両方でetをインストールすれば完了です。moshの様にたくさんポートを開ける必要はありませんでした。

brew install MisterTea/et/et
sudo add-apt-repository ppa:jgmath2000/et
sudo apt-get update
sudo apt-get install et

ubuntu側の設定ファイルを見るとこうなっています。

$ cat /etc/et.cfg
; et.cfg : Config file for Eternal Terminal
;

[Networking]
port = 2022
# bind_ip = 0.0.0.0

[Debug]
verbose = 0
silent = 0
logsize = 20971520
telemetry = true
logdirectory = /tmp

僕は特にいじってません(ただ、tailscale経由でネットワークを繋げています)。

そしてmacから接続してみます。普通に ~/.ssh/configを読んでくれるので、例えば対象のサーバーに対して ssh ubuntu-server の様に接続している場合は、

et ubuntu-server

とすれば接続され以降は繋ぎっぱなしにしてくれます。

神やん。

以上です。

Discussion