Qual é o método mais portátil de iniciar um emulador de terminal?

14

Digamos que eu precise escrever um script que lance um terminal e execute um comando e preciso disso para trabalhar em vários sistemas. Como posso fazer isso de maneira segura e portátil?

xterm está sempre instalado? Eu suponho que qualquer * nix com uma GUI deve ter algum emulador de terminal. Como posso chegar a isso? Sistemas Debian têm x-terminal-emulator mas que, aparentemente, não funciona nem mesmo no Red Hat, e muito menos não-Linux * nixes .

    
por terdon 20.09.2013 / 18:02

2 respostas

10

Eu não acho que você pode. xterm não precisa ser instalado em todos os lugares e, de fato, provavelmente não é por padrão. Especialmente quando está em uso um ambiente de desktop que fornece seu próprio terminal.

Acho que a sua melhor aposta é provavelmente verificar a existência de alguns terminais diferentes (por exemplo, xdg-terminal , x-terminal-emulator , gnome-terminal , konsole , xterm ). E talvez trabalhe no sentido de obter o xdg-terminal realmente adicionado aos padrões do FreeDesktop.org.

Em seguida, você descobrirá que terminais diferentes têm maneiras diferentes de executar comandos e, às vezes, até versões diferentes do mesmo terminal ... por exemplo, consulte Bug do Debian # 648271 .

Você provavelmente também deve dar ao administrador / usuário uma maneira de definir um comando personalizado. Com certeza será necessário.

    
por 20.09.2013 / 18:21
3

Sim, você precisa usar um wrapper. Há um bom incluído com o i3 WM. Explicado aqui: link

Copie isso para uma função de shell no seu script: link

    
por 20.09.2013 / 20:39