我习惯使用文件夹中的“在此打开终端”命令来打开终端。这会导致一些终端保持打开状态,而我实际上不再使用它们,或者我会搞不清楚哪个终端用于哪个用途。
我知道我可以标记终端选项卡等,但我可以强制正在打开的新终端成为终端屏幕中的新选项卡(如果已经打开了一个?)这样,我总是将它们放在一个终端中。
编辑
好吧,已经有一段时间了,我的 Linux 技巧也进步了很多。所以目前对我来说,解决这个问题的方法是使用tmux
。它比常规终端和标签页稍微先进一些,但一旦我掌握了它(大约一个小时的尝试),我对处理事情的方式非常满意。
首先,我确保每当我使用 打开终端时ctrl-alt-t
,它都会默认打开 tmux。这可以通过在文件中的.bashrc
所有别名后添加以下行来实现:
[[ $TERM != "screen" ]] && exec 'tmux
现在,每次您使用 生成终端时,ctrl-alt-t
都会看到一个tmux
。
为了确保您同时只打开一个终端,我执行以下操作:
首先,您可以tmux
通过运行重新连接会话tmux attach -d
重新连接会话。这将断开与此会话连接的所有其他客户端。这很好用如果您是唯一使用该会话的人。
但是,如果您没有正在运行的会话,它会说它没有找到任何会话。因此,您需要类似 if(nosession) { tmux } else { tmux attachment -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 会话。
因此,attach -d
其他会话会被终止。所以这是我能找到的最接近的修复方法,我对此非常满意!:)
我唯一想要的是,当我按下ctrl-alt-t
它时,它会打开我当前的会话并创建一个新窗口。我还没有弄清楚,所以请随时提供帮助!