
Preciso acessar um computador remoto (que está conectado a uma tela), usando SSH - o problema é que os programas que eu inicio via SSH precisam ser mostrados na tela remota ( tail
, htop
, slurm
, ...)
O computador remoto não possui X, apenas um terminal de texto simples.
Como posso executar comandos no computador remoto que aparecem na tela?
Responder1
Afaik, não é possível escrever diretamente em SSH no console de uma tela remota.
No entanto, é possível contornar isso com screen
. Você só precisará de um acesso inicial ao PC ao qual está conectado.
- No PC desktop, abra uma
screen
sessão com o comandoscreen -s sessionName
- Então, em
SSH
, você pode conectar-se neste shell com o comandoscreen -x sessionName
Responder2
O console de modo texto de um sistema Unix geralmente pode ser acessado através de um dispositivo TTY. No Linux, você normalmente acessaria /dev/console ou /dev/ttyN, onde "N" é um número começando com 1.Esta páginafornece uma descrição bastante abrangente dos dispositivos TTY que representam o console Linux.
Os dispositivos TTY têm proprietários e permissões de arquivo como qualquer outro arquivo, e essas coisas podem restringir quem pode acessar o dispositivo TTY. Por exemplo, no meu sistema vejo:
$ ls -l /dev/console
crw------- 1 myid staff 0, 0 Oct 27 2014 /dev/console
No momento, sou o proprietário do dispositivo de console e as permissões estão definidas como 600, o que significa que apenas minha conta e root podem gravar nele. É normal que a propriedade do console pertença à conta conectada no console no momento.
Supondo que você possa acessar o dispositivo TTY relevante - porque você é root, ou é o proprietário do dispositivo, ou as permissões estão definidas para permitir o acesso a ele - então você pode ler ou escrever nele como qualquer outro dispositivo de caractere:
$ tail -f /var/log/messages > /dev/console
Este comando, por exemplo, seria executado tail
, gravando a saída no dispositivo do console.