Essa dica é legal para quando estamos ensinando ou mostrando comandos para outro usuário, eles possam ver o que estamos fazendo.
Estarei logado como usuário root.
1º) Digite w, ficando assim:
# w
13:29:05 up 2:22, 2 users, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 mail.dominio- 13:11 0.00s 0.11s 0.02s w
root pts/1 10.0.0.1 13:29 4.00s 0.05s 0.05s -bash
Verificamos que estamos acessando a PTS/0 (prompt) e o outro usuário a PTS/1 (prompt).
2º) Acessando o terminal do usuário:
# script | tee /dev/pts/1
Com isso já estamos acessando o prompt do usuário.
Agora, qualquer comando que for feito, o usuário está olhando os comandos. Mas qualquer coisa que o usuário faça nós não conseguimos olhar.
Boa sorte!
[1] Comentário enviado por
albertguedes em 03/06/2008 - 16:48h:
Cara, sua dica me indicou muitos lances legais pra fazer com isso.
Só complementando, se você abrir 3 terminais no X, seja como user comum ou root, esses terminais vão ser respectivamente
/dev/pts/1
/dev/pts/2
/dev/pts/3
Então você pode mandar de qualquer um para qualquer outro simplesmente por um redirecionamento '>', como 'echo' a partir do terminal 1
$ echo "<frase>" > /dev/pts/2
que manda a "<frase>" para o segundo terminal que foi aberto.
O mesmo se aplica aos consoles F1, F2, etc, só que em vez de '/dev/pts/<numero>', teremos '/dev/tty<numero>'.
E isso tudo descobri só com sua dica, nem precisei ler o man, valeu cara.
[2] Comentário enviado por
albertguedes em 03/06/2008 - 16:56h:
Acabei de descobrir que funciona remotamente também com ssh.
É só dar o comando
$ ssh <user>@<host> "<comando> > /dev/pts/<numero>"
ou
$ ssh <user>@<host> "<comando> > /dev/tty<numero>"
onde '<user>@<host>' é o usuario e o host para onde você deseja mandar o redirecionamento.
Desculpe se pareço intrometido, mas adorei essa coisa, eu precisava disso a tempos e só agora descobri. Mais uma vez , valeu mesmo Rafael.
[3] Comentário enviado por
Ruy_Go em 03/06/2008 - 19:09h:
Bem interessante, eu no caso uso o screen... desculpe me meter, mas acho ele bem mais prático, e tdo que o outro usuario escrever ou executar, teremos como estar vendo tambem ;D
[4] Comentário enviado por
phillip.f.f em 04/06/2008 - 11:08h:
Boa dica.
[5] Comentário enviado por
molecula21 em 04/06/2008 - 11:24h:
@Ruy_Go
e como se faz isso com o screen?ja procurei em muito sitio mas não encontrei nada de muito convincente... agradecia a ajuda
[6] Comentário enviado por
removido em 04/06/2008 - 14:57h:
Ruy,
Basta você logar com um usuário e digitar screen. Em outro terminal, logue com o mesmo usuário e digite screen -x
Pronto, os dois terminais vão interagir totalmente.
[7] Comentário enviado por
albertguedes em 04/06/2008 - 15:27h:
O screen é bom, mas essa dica do Rafael é útil pra fazer coisas em scripts e em programas , principalmente em C, onde podemos tratar os '/dev/ttyx' e os '/dev/pts/x' como arquivos e realizar as saidas.