我有使用文件夹中的“在此处打开终端”命令打开终端的习惯。这会导致一些终端保持打开状态,而我实际上不再使用它们,否则我会感到困惑,即哪个终端在服务于哪个目的。
我知道我可以标记终端标签等,但是我可以强制将要打开的新终端变成终端屏幕上的新标签(如果已经打开了吗?)这样,我总是将它们标签在一个标签中终端。
编辑好的,已经有一段时间了,我的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
它打开我的当前会话并创建一个新窗口。我还没有弄清楚,所以随时提供帮助!
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句