linux - write commands from one terminal to another
linux, redirect, stdin, terminal, tty
Solution
Python code:
#!/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)
Problem
I need to write commands from one terminal to another terminal. I tried these: ``` echo -e "ls\n" > /proc/pid/fd/0 echo -e "ls\n" > /dev/pts/4 ``` Which just prints the `ls` as output and doesn't execute. I tried these: ``` chmod 777 /dev/tty4 ;echo "ls" > /dev/tty4 chmod 777 /dev/tty40 ;echo "ls" > /dev/tty40 ``` Which don't seem to do anything Any ideas? [note that I don't want to touch the second terminal to accomplish this. only the first one]