LoginSignup
0
0

More than 5 years have passed since last update.

Tera TermでSSH接続して、サーバサイドでtmuxを使ったらデタッチできなくて困った話

Posted at

あらまし

高スペックなマシンでも実行時間が数時間かかりそうな処理をしたかったので、AWSでEC2をたてて実行することにした。
バックグラウンド処理して通知とかすれば良いのだが、手間がかかる上にもし一瞬で終わると悲しいので、通信が切れても問題ないようにtmuxを使うことにした。
tmuxは起動するが、デタッチできずハマった。
原因はBashの便利機能でした。

準備

  1. EC2(Amazon Linux 2)をたてる。
  2. tmuxをインストールする。

実行

tmuxを実行する。

$ tmux

デタッチする。
PREFFIX dPREFFIXのデフォルトはctrl - t
結果は、、、

[exited]

セッションを確認する。

$ tmux ls
failed to connect to server

動作確認+実験

最初はTera Termが用意しているショートカットキーになっているのかと思ったが、検索しても一向にそれらしい記事は見つからない。
Tera Termが原因ではないかと思った理由は、PREFFIX dが利くには2回押下する必要があり、入力どおりにコマンドを送れていないように見えたから。
ターミナルを複数開いて、tmuxが動作していることを確認できたがデタッチだけできないまま。
何回か実行していると、ある時Tera Termが終了することに気がついた。
原因は前述の「PREFFIX dが利くには2回押下する」で、連打をし過ぎて、tmuxをexitしてからSSH接続もexitしてしまったから。
ctrl - dでexitすることがわかったので、検索するとすぐに対応方法が見つかる。

対応

Bashでctrl - dを無効化するよう。
再ログインしても効果が出るように~/.bashrcに追記する。

~/.bashrc
IGNOREEOF=10

即時で設定反映する。

$ source ~/.bashrc

これでctrl - dでexitしなくなるが、tmuxでexitもデタッチもできなくなる。
tmuxの設定ファイル~/.tmux.confを作成する。

~/.tmux.conf
bind-key -n C-d detach

即時で設定反映する。

$ tmux source-file ~/.tmux.conf

以上でデタッチができるようになりました。

最後に

PREFFIX dと書きましたが、実際にはctrl - dでデタッチできるようになっています。
現状のキーバインド一覧が確認できれば正確なことがわかるのですが、今のところ確認できていません。
Amazon Linux 2だけではないと思いますが、他のOSでは確認していません。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0