我习惯在文件夹中使用“在此处打开终端”命令打开终端。这会导致一些终端保持打开状态,而我实际上不再使用它们,否则我会感到困惑,即哪个终端有什么作用。
我知道我可以标记终端标签等,但是我可以强制将要打开的新终端变成终端屏幕中的新标签(如果已经打开了吗?)这样,我总是将它们标签在一个标签中终奌站。
编辑
好的,已经有一段时间了,我的linux mojo有了很大的改进。因此,对于我来说,目前针对这种情况的解决方案一直在使用tmux
。它比常规的终端机和标签要先进一些,但是一旦掌握了它(大约一个小时的尝试时间),我就对事情的处理方式感到非常满意。
首先,我确保每次使用打开终端时ctrl-alt-t
,默认情况下都会打开tmux。这可以通过.bashrc
在所有别名之后的文件中添加以下行来实现:
[[ $TERM != "screen" ]] && exec 'tmux
现在,每次使用您生成终端时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
(感谢这篇文章)
在我的.bashrc
文件中,我将之前添加的行更改为以下内容:
[[ $TERM != "screen" ]] && exec 'tmux attach -d'
这是将所有其他客户端从tmux
会话中分离出来。执行此操作时,所有其他终端均关闭。它们关闭,因为此行还确保打开终端(ctrl-alt-t)时,它将立即启动tmux会话。
Ergo,attach -d
杀死其他会话。因此,这是我可以获得的最接近的解决方案,对此我感到非常满意!:)
我唯一想做的就是,当我按下ctrl-alt-t
它打开我的当前会话并创建一个新窗口。我还没有弄清楚,所以随时提供帮助!