![각 세션의 첫 번째 창만 로그인 셸(그리고 다른 모든 후속 창/창은 비로그인 셸)을 로드하도록 tmux를 어떻게 구성할 수 있나요?](https://linux55.com/image/15425/%EA%B0%81%20%EC%84%B8%EC%85%98%EC%9D%98%20%EC%B2%AB%20%EB%B2%88%EC%A7%B8%20%EC%B0%BD%EB%A7%8C%20%EB%A1%9C%EA%B7%B8%EC%9D%B8%20%EC%85%B8(%EA%B7%B8%EB%A6%AC%EA%B3%A0%20%EB%8B%A4%EB%A5%B8%20%EB%AA%A8%EB%93%A0%20%ED%9B%84%EC%86%8D%20%EC%B0%BD%2F%EC%B0%BD%EC%9D%80%20%EB%B9%84%EB%A1%9C%EA%B7%B8%EC%9D%B8%20%EC%85%B8)%EC%9D%84%20%EB%A1%9C%EB%93%9C%ED%95%98%EB%8F%84%EB%A1%9D%20tmux%EB%A5%BC%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EA%B5%AC%EC%84%B1%ED%95%A0%20%EC%88%98%20%EC%9E%88%EB%82%98%EC%9A%94%3F.png)
이 게시물의 제목이 충분히 설명이 되기를 바랍니다.
tmux 매뉴얼에 잘 설명되어 있듯이, tmux
새로운 tmux 창이나 창(분할)이 시작될 때마다 로그인 쉘이 시작됩니다.
tmux
대신, 세션당 하나의 로그인 셸(아마도 첫 번째 창)만 시작되고 이후에 생성되는 모든 창/창은 비로그인 셸이 되도록 구성하려면 어떻게 해야 합니까 ?
~/.bash_profile
이것이 가능하지 않다면 적어도 서버가 시작될 때 또는 를 읽도록 tmux를 구성할 수 있지만 ~/.profile
서버에서 시작된 모든 창은 tmux
일반(비로그인) 셸이어야 합니까?
답변1
래퍼 스크립트의 Tmux 옵션을 사용할 수 있습니다 default-command
. 나는 한동안 다음 배열을 성공적으로 사용해 왔습니다.
PATH
예를 들어 다음 스크립트를 어딘가에 넣으십시오 ./usr/local/bin/tmux-default-command
#!/bin/sh default_shell=$(tmux show-options -gqv default-shell) default_shell=${default_shell:-$SHELL} default_shell=${default_shell:-/bin/bash} current_window=$(tmux display-message -p '#I') if [ "$current_window" = "0" ]; then tmux rename-window "Hello" && exec "$default_shell" -l else exec "$default_shell" fi
Tmux 구성에서
default-shell = '/bin/bash' # optional default-command = 'tmux-default-command'
-HTH