É possível alterar em qual tty um emulador de terminal está conectado?

6

Se eu tiver um emulador de terminal (por exemplo, xterm ) por padrão, ele se conectará a um pseudoterminal como /dev/pts/3

O que eu gostaria de saber é se é possível conectá-lo diretamente a, digamos, tty1 ?

Poderei me conectar a um tty e exibi-lo como se eu estivesse realmente nesse tty (pressionando Ctrl + Alt + < kbd> F1 por exemplo)?

    
por Cameron Ball 28.07.2014 / 10:23

1 resposta

3

Sim e não. Você pode redirecionar os fluxos de entrada / saída de seus filhos - provavelmente seu shell - mas xterm terá pouco envolvimento lá. xterm possui o lado mestre dessa pty - ele abre em /dev/ptmx e no processo cria /dev/pts/3 . Mas o dá-lo de volta - o seu shell é proprietário agora, já que xterm o torna o líder da sessão. Tudo que o xterm faz é pegar a entrada do teclado e passá-la para o shell e pegar a saída do shell e passá-la para a tela. Desta forma, xterm executa funções de multiplexação - subdividindo e redirecionando a entrada e a saída entre pseudoterminais, mas pouco mais é relevante aqui depois que o arquivo estiver ativo.

Os consoles virtuais, no entanto, são outro assunto. Se a sua conta de usuário tiver permissões de sistema de arquivos adequadas, você pode lê-las e gravar de outros processos - ou outros terminais - de maneira mais simples - como em, você não precisa passar entrada / saída por meio de um mestre para falar processo em execução no lado do escravo. Você pode facilmente fazer essas coisas em quase todos os aspectos que importam exceto onde login está em causa. Ele irá matar qualquer ouvinte no dispositivo e só aceitará a digitação do teclado. Esse é o seu trabalho.

Ainda assim, suspeito que você esteja procurando alguma solução de autenticação. Você pode obter praticamente o mesmo nível de segurança com:

ssh -t localhost 'exec some process'

Isso fará com que você solicite autenticação com segurança, registre-o na máquina e execute algum processo em um novo pseudoterminal - você pode fazer isso de xterm , digamos.

    
por 28.07.2014 / 11:00