加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-15 16:19:44 所属栏目:安全 来源:网络整理
导读:而不是每次都键入tmux,我怎么能tmux总是用于新的会话窗口? 所以如果我没有打开终端窗口,然后我打开一个,那么第一个会话怎么在tmux? 看起来像一个.bashrc的东西可能吗? 警告这可能现在损坏您的Ubuntu登录。非常小心使用,并确保您在计算机上有一个第二
而不是每次都键入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。您可以将其添加到菜单/桌面/键盘快捷键以替换默认终端。

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读