从另一个终端读取 Linux 终端输出

从另一个终端读取 Linux 终端输出

以前,我会rdp进入同一终端上的设备,这样我就可以读取正在发生的事情,无论连接是否打开。我使用 python 中的 try 和 except 来做到这一点。

但现在,我使用gnome-terminal -x打开另一个终端。这样我就可以打开多个会话rdp

因此,我无法确定它是否已打开。

我如何知道哪些打开了,哪些失败了?以前,如果由于凭据错误而无法登录,它会执行 except。现在,即使登录失败,它也不会执行 except 部分。(现在就像之后一样gnome-terminal -x)我现在能做什么?

这是我的代码:

import sys
import subprocess
import os
ip = "192.168.1.21"
password = "sam"
username = "root"
print "START!"
try:
      ans = subprocess.check_output(['gnome-terminal','-x','sudo','xfreerdp','-u',username,'-p',password, ip])
      os.system("y")



except:
      print("Cant Login!")
print "DONE!!"

答案1

您可以使用屏幕吗?

用于$ screen -S "popeye"创建名为 popeye 的会话

Ctrl+ a,d 退出会话。

用于$ screen -x "popeye"重新连接到会话并检查事物。

然后,当您完成后,您只需exit在屏幕会话中键入内容,它就会退出会话。

相关内容