Terminal Linux que suporta personalização de ícone, cor do cursor e todas as outras cores

Terminal Linux que suporta personalização de ícone, cor do cursor e todas as outras cores

Além do evilvte, existe algum emulador de terminal no Linux que (sem travar) me permita, por host, especificar o cursor, o primeiro planoecor de fundoe tambémícone (ou seja, o ícone mostrado quando o aplicativo em execução é minimizado)?

Estou fazendo SSH em um grande número de hosts diferentes e para facilitar o controle de qual host estou conectado, cada host tem um esquema de cores exclusivo (ou seja, uma combinação única de plano de fundo, primeiro plano e cor do cursor) que uso no terminal Windows. Para tornar mais fácil navegar instintivamente de maneira adequada entre essas sessões de terminal, também confio na personalização da configuração do emulador de terminal para que o ícone usado quando for minimizado (ou ao fazer ALT-TAB em minha área de trabalho XFCE) reflita o esquema de cores. está usando.

(Eu tenho um programa Perl que gera um gráfico de terminal com cores de fundo, primeiro plano e cursor que correspondem ao esquema de cores que uso para o host, para que possa gerar facilmente um ícone apropriado para cada host com o qual devo trabalhar)

O problema com esta abordagem não é que ela não funcione (ela realmente funciona perfeitamente!), mas que é difícil escolher um emulador de terminal bom o suficiente que suportetodosda seguinte:

  • Gráficos de ícones personalizáveis ​​por sessão (no sentido de que posso especificar qualquer imagem no disco).
  • Fundo personalizável por sessão, primeiro planoecor do cursor.
  • De preferência também por sessão de cores ANSI personalizáveis ​​(incluindo cores 'brilhantes' de 8 a 15), simplesmente porque se a cor de fundo for vermelha, quero ajustar o vermelho ANSI e o vermelho brilhante para que sejam um pouco diferentes da cor de fundo. (Sim, recebi um script que automatiza esses ajustes também)

No momento confio no evilvte porque é o único software de terminal que me permite personalizar tanto o ícone quanto todas as cores (cursor, primeiro plano, fundo, negrito, escuro e todas as ANSI). O problema com o evilvte é que preciso compilar um binário separado por sessão (parcialmente automatizado e funciona, mas francamente uma abordagem bastante feia). Além disso, evilvte não oferece suporte para diminuir a largura ou altura da janela do terminal (ou seja, diminuir o número de colunas ou linhas), apesar de permitir aumentar a largura/altura. Outro problema potencial com o evilvte é que fiz um hack bastante feio para ajustar todas as cores ANSI, o que pode ou não funcionar em versões futuras do evilvte.

Eu tentei o gnome-terminal, mas originalmente não tinha a capacidade de personalizar a cor do cursor e uma vez incluído suporte paraquefoi decidido remover a capacidade de personalizar o ícone por sessão.

Qualquer indicação para um terminal que forneça todos os recursos de que preciso, mas sem as dores de cabeça que tenho ao usar o evilvte, seria apreciada.

Editar: Matt Jenkins fornece uma resposta boa e bem escrita, onde sugere que eu use o xterm e fornece algumas boas dicas sobre como usá-lo. Infelizmente, o xterm tem algumas limitações que o tornam inadequado para minhas necessidades (o xterm suporta apenas mapas de pixels monocromáticos em preto e branco e é codificado, compilado em cores ANSI). Então, não aceitei a resposta dele (clicando na marca de seleção), mas ainda "aumentei" um ponto.

Responder1

Parece que "konsole" é seu amigo.

Após uma extensa investigação em vários programas de terminal, descobri:

  • konsolesuporta a configuração de esquemas de cores personalizados:

insira a descrição da imagem aqui

  • konsolesuporta ícones personalizados:

insira a descrição da imagem aqui

  • konsolesuporta vários perfis - sem necessidade de scripts. Basta criar um novo perfil para cada servidor. Você pode até incluir o comando ssh no perfil para fazer login automaticamente no servidor.

insira a descrição da imagem aqui

Ah, e konsoletambém tem guias, para que você possa reduzir a desordem e agrupar servidores em menos janelas. (Talvez todos os seus servidores web em uma janela, todos os seus servidores de arquivos em outra, etc.).

Para definir o ícone no gerenciador de janelas (que é um ícone separado do ícone "perfil") você precisa especificar o sinalizador --icon para o comando konsole:

$ konsole --icon /usr/share/icons/oxygen/16x16/apps/java.png

Que dá:

insira a descrição da imagem aqui

Combinar isso --profiledeve produzir o resultado que você procura.

Observe que este ícone do gerenciador de janelas não muda quando você muda de aba, então ele pode ser usado como um ícone para identificar grupos de abas - digamos, todos os seus servidores web - ou você não usa as abas e apenas se limita a 1 janela por servidor.

Responder2

A maioria dos softwares de terminal Linux fornece sinalizadores de linha de comando para definir o comportamento - mesmo os mais básicos xterm.

Vamos abordar alguns de seus requisitos:

  • Gráficos de ícones personalizáveis ​​por sessão (no sentido de que posso especificar qualquer imagem no disco).

Isso não tem nada a ver com o programa do terminal. Estes são ícones de "atalho" que iniciam o programa do terminal (acho que é isso que você procura). Você deveria olhar para o.Área de Trabalhoformato de arquivo.

  • Por sessão, fundo personalizável, primeiro plano e cor do cursor.

Você deve investigar quais sinalizadores de linha de comando seu programa de terminal favorito possui. Por exemplo, xterm tem -fge -bg:

$ xterm -fg gold -bg darkblue
  • De preferência também por sessão de cores ANSI personalizáveis ​​(incluindo cores 'brilhantes' de 8 a 15), simplesmente porque se a cor de fundo for vermelha, quero ajustar o vermelho ANSI e o vermelho brilhante para que sejam um pouco diferentes da cor de fundo. (Sim, recebi um script que automatiza esses ajustes também)

As cores ANSI são padrões predefinidos. Eles não deveriam ser alterados. A maioria dos programas de terminal permitirá que você especifique o primeiro plano e o plano de fundo "padrão" a partir de uma grande paleta de cores que não está limitada às 16 cores ANSI normais. Para obter uma lista completa dessas cores, dê uma olhada no arquivo rgb.txt. Ele está em algum lugar da sua distribuição Linux e contém cores X11 "padrão". No Ubuntu está em /usr/share/X11/rgb.txt.

Como uma identificação adicional, a maioria dos programas de terminal permitirá que você defina o título da janela. Por exemplo, com o bom e velho xterm você pode usar:

$ xterm -bg darkblue -fg gold -title "My terminal"

E até mesmo inserir um comando para executar:

$ xterm -bg darkblue -fg gold -title "Web Server" -e "ssh [email protected]"

O que você acaba é algo assim:

insira a descrição da imagem aqui

Coloque esse comando no destino de um arquivo "Web Server.desktop", junto com um ponteiro para o ícone do servidor web, e Bob será seu tio!

Editar:

Acabei de ler um pouco sobre como você deseja usar os ícones.

Definir o ícone na barra de título é um caso de configuração do recurso X "iconPixmap". Isso pode ser feito com o -xrmsinalizador para apontar para um arquivo "XBM":

$ xterm -xrm '*iconPixmap: /path/to/icon.xbm'

informação relacionada