Existe alguma maneira de abrir um programa em um tty específico?

1

Eu tenho um PC sem mouse ou teclado, mas ele está conectado a um monitor. Eu queria saber se é possível abrir um programa remotamente (como via SSH) em um tty específico (como tty1), então eu seria capaz de assistir a saída no monitor.

    
por Mids 01.10.2014 / 01:28

2 respostas

2

parece que a seguinte pergunta SO pode responder a sua pergunta: link

exec >/dev/tty 2>&1 deve fazer isso

apenas para alguns comandos > /dev/tty1 após o comando (como afirmado por David Schwartz) também funcionaria

    
por 01.10.2014 / 05:08
2

Você pode usar os consoles virtuais do Linux para isso. Cada console virtual é um modo de texto ou exibição gráfica, teclado e mouse separados, todos compartilhando o hardware de exibição real do computador.

Cada console virtual pode ser acessado através dos dispositivos tty /dev/ttyN , onde N é 1, 2, etc. /dev/tty1 é console virtual 1. Se você tivesse um teclado conectado ao computador, pressione Alt- F1 para chegar ao console 1, Alt-F2 para o console 2 e assim por diante (ou Ctrl-Alt-FN se o console atualmente exibido estiver rodando X). Há também um conjunto de programas para trabalhar com consoles virtuais que você terá que usar, já que você não tem um teclado.

Resumindo:

some-program > /dev/tty1 2>&1

redirecionará a saída de um programa para o console virtual 1. Se o console 1 não estiver no monitor, você poderá alternar para ele:

chvt 1

Um método melhor é executar openvt para iniciar um comando em um console virtual:

openvt -s some-command

Isto irá escolher um novo console virtual, torná-lo visível na tela e executar o comando especificado. O Openvt tem outras opções, então verifique a documentação.

Outros comandos úteis são fgconsole para exibir o número do console exibido no momento e deallocvt para limpar consoles não usados.

Todos esses comandos podem exigir privilégios de superusuário para serem executados.

    
por 01.10.2014 / 16:51