我有一个自定义标题的xterm窗口。xterm按以下方式启动:xterm -T customTitle
。在
我想从另一个xterm或gnome终端上运行的python/bash脚本向这个xterm窗口输入一个命令(例如ls-l),然后按Return(enter)执行命令。在
这可能吗?有没有一种方法可以通过窗口标题或pid找到一个活动的xterm并从另一个终端执行命令?在
如果这不能以编程的方式完成,是否有一些python库可以让我通过给定的标题找到窗口,并模拟键盘,就像有人在输入文本一样?在
谢谢!在
Tags:
稍微扩展一下Aro的答案,如果您有一个PID并想找出进程正在使用的tty,一个
ps
命令,比如ps o tty= «PID»
。用实际的PID号代替«PID»
。在ps的o选项告诉它下面是一个输出格式列表。本例中的列表是
tty=
,它选择用于输出的控制tty(终端),并为列指定一个空白标签,该标签将取消标题行。 以下是我的系统中的一个示例转录本(带提示符):关于响应提示的问题,^{} 命令可能是相关的。但是,我相信您需要编写一个
expect
脚本,该脚本在目标终端上运行,而不是在其他控制终端上运行。为此,您可以在expect
脚本中包含xterm -T customTitle
命令,但是说xterm -T customTitle -e somescript
可能更容易,其中somescript
是一个expect script
,或者是一个shell脚本,它设置了内容,然后运行expect
。如果您试图自动执行的命令是在没有任何用户交互的情况下运行的,那么省略xterm
命令,只在后台进程中运行它。在您可以尝试此操作,运行命令并将输出重定向到xterm终端-
/dep/pts/5
是从xterm上的“tty”命令获取的文件描述符!在希望这有帮助!在
相关问题 更多 >
编程相关推荐