每当我开始一个新的shell会话,我如何使TMUX活跃?

前端之家收集整理的这篇文章主要介绍了每当我开始一个新的shell会话,我如何使TMUX活跃?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
而不是每次都键入tmux,我怎么能tmux总是用于新的会话窗口?

所以如果我没有打开终端窗口,然后我打开一个,那么第一个会话怎么在tmux?

看起来像一个.bashrc的东西可能吗?

警告这可能现在损坏您的Ubuntu登录。非常小心使用,并确保您在计算机上有一个第二个管理员帐户,您可以登录,以防您遇到相同的问题,我做了。有关更多详细信息和不同方法,请参阅我的答案。

最简单的解决方案是将tmux调用附加到.bashrc的结尾,例如。

alias g="grep"
alias ls="ls --color=auto"

# ...other stuff...

if [[ ! $TERM =~ screen ]]; then
    exec tmux
fi

注意,exec意味着当您打开终端时启动的bash进程被tmux替换,因此Ctrl-B D(即从tmux断开)实际上关闭窗口,而不是返回到原始bash进程,这可能是你想要的行为?

此外,if语句是必需的(它检测当前bash窗口是否已经在tmux进程中),否则每次启动tmux时,包含的bash进程将尝试启动其自己的tmux会话,导致无限数量的嵌套tmuxen这可以,错误,很讨厌(说,看起来很酷)。

然而,有一个非常小的风险,这可以使bash的行为方式,其他程序不期望,因为运行bash可能会导致它变成一个tmux进程,所以最好修改如何启动您的终端仿真器。

我使用一个小的可执行shell脚本〜/ bin / terminal(在$ PATH中带〜/ bin,所以它被自动找到)看起来有点像:

#!/bin/sh
exec gnome-terminal -e tmux

(我不使用gnome-terminal,所以你可能要删除exec,我不知道。)

现在每当你运行终端scipt你有一个终端与tmux。您可以将其添加菜单/桌面/键盘快捷键以替换默认终端。

(这种方法还允许你更容易地定制关于终端仿真器的其他事情,如果你想要的话。)

原文链接:https://www.f2er.com/bash/390795.html

猜你在找的Bash相关文章