Abra o terminal ao iniciar e passe um comando

2

Eu tenho um script perl que é executado a partir do terminal no Linux. Eu gostaria de ser capaz de arrancar, e quando o meu ambiente desktop começar, ele irá abrir automaticamente o meu terminal, e passar os argumentos para estrelar este programa, que são ./ttytter.txt -ansi -mentions -vcheck .

Como posso fazer isso?

    
por Simon Sheehan 06.01.2013 / 17:53

2 respostas

1

Às vezes precisamos executar programas em um terminal, podemos fazer assim:

xterm -e "sh -c './ttytter.txt -ansi -mentions -vcheck ; read"

A última "leitura" espera que você pressione enter para fechar o terminal.

Você pode usar um programa de terminal diferente e, em vez de "ler" no final, pode executar um shell, por exemplo:

gnome-terminal -e "sh -c './ttytter.txt -ansi -mentions -vcheck ; exec bash'"

Para alguns terminais (xterm) você pode não precisar do wrapper sh -c ''; para alguns (gnome-terminal), aparentemente precisamos disso.

Você pode colocar esse comando em .xinitrc, .xsession ou digitá-lo em uma caixa de diálogo "executar na inicialização".

Você também pode fazer isso com um arquivo / atalho .desktop do freedesktop, se você selecionar "executar no terminal", não tenho certeza de como ele está no topo da minha cabeça. Isso seria uma maneira muito amigável para fazê-lo! Veja se você consegue descobrir isso ...

Agora, se você quiser fazê-lo em geral para qualquer comando shell, precisa se preocupar com o shell escapando - e isso se torna mais difícil! Ou pode colocar seu comando em um script e executar o script.

Também pode ser útil ver o status de saída do comando, como echo $? onde 0 significa sucesso.

Desculpe pela resposta complexa demais, espero que possa ajudar.

    
por 07.01.2013 / 06:16
0

Você não precisa iniciar explicitamente um terminal. Basta adicionar seu script Perl a ~/.xsession , todos os comandos nesse arquivo serão executados após um login gráfico.

    
por 06.01.2013 / 18:11