envia o comando para uma sessão de tela já em execução

9

Eu tenho tentado enviar comandos para uma sessão de tela do gnu em execução (4.00.03) no opensolaris, mas não consigo executá-los para executar comandos através de qualquer combinação de screen -X

Ok, iniciei uma sessão de tela com screen -S test e tentei com screen -r -X "date" apenas mostrar a data, quando eu me reconectaria a ela. Mas nem uma mensagem de erro nem uma saída na tela aconteceram. Eu tentei com tantas combinações, que nem me lembro.

Alguma dica de como fazer isso?

A razão pela qual estou fazendo isso é, porque eu tenho um programa, que não vem como um daemon, e gostaria de iniciá-lo em uma sessão de tela, para que eu possa ver mais tarde o que está acontecendo.

    
por Der Hochstapler 05.03.2010 / 09:59

3 respostas

17

Na verdade, é bem simples. Você pode usar o seguinte:

screen -S sessionname -X stuff 'command''echo -ne '5''

echo -ne '5' emula pressionando a tecla Enter .

NOTA: esse 'material' é um comando de tela. link

    
por 22.04.2011 / 11:03
4

Parece que você quer:

$ screen -S test -d -m -c /dev/null -- sh -c 'date; exec $SHELL'

-S test: name this session
-d -m: start screen detached
-c /dev/null: ignore ~/.screenrc (provide a different file or drop this option,
  as needed)
--: end of screen options
sh -c 'date; exec $SHELL': command for screen to run, note that if this command
  was just 'date' then screen would exit immediately.  if you don't want to exit
  screen after your command exits, then you might use:
    $ screen -S test -d -m -c /dev/null -- your command here

Ou talvez você só queira dtach .

    
por 05.03.2010 / 21:41
1
screen -S <session_name> -X screen [-t <title>] <shell_command> [<args>]

Abra uma nova janela (com o título title ) em uma sessão existente chamada session_name , e execute shell_command (com argumentos opcionais args )

    
por 18.07.2013 / 17:23