我有使用文件夹中的“在此处打开终端”命令打开终端的习惯。这会导致一些终端保持打开状态,而我不再真正使用它们,或者我对哪个终端用于哪个目的感到困惑。
我知道我可以标记终端选项卡等,但是我可以强制一个正在打开的新终端成为终端屏幕中的一个新选项卡(如果已经打开了一个?)这样我总是把它们放在一个标签中终端。
编辑
好的,已经有一段时间了,我的 linux mojo 有了很大改进。所以目前对我来说这种情况的解决方案一直在使用tmux. 它比普通的终端和选项卡先进一点,但是一旦我掌握了它的窍门(大约一个小时的尝试),我对处理事情的方式感到非常满意。
首先,我确保每当我使用打开终端时ctrl-alt-t,它都会默认打开 tmux。这可以通过在.bashrc文件中的所有别名之后添加以下行来实现:
[[ $TERM != "screen" ]] && exec 'tmux
Run Code Online (Sandbox Code Playgroud)
现在,每次您使用生成终端时,ctrl-alt-t您都会看到一个tmux.
为了确保您同时只打开一个终端,我执行了以下操作:
首先,您可以tmux通过运行重新附加会话tmux attach -d。这将断开连接到此会话的所有其他客户端。如果您是唯一使用会话的人,则此方法运行良好。
但是,如果您没有运行会话,它会说它没有找到任何会话。因此,您需要像 if(nosession) { tmux } else { tmux attach -d } 之类的东西。为此,请在您的~/.tmux.conf文件中添加以下行:
#if run as "tmux attach", create a session if one does not already exist
new-session -n $HOST
Run Code Online (Sandbox Code Playgroud)
(感谢这篇文章)
在我的.bashrc文件中,我将之前添加的行更改为以下内容:
[[ $TERM != "screen" ]] && exec 'tmux attach -d'
Run Code Online (Sandbox Code Playgroud)
这样做是将所有其他客户端与tmux会话分离。执行此操作时,所有其他终端都会关闭。它们关闭是因为此行还确保当您打开终端 (ctrl-alt-t) 时,它会立即启动 tmux 会话。
因此,attach -d杀死其他会话。所以这是我能得到的最接近的修复,我对它很满意!:)
我唯一仍然想要的是,当我按下ctrl-alt-t它时会打开我当前的会话并创建一个新窗口。我还没有弄清楚,所以请随时提供帮助!