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,^cou^u) e^?pode ser usado para indicar exclusão (127). Use^-para denotar undef. Use4para 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
sttysempre que umxtermfor iniciado. Observe, no entanto, que o programasttyem um determinado host pode usar palavras-chave diferentes; A tabela dextermestá incorporada. - Se o recurso
ttyModesespecificar um valor para apagar, isso substituirá a configuração do recursoptyInitialErase, por exemplo,xterminicializa 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