强制每个新终端在新选项卡中打开

强制每个新终端在新选项卡中打开

我习惯使用文件夹中的“在此打开终端”命令来打开终端。这会导致一些终端保持打开状态,而我实际上不再使用它们,或者我会搞不清楚哪个终端用于哪个用途。

我知道我可以标记终端选项卡等,但我可以强制正在打开的新终端成为终端屏幕中的新选项卡(如果已经打开了一个?)这样,我总是将它们放在一个终端中。

编辑 好吧,已经有一段时间了,我的 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它时,它会打开我当前的会话并创建一个新窗口。我还没有弄清楚,所以请随时提供帮助!

答案1

不幸的是,在现有的 gnome-terminal 会话中打开新选项卡已经成为人们想要的功能好几年了 - 请参阅这里

不过,还是有可能将一些东西拼凑起来的。例如答案提供了一种在 gnome-terminal 当前窗口中打开新选项卡的技巧。

相关内容