OK, vamos admitir que você conectou um monitor a um computador que executa Linux.
O display mostrará uma tela de login solicitando usuário e senha.
Estou logado via SSH em pts/0
Agora posso executar um programa em TTY1 como este
some-program > /dev/tty1 2>&1
Mas o que procuro é a possibilidade de apenas mostrar meu console para tty1 sem que o usuário possa interferir. Tentei:
screen > /dev/tty1 2>&1
mas abriu a tela em pts/1 em vez de tty1. tentei
top > /dev/tty1 2>&1
o resultado foi uma tela escura, alguma dica?
Responder1
Oopenvt
comando, presente nokbd
pacote no Debian, trata especificamente do uso de VTs.
Por exemplo, você pode continuar top
com /dev/tty8
:
openvt -c 8 -- top
Ele se encarrega de preparar o ambiente desanexado correto para o comando bifurcado (redirecionando I/Os para o VT, chamando setsid(2)
etc.) e retorna imediatamente.
Evitei /dev/tty1
neste exemplo porque muitas vezes os primeiros /dev/ttyX
já são usados para gerar prompts de login.
Usarchvt
(por exemplo chvt 8
, ) se você tiver que alterar o VT a ser exibido.
Você também pode optar por não especificar o VT e deixar openvt
escolher o primeiro disponível, e mudar imediatamente para ele usando -s
, então isso funcionaria de uma só vez:
openvt -s -- top
Tenha cuidado para não deixar instâncias mais antigas em execução...