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


8

我习惯在文件夹中使用“在此处打开终端”命令打开终端。这会导致一些终端保持打开状态,而我实际上不再使用它们,否则我会感到困惑,即哪个终端有什么作用。

我知道我可以标记终端标签等,但是我可以强制将要打开的新终端变成终端屏幕中的新标签(如果已经打开了吗?)这样,我总是将它们标签在一个标签中终奌站。

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


按ctr + shift + t在终端中打开选项卡。
Ankur Khandelwal 2014年

是的,我知道。但是,正如我所说,我经常使用插件“在此处打开终端”从目录中打开选项卡(例如,这在Xubuntu中是默认设置)。这些将打开一个新窗口。我希望在现有的终端窗口中将它们作为新选项卡打开。
Christophe De Troyer

Answers:


3

不幸的是,在现有的gnome-terminal会话中打开新选项卡已成为人们几年来的通缉功能-参见此处

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


优秀的。+1为错误报告的链接。我只能鼓励大家单击顶部的“这也会影响我”链接来引起对此的注意。也为骇客+1。好答案!
Christophe De Troyer
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.