A questão foi modificada nos comentários: Como obter a cor de fundo? Para isso, o comando xtermcontrol --get-bg
pode ser usado.
Esse comando específico depende do emulador de terminal que suporta a seqüência de escape do OSC 11, que geralmente acompanha o OSC 12 (primeiro plano; xtermcontrol --get-fg
), OSC 4 (cores da paleta; xtermcontrol --get-color0
.. --get-color15
) e alguns outros. Alguns emuladores de terminal populares implementam estes, alguns outros populares não, portanto, esses comandos não funcionam em todos os lugares. O widget VTE e, por sua vez, emuladores de terminal baseados em VTE, como gnome-terminal
, suportam estes.
Essas seqüências de escape são bastante complicadas quando são usadas para consultar as cores em vez de defini-las: A resposta é injetada pelo emulador de terminal exatamente como se viesse do teclado, ou seja, como se o usuário o tivesse digitado. xtermcontrol
lê essa entrada e depois imprime como saída, ocultando esse detalhe técnico. (E se você realmente quiser, você pode enganar xtermcontrol
para reportar uma resposta errada digitando manualmente a partir do teclado, haha.)
Voltar para a pergunta original:
Não há como consultar o perfil atual no gnome-terminal. Por quê?
-
A leitura de
gsettings
oudconf
não pode funcionar por dois motivos:-
Eles contêm a configuração estática (configurações) do gnome-terminal, não as informações de tempo de execução. Mesmo que contivessem informações de tempo de execução, elas teriam que conter as informações de todas as janelas e guias abertas do terminal gnome, cada uma das quais poderia estar usando um perfil separado. E então, de alguma forma, ainda precisaríamos identificar qual deles procurar.
-
Eles só podem funcionar localmente, não em, por exemplo,
su
oussh
.
-
-
O gnome-terminal pode inicializar uma variável de ambiente quando uma janela ou aba é aberta, mas não há como atualizá-la subseqüentemente se o perfil for alterado. (Veja também a discussão sobre
$COLORFGBG
no link .) -
Ele poderia relatar o perfil atual como uma resposta a alguma seqüência de escape, como se o usuário o tivesse digitado do teclado (similarmente ao OSC 4, 10, 11). No entanto, não há um padrão para isso, e isso até teria implicações de segurança (veja link ), mais presumivelmente não há suporte no utilitário
xtermcontrol
por muitos anos (ainda não suporta 256 cores ainda).