在 Ubuntu 18.04.3 LTS 中,一旦“终端”窗口的选项卡与该窗口分离,是否可以将该选项卡重新附加到另一个已打开的终端窗口(带有其他选项卡)?
我刚刚升级到 Ubuntu 20.04,我无法使用鼠标滚轮在终端中的选项卡之间切换,这在 18.04 中很好。我找不到启用此功能的位置。是否有可能已删除此功能?
我正在尝试做的事情:
- 编写脚本以打开 3 个选项卡。
cd
进入每个选项卡中的不同文件夹(即:运行唯一命令)。PS1
通过修改其局部变量使每个选项卡具有唯一的标题- 确保每个选项卡在脚本运行后保持打开状态
我想要这个脚本,所以我可以单击我的桌面上的脚本并让它打开终端,因为我想要我的日常开发环境。
描述:
我有这个脚本来尝试打开 3 个终端选项卡,其中包含要在选项卡中运行的独特命令:
open_tabs.sh
#!/bin/bash
gnome-terminal --tab -- bash -ic "set-title title 1; exec bash"
gnome-terminal --tab -- bash -ic "cd ~; set-title title 2; exec bash"
gnome-terminal --tab
当我使用 运行它时./open_tabs.sh
,它会打开 3 个新标签,但不幸set-title
的是无法设置标签标题!看来这个PS1
变量并没有随着我的set-title
调用而保持不变。根据此答案和其下方的评论exec bash
,可以使标签保持打开状态。
我已经set-title
定义为这样的函数~/.bashrc
。它的目的是在任何终端窗口的顶部设置标题字符串。当我手动使用它时它工作得很好。例如:set-title hey how are you?
会放“嘿,你好吗?” 在我的终端窗口的顶部。
# From: https://unix.stackexchange.com/questions/177572/how-to-rename-terminal-tab-title-in-gnome-terminal/566383#566383
set-title() {
# If the length of string stored in variable `PS1_BAK` is zero...
# - See `man test` to know that `-z` means "the length of STRING is zero"
if [[ -z "$PS1_BAK" ]]; then
# Back up your current Bash Prompt String 1 (`PS1`) into a global backup variable `PS1_BAK`
PS1_BAK=$PS1
fi
# Set the title escape sequence string with this format: `\[\e]2;new title\a\]`
# - See: https://wiki.archlinux.org/index.php/Bash/Prompt_customization#Customizing_the_terminal_window_title
TITLE="\[\e]2;$@\a\]"
# Now append the escaped title string to the end of your original `PS1` string (`PS1_BAK`), and set your
# new `PS1` string to this new value
PS1=${PS1_BAK}${TITLE}
}
我该如何解决这个问题,以便每个选项卡运行一个命令,通过修改其PS1
变量来设置其标题,并保持打开状态?
请注意,gnome-terminal
已弃用其--title
和--command
选项,因此这些变通方法。
有关的:
- bash:在打开 gnome-terminal 选项卡时在 `bash -c` 命令中调用 ~/.bashrc 文件中定义的函数时出现“找不到命令”
- https://unix.stackexchange.com/questions/177572/how-to-rename-terminal-tab-title-in-gnome-terminal/566383#566383
使用多个选项卡打开终端并执行应用程序<== 这是我真正想要解决
gnome-terminal
的问题,但现在不推荐使用--command
( ) 选项!-e
# Option “--command” is deprecated and might be removed in a later version of gnome-terminal. # Use “-- ” to terminate the options and put the command line to execute after it.
从我读过的所有内容中,我应该在首选项下有一个选项可以在选项卡中打开新终端,并且 ctrl-alt-t 应该打开一个新选项卡,而不是新终端 - 但我错过了那个选项:(
当我检查我的 gnome-terminal 版本时,它是 3.28.2,我认为标签是在 3.10(ish) 版本前后引入的。
有什么建议么?我可以重新安装我的终端或其他东西吗?我在大学时(很久以前)在一个大型 Unix 系统上学习过,但是在 Windows 上已经有很多年了,我终于回来了,所以我现在对所有事情都生疏了:P