设置终端选项卡标题
我正试图在gnome-terminal中打开几个终端选项卡,到目前为止我已经设法做了一些事情 ,但我现在卡住了。
所以,我有以下要求:
- 打开标题为“X”和“Y”的标签
- 执行一些命令
- 保持标签打开并准备好进一步使用; 保持标题。
到目前为止,我设法满足了一些要求,但并非所有要求:
gnome-terminal --tab -t "X" -e "bash" --tab -t "Y" -e "top"
这会打开两个标签:
- “X”(然后将标题更改为默认标题)
- “Y”,但是一旦我退出
top
,标签就会关闭。
有没有办法打开一个标签,启动bash
,但不能更改标题? 我试过Google,但放弃了。
编辑:它不一定是一个命令。
正如您在其他答案中所看到的,每次输出提示时,shell都会更改选项卡的标题。 执行top
您的选项卡退出,因为您告诉它运行的命令完成…
我会做以下事情:
第1步:使用shell调用终端,添加如下环境变量:
gnome-terminal --tab -t X -e "env MYTAB=X bash" --tab -t Y -e "env MYTAB=Y bash"
第2步:在.bashrc
的末尾添加以下代码:
#if MYTAB is not set, return [ -z "$MYTAB" ] && return # reset the cursor and title PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' PS1="\[\e]0;$MYTAB \w\a\]$PS1" #title: $MYTAB and current dir # execute the commands for every tab case "$MYTAB" in X) echo this is X ;; Y) echo this is Y top ;; esac
…我认为这很容易理解,您可以使用您需要的命令/调整进行修改。 测试并且工作正常; 从标签退出top
后,您仍然会有提示和标签供您阅读。
屏幕截图(在top
按“q”后):
要保留标签标题,您需要在.bashrc
注释以下行:
# If this is an xterm set the title to user@host:dir #case "$TERM" in #xterm*|rxvt*) # PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1" # ;; #*) # ;; #esac
然后gnome-terminal --tab -t "X" -e "bash" --tab -t "Y" -e "top"
将按预期工作:
我假设它不必是一个命令,并提供一个完全图形化的方式来做到这一点。
启动gnome-terminal后,“文件”菜单允许您打开将分配给定标题的新选项卡。 可以通过“终端”菜单或右键单击选项卡并从上下文菜单中进行更改。
然后你可以打开顶部和你想要的任何其他命令,它都在终端中,作为一个正常的,未绑定的进程运行,从任何其他终端运行 – 只是桌面环境 – 在它感觉完成之后不会死掉它应该做的。
在玩的时候,我发现根本不是命令 – 这是个人资料。
去:
Edit | Profiles | (Default) | Edit | Title and Command
并将“当终端设置自己的标题时”选项更改为“保留初始标题”,位于列表的底部。 现在,当您启动带有标题的命令时,它会一直存在,因此您的命令将正常工作。