O “emulador x-terminal” funciona no OS X?

3

O Linux tem um comando x-terminal-emulator que ativará um novo emulador de terminal. E eu acredito que funciona com o emulador padrão definido.

  1. O OS X tem um comando similar ou o mesmo comando?
  2. Todas as versões do Mac OS X têm essa opção?

Minha intenção é que um script bash lance um novo script bash em uma nova janela de terminal.

Eu não tenho um Mac para testar isso agora.

    
por prolink007 23.10.2012 / 15:42

1 resposta

3

O x-terminal-emulator não existe no OS X. Ele dependeria do sistema alternativo , que simplesmente não funciona dessa maneira no OS X. Em vez disso, ele define aplicativos padrão para certos tipos MIME, esquemas de URI ou tipos de arquivo. Simplificando, isto é.

A maneira mais fácil e portátil de iniciar uma nova janela Terminal.app dentro de um shell é executar o seguinte comando AppleScript:

osascript -e 'tell app "Terminal" to do script ""'

Se você também precisar de foco nesta nova janela de terminal, execute depois disso:

osascript -e 'tell app "Terminal" to activate'

Para executar um script de shell a partir dessa janela, simplesmente forneça do script o caminho para o script de shell:

osascript -e 'tell app "Terminal" to do script "/path/to/script.sh"'

Novamente, se você precisar de foco depois disso, execute o segundo comando activate acima.

Alguns usuários do OS X podem ter iTerm2 instalado como um substituto para o padrão Terminal.app que acompanha o OS X. não se registra como terminal "padrão" - em geral não existe tal noção de um "terminal padrão" no OS X - alguns usuários podem optar por usá-lo para determinados esquemas de URL. Veja: Definindo iTerm2 como o terminal padrão (OSX Lion)

Caso contrário, não há configuração de "preferência" para os usuários escolherem o iTerm2 sobre o Terminal.app. Se você quiser usar iTerm2 em vez de Terminal.app, você pode verificar a seguinte resposta . O iTerm2 não aceita do shell script e requer write text para o seu prompt.

    
por 23.10.2012 / 19:43