Existem muitas maneiras de fazer isso. A maneira que você menciona pode ser uma. xterm
é um programa que executa outro - ele envolve outro programa em um arquivo - geralmente seu shell - e canaliza a entrada que você o alimenta para os programas agrupados. A coisa sobre pseudo-terminais é que eles são apenas dispositivos emulados - e então xterm
adivinha o dispositivo no qual você eventualmente estará digitando. Claro, você pode se tornar muito mais específico. xterm
respeita todos os tipos de variáveis de ambiente - e, melhor ainda, xresources.
De man xterm
:
-
ttyModes
(classeTtyModes
)- Especifica uma string contendo as palavras-chave de configuração do terminal e os caracteres aos quais eles podem estar vinculados. As palavras-chave permitidas incluem: brk , dsusp , e , eol , eol2 , < em> apagar , apagar2 , flush , intr , matar , lnext , sair , rprnt , iniciar , status , parar , susp , swtch e weras . Os caracteres de controle podem ser especificados como
^
char
(por exemplo,^c
ou^u
) e^?
pode ser usado para indicar exclusão (127). Use^-
para denotar undef. Use4
para representar^\
, pois uma barra invertida literal em um recurso X escapa do próximo caractere. - Isso é muito útil para substituir as configurações de terminal padrão sem ter que executar
stty
sempre que umxterm
for iniciado. Observe, no entanto, que o programastty
em um determinado host pode usar palavras-chave diferentes; A tabela dexterm
está incorporada. - Se o recurso
ttyModes
especificar um valor para apagar, isso substituirá a configuração do recursoptyInitialErase
, por exemplo,xterm
inicializa o terminal para corresponder a esse valor.
- Especifica uma string contendo as palavras-chave de configuração do terminal e os caracteres aos quais eles podem estar vinculados. As palavras-chave permitidas incluem: brk , dsusp , e , eol , eol2 , < em> apagar , apagar2 , flush , intr , matar , lnext , sair , rprnt , iniciar , status , parar , susp , swtch e weras . Os caracteres de controle podem ser especificados como