Mostrando seu prompt para outro usuário

Publicado por Rafael Tomelin em 03/06/2008

[ Hits: 10.493 ]

Blog: http://teclinux.no-ip.org:8080

 


Mostrando seu prompt para outro usuário



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!

Outras dicas deste autor

Redundância de links v0.1

Implementando servidor de horas no Linux

Administrando o CUPS por linha de comando (parte 1)

SSH (PuTTY) automatico pelo Windows

Leitura recomendada

Comando para manter o histórico do bash limpo

GRUB2 - Resolvendo o erro unknown filesystem - grub rescue

Verificando logs do Squid em tempo real

Login do Ubuntu não funciona - Erro na variável de ambiente PATH [Resolvido]

Sincronizar horário no Debian

  

Comentários
[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 removido 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.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts