Use um shell diferente por padrão em cada emulador de terminal

2

Eu gostaria de alterar o shell padrão em cada emulador de terminal separadamente. Para esclarecer, eu quero que o Xterm use TCSH, pterm para usar pysh, gnome-terminal para usar BASH, etc. Isso é possível? Se sim, como isso pode ser feito?

    
por Devyn Collier Johnson 29.06.2013 / 22:29

2 respostas

1

Cada emulador de terminal tem sua maneira personalizada de selecionar qual shell executar:

  • O gnome-terminal tem o campo run a custom command instead of my shell no editor de perfis.
  • xterm (e pterm) usa o banco de dados xrdb para armazenar sua configuração, mas não permite configurar o comando para ser executado. Você poderia escrever um script de shell simples que encapsula o executável xterm para dar a ele um parâmetro executável .
  • O konsole tem o campo command no editor de perfis.

Portanto, você precisa descobrir, lendo o manual, como (e se) cada emulador de terminal pode ser configurado. Não há maneira comum: - (

Se você precisa apenas de uma maneira simples de escolher qual shell executar, sugiro strongmente que escolha um emulador de terminal que suporte perfis (como o gnome-terminal) e crie um perfil diferente para cada tipo de shell. Desta forma, você pode lançar uma nova aba ou janela executando o shell necessário pelo menu interno do gnome-terminal (e, como bônus, escolha uma cor de texto diferente para cada shell).

    
por 29.06.2013 / 23:33
1

Como solução rápida e contida, você pode criar um script de wrapper.

case "$1" in
   xterm) shell=/bin/tcsh ;;
   pterm) shell=/bin/pysh ;;
   gnome-terminal) shell=/bin/bash ;;
   *)
       printf "Not supported: %s" "$1"
       exit 1
       ;; 
esac
SHELL=$shell $1

Use-o da seguinte forma: thescript <terminal_emulator> .

Geralmente é preferível configurar cada emulador de terminal individualmente.

    
por 29.06.2013 / 23:55