Estou encaminhando o comando de um terminal para o outro. No momento, estou fazendo o seguinte
Eu crio o novo terminal
gnome-terminal
Eu recebo o seu tty via
w
então eu posso encaminhar comandos para ele através de um script python (encontrado aqui: link )
#!/usr/bin/python
import sys,os,fcntl,termios
if len(sys.argv) != 3:
sys.stderr.write("usage: ttyexec.py tty command\n")
sys.exit(1)
fd = os.open("/dev/" + sys.argv[1], os.O_RDWR)
cmd=sys.argv[2]
for i in range(len(cmd)):
fcntl.ioctl(fd, termios.TIOCSTI, cmd[i])
fcntl.ioctl(fd, termios.TIOCSTI, '\n')
os.close(fd)
isso está funcionando bem, exceto que eu tenho que obter manualmente o tty da nova janela, o que não funciona bem para encapsular isso em um script maior. Existe uma maneira de um script obter o tty do gnome-terminal que ele abre?
Minha solução agora é fazer com que o script chame "w" antes e depois da chamada para "gnome-terminal" para inferir qual terminal acabou de ser aberto, mas está propenso a erros.