tmuxの設定
どうもpruneです.
今日はtmuxについてすこしだけ・・・どちらかというとメモ.
初めに
tb-labはtexを書くときにemacsで簡単にかけるyatex環境を提供しています.
なんかこのフレーズ言うと怪しい業者みたいww
そこに一応tmuxを導入しています.
なんかちょっとだけみたら使ってるのはokkunだけのようです.
研究室の人は聞けばおしえるお
今回書きたかったこと
今回はぶっちゃけtmuxの機能の説明とかするつもりはありませんので説明すること以外はカット.
①sshした時点でsessionが無かった場合tmuxが自動で起動してほしい.
②sessionが存在したらsshした時点で勝手にattachしてほしい.
③emacsを使っているのでデフォルトのprefixだとC-bがemacsのカーソル移動とバッティングする.
これらの3つの欲求を満たします.そう,pruneはいまこの3つのせいでよっきゅうm(ry
tmuxってなに?
tmuxはね仮想端末管理ソフトウェアです.
tmuxを使うと便利になるんだよってことです.
tmuxの他にはGNU Screenとかが有名です.
なにができるの?
例えばsshしたときにさらにもう1つ画面ほしいとかってなったときにどうしますか?もう1回sshして画面2つにしますか?
例えばなんか作業してたときにssh切れたらどうしますか?途中の作業あきらめますか?emacsならauto-saveから復元させますか?
例えばなんか作業してたときに長いインストールが終わらなかったらどうしますか?終バスあきらめて下山しますか?
そう,こんな感じにいろいろ便利にしてくれます.
少なくともまだ機能はいっぱいあるけど,上の問題点は解決してくれるはずです.
たっち,たっち,そこにアタッチ!
tmuxにはattachという機能があります.
A君がサーバーにsshしてemacsで論文を書いてました.
その頃moominがブレーカーを間違えて下ろしてしまいました←
そしたらルータの電源が落ちてsshが切れてしまいました.
moominはブレーカーを爆笑しながら戻します←
A君はなんでだろう?と思いつつも再びsshしたら繋がったのでサーバー側で
% tmux a もしくは % tmux attach
を実行したところ接続が切れる前作業がそのまま復元できました.
そうつまり彼は勝ち組です.
①と②を解決しよう
ふ・・・書いてあげればいいんだよ.ってことで書きます.
まずはおなじみの.zshrcから書いてあげます.
emacsとかでホームディレクトリにある.zshrcを開いてあげて下記を追記します.
# auto run tmux if [ -z "$TMUX" -a -z "$STY" ]; then if type tmux >/dev/null 2>&1; then if tmux has-session && tmux list-sessions | grep -qE '.*]$'; then tmux attach && echo "tmux attached session " else tmux new-session && echo "tmux created new session" fi fi fi
③を解決しよう
これはtmuxの設定なので.tmux.confを記述してあげます.
なかったら自分で作成してください.
場所は.zshrc同様のホームディレクトリです.
そして下記の内容を記述してあげます.これをかくとprefixがC-tになります. n
# change prefix unbind-key C-b set-option -g prefix C-t bind-key C-t send-prefix
tmuxを使ってみよう
今日はこれを書きたかっただけです.
tmuxを導入すると作業効率がぐーんとあがります.
installについては調べればでてきますので各自installするといいと思います.
pruneコラム②
なんかコラムとか名前付けてますけどただ単になんかメモww
gitを使ってるときに修正をしたときにコメントにfixとか書いちゃいがち.
fixだとちょっと気が引けるのでreviseにするといいかも!
あとは微調節をしたときのコメントに困るのでtweakとか書いてます.
以上pruneでしたー.