Acesse o nome do perfil do terminal gnome na linha de comando

2

O terminal Gnome permite ter perfis diferentes. É possível obter o nome do perfil sob o qual esse terminal iniciou a partir da linha de comando?

    
por Zardoz 11.10.2010 / 01:52

2 respostas

2

Isso não parece ser possível, mas você pode descobrir o título do terminal padrão, então tudo que você precisa fazer para distinguir entre guias ou perfis é configurar diferentes títulos padrão.

A seqüência de controle ESC [ 2 1 t pede ao terminal para inserir seu título no fluxo de entrada do terminal. (Veja Sequências de controle Xterm para mais informações sobre sequências de escape para programas xterm e similares). Especificamente, o terminal (se ele suportar esse recurso; o gnome-terminal responde) responde com ESC ] l title ESC \ .

Aqui está uma função bash que define a variável cujo nome é passado como o primeiro argumento para o título xterm, se disponível. Ele expira após um segundo se o terminal não suportar o recurso e retorna um código de erro diferente de zero.

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 ...
    
por 12.10.2010 / 00:32
1

Você costumava fazer isso com gconftool2 e, em seguida, com dconf e agora tem a ver com gsettings , mas é um GUID, então algo assim pode ser o que você deseja:

gsettings get org.gnome.Terminal.ProfilesList default | tr -d \'

e no contexto de definir uma variável:

gsettings set org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:$(gsettings get org.gnome.Terminal.ProfilesList default | tr -d \')/ cursor-blink-mode off

por link

    
por 17.05.2018 / 04:56