我正在尝试设置我的工作站,使tmux为每个启动的终端(xterm、gnome-terminal...)运行。我想把tmux加到.bashrc上;问题是,如果我出于某种原因启动bash两次,它会在当前tmux中启动第二个tmux。所以:
tmux
xterm
gnome-terminal
.bashrc
bash
llycmphe1#
您可以将以下内容添加到.bash_profile:
.bash_profile
SHELL=tmux
如果命令行上没有给出任何命令,则xterm首先检查要运行的命令。
vhmi4jdf2#
合并前面两个答案:
alias xterm='SHELL=tmux xterm'
只启动xterm就可以获得所需的行为,但是仍然可以使用xterm进行其他操作,比如xterm top。
xterm top
tzdcorbm3#
如何将xterm别名化为xterm tmux?只需将以下行添加到.bashrc:
xterm tmux
alias xterm='xterm tmux'
wrrgggsh4#
只有在登录时,Bash才会执行~/.bash_profile,其中应该包含~/.bashrc,但不应该使用exit,否则会话将结束。如果~/.bash_profile不存在,则执行~/.bash_login。如果~/.bash_profile和~/.bash_login都不存在,则执行~/.profile。我喜欢使用~/.bash_login。因此,~/.bash_login应该包含:
# use tmux instead of xterm if [[ -z "$DISPLAY" ]] \ && [[ "$TERM" != tmux* ]] \ && hash tmux 2>/dev/null; then exec tmux new-session fi
注意:如果你已经登录,~/.bashrc会被bash执行。
4条答案
按热度按时间llycmphe1#
您可以将以下内容添加到
.bash_profile
:如果命令行上没有给出任何命令,则
xterm
首先检查要运行的命令。vhmi4jdf2#
合并前面两个答案:
只启动
xterm
就可以获得所需的行为,但是仍然可以使用xterm进行其他操作,比如xterm top
。tzdcorbm3#
如何将
xterm
别名化为xterm tmux
?只需将以下行添加到
.bashrc
:wrrgggsh4#
只有在登录时,Bash才会执行~/.bash_profile,其中应该包含~/.bashrc,但不应该使用exit,否则会话将结束。如果~/.bash_profile不存在,则执行~/.bash_login。如果~/.bash_profile和~/.bash_login都不存在,则执行~/.profile。我喜欢使用~/.bash_login。
因此,~/.bash_login应该包含:
注意:如果你已经登录,~/.bashrc会被bash执行。