Alacrittyとtmuxとbash_profile
Alacrittyとnvimの組み合わせが悪い場合があるみたいですが、tmuxを使うと問題ないとか。
そしたら、Alacrittyを起動したら自動でtmux立ち上がるのが楽。
そんな設定をするには、.bash_profileに色々と記入しておく必要があるみたい。
でも、非常用にターミナル.appで起動したらtmuxでは起動させたくない。
そんな対応をするために、以下のような内容になった。
if [ "$TERM_PROGRAM" = "alacritty" ]; then SESSION_NAME=ope if [[ -z "$TMUX" && -z "$STY" ]] && type tmux >/dev/null 2>&1; then >___option="" >___if tmux has-session -t ${SESSION_NAME}; then >___>___option="attach -t ${SESSION_NAME}" >___else >___>___option="new -s ${SESSION_NAME}" >___fi >___tmux $option && exit fi fi
tmux起動の部分については他のページを参照し、
「ope」という名前のセッションが残っていれば、そのセッションでtmuxを起動。
そのセッション名がなかったら新規に「ope」でtmuxを起動。
でもって、最初の1行で使っているターミナルプログラムを判断していてる。
alacrittyだったら、tmuxを自動で起動させるけど、それ以外のターミナルだったら起動させない。
ちなみに環境変数の$TERM_PROGRAMはターミナル.appだとApple_Terminal、iTerm2だとiTerm.appとなってる模様。
じゃあalacrittyは最初っからalacrittyとして設定してるかというとそうでもない。
最初にチェックしたら空白だった。もともとLinuxでのターミナルがメインだから$TERMはあればいいけど、$TERM_PROGRAMは不要みたい。
なので設定ファイルに追加。
env: # TERM env customization. # # If this property is not set, alacritty will set it to xterm-256color. # # Note that some xterm terminfo databases don't declare support for italics. # You can verify this by checking for the presence of `smso` and `sitm` in # `infocmp xterm-256color`. TERM: xterm-256color TERM_PROGRAM: alacritty
.config/alacritty/alacritty.ymlに「TERM_PROGRAM:alacritty」を追記。
alacrittyを再起動してecho $TERM_PROGRAMで確認できる状態になった。
これで使用するターミナルアプリによって、tmuxを自動起動したり素のbashにしたりすることができる。
なんでこんなことをしたかというと、tmux.confの書き間違いで起動したらどうしようもなくなった場合に修正する方法がターミナルのnvimしか用意してなかったから。
別にエディターを入れて対応すんの面倒だった。