从命令行访问 gnome 终端配置文件的名称

Zar*_*doz 5 gnome gnome-terminal

Gnome 终端允许拥有不同的配置文件。是否可以从命令行获取该终端启动的配置文件名称?

Gil*_*il' 3

这似乎不可能,但是您可以找到默认的终端标题,因此您需要做的就是配置不同的默认标题来区分选项卡或配置文件。

控制序列ESC [ 2 1 t要求终端将其标题插入终端输入流。(有关 xterm 和类似程序的转义序列的更多信息,请参阅Xterm 控制序列)。具体来说,终端(如果它支持此功能;gnome-terminal 支持)会响应ESC ] l title ESC \

下面是一个 bash 函数,它设置变量,该变量的名称作为第一个参数传递给 xterm 标题(如果有)。如果终端不支持该功能,则一秒后超时,并返回非零错误代码。

read_xterm_title () {
  # Clear IFS so that read doesn't do any word splitting.
  local IFS= read_xterm_title_header=
  # $1 is expected to be a parameter name. Do a crude format check.
  if [[ $1 = '' || $1 = *[!0-9_A-Za-z]* ]]; then return 120; fi
  eval $1=
  # Expect "ESC ] l title ESC \\"
  read -p $'\e[21t' -s -t 1 -r -n 3 read_xterm_title_header &&
  [[ $read_xterm_title_header = $'\e]l' ]] &&
  read -p '' -s -t 1 -r -d $'\e' $1 &&
  read -s -t 1 -r -n 1
}
read_xterm_title title
case $title in ...
Run Code Online (Sandbox Code Playgroud)