Linux Terminal que suporta o ícone de personalização, a cor do cursor, bem como todas as outras cores [fechadas]

1

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

Estou fazendo SSH em um número bastante grande de hosts diferentes e para facilitar o acompanhamento do host em que estou conectado, cada host possui um esquema de cores exclusivo (ou seja, uma combinação exclusiva de fundo, cor de primeiro plano e cursor) eu uso para o seu terminal Windows. Para facilitar a navegação instintiva entre essas sessões de terminal, também confio na personalização da configuração do emulador de terminal, de modo que o ícone usado quando está minimizado (ou ao fazer ALT-TAB na área de trabalho do XFCE) esteja refletindo 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 combinando com o esquema de cores que eu uso para o host, para que eu possa gerar facilmente um ícone apropriado para cada host que eu deveria trabalhar)

O problema com essa abordagem não é que ela não funcione (ela realmente funciona como um encanto!), mas é difícil escolher um emulador de terminal que suporte todos o seguinte:

  • Gráficos de ícone personalizáveis por sessão (no sentido em que posso especificar qualquer imagem no disco).
  • Plano de fundo personalizável por sessão, cor do cursor de primeiro plano e .
  • Preferencialmente também por sessão cores ANSI personalizáveis (incluindo cores 'brilhantes' 8 a 15), simplesmente porque se a cor do plano de fundo for vermelha, quero ajustar o vermelho ANSI e o vermelho brilhante para diferirem um pouco da cor do plano de fundo. (Sim, eu tenho um script que automatiza esse ajuste também)

Agora eu confio no evilvte porque ele é o único software de terminal que me permite personalizar tanto o ícone quanto todas as cores (cursor, primeiro plano, plano de fundo, negrito, sombreado e todos os ANSI). O problema com o evilvte é que eu tenho que compilar um binário separado por sessão (parcialmente automatizado e funciona, mas francamente abordagem bastante feia). Além disso, o evilvte não suporta que você diminua a largura ou a altura da janela do terminal (isto é, diminua o número de colunas ou linhas), apesar de permitir que você aumente a largura / altura. Outro problema potencial com o evilvte é que eu fiz um hack bastante feio para ajustar todas as cores ANSI para ele, o que pode ou não funcionar para futuras versões do malvado.

Eu já experimentei o gnome-terminal, mas originalmente ele não tinha a capacidade de personalizar a cor do cursor e uma vez incluído o suporte para que foi decidido remover a capacidade de personalizar o ícone por sessão.

Qualquer ponteiro para um terminal que forneça todos os recursos de que preciso, mas sem as dores de cabeça que recebo ao usar o evilvte, seria apreciado.

Editar: Matt Jenkins fornece uma resposta boa e bem escrita, onde ele sugere que eu use xterm e forneça algumas boas dicas para usá-lo. Infelizmente, o xterm tem algumas limitações que o tornam inadequado para minhas necessidades (o xterm suporta apenas pixmaps de ícones monocromáticos em preto e branco e tem código rígido, compilado em cores ANSI). Então, eu não aceitei sua resposta (clicando na marca de seleção), mas eu ainda "subi" um ponto.

    
por IllvilJa 10.04.2011 / 23:32

2 respostas

2

Parece que "konsole" é seu amigo.

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

  • konsole suporta a configuração de esquemas de cores personalizados:

  • konsolesuportaíconespersonalizados:

  • konsole suporta vários perfis - sem necessidade de scripts. Basta criar um novo perfil para cada servidor. Você pode até mesmo incluir o comando ssh no perfil para efetuar login automático no servidor.

Ah,ekonsoletambémétabulado,entãovocêpodereduziradesordemeagruparosservidoresemmenosjanelas.(Talveztodososseusservidoreswebemumajanela,todososseusservidoresdearquivosemoutro,etc).

Paradefiniroíconenogerenciadordejanelas(queéumíconeseparadoparaoícone"perfil"), você precisa especificar o sinalizador --icon no comando konsole:

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

O que dá:

Acoplar isso com --profile deve render o resultado que você procura.

Observe que este ícone do gerenciador de janelas não muda quando você altera as guias, portanto, ele pode ser usado como um ícone para identificar grupos de guias, por exemplo, todos os servidores da Web, ou você não usa as guias 1 janela por servidor.

    
por 11.04.2011 / 15:08
2

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

Vamos abordar alguns dos seus requisitos:

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

Estes não têm nada a ver com o programa do terminal. Estes são ícones "atalhos" que iniciam o programa do terminal (acho que é isso que você está procurando). Você deve olhar para o formato de arquivo .desktop .

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

Você deve investigar quais são os sinalizadores de linha de comando do seu programa de terminal favorito. Por exemplo, o xterm tem -fg e -bg :

$ xterm -fg gold -bg darkblue
  • Preferencialmente também por sessão cores ANSI personalizáveis (incluindo cores 'brilhantes' 8 a 15), simplesmente porque se a cor do plano de fundo for vermelha, quero ajustar o vermelho ANSI e o vermelho brilhante para diferirem um pouco da cor do plano de fundo. (Sim, eu tenho um script que automatiza esse ajuste também)

As cores ANSI são padrões predefinidos. Eles não devem ser alterados. A maioria dos programas de terminal permite 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ão limitadas às 16 cores ANSI normais. Para uma lista completa dessas cores, dê uma olhada no arquivo rgb.txt. Está em algum lugar na sua distribuição Linux e contém cores X11 "padrão". No Ubuntu está em /usr/share/X11/rgb.txt.

Como um bit adicional de identificação, a maioria dos programas de terminal permite definir 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 enviar um comando para executar:

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

O que você tem é algo assim:

Coloqueessecomandonodestinodeumarquivo"Web Server.desktop", junto com um ponteiro para o ícone do servidor da Web, e bob seu tio!

Editar:

Acabei de ler a parte sobre como você deseja usar os ícones.

Definir o ícone na barra de título é um caso de definir o recurso X "iconPixmap". Isso pode ser feito com o sinalizador -xrm para apontar para um arquivo "XBM":

$ xterm -xrm '*iconPixmap: /path/to/icon.xbm'
    
por 11.04.2011 / 00:58