Я пытаюсь вывести разную информацию на двух терминалах из одного и того же скрипта Python (очень похоже на этот сотрудник ). Способ, на который, как мне показалось, указывает мое исследование, - это открыть новое окно xterm, используя subprocess.Popen и работающий cat, чтобы отобразить stdin терминала в окне. Затем я бы записал необходимую информацию в стандартный поток подпроцесса следующим образом:
from subprocess import Popen, PIPE
terminal = Popen(['xterm', '-e', 'cat'], stdin=PIPE) #Or cat > /dev/null
terminal.stdin.write("Information".encode())
Строка «Информация» будет отображаться в новом xterm. Однако, это не так. Xterm ничего не отображает, а метод stdin.write просто возвращает длину строки и затем перемещается дальше. Я не уверен, что существует неправильное понимание того, как работают подпроцесс и конвейеры, но если кто-нибудь сможет мне помочь, это будет высоко оценено. Благодарю.