我有一个python脚本,它使用xterm每分钟在新的终端窗口中启动一个新实例(见下文)。我正在使用具有多个桌面(?)的Java桌面运行solaris,如果在不同的桌面上工作,当我希望它出现在脚本初始运行的桌面上时,新终端会出现。我确定答案是xterm命令,但无法在任何地方找到它!
import sys, os, subprocess, time
i = 1
args = ['xterm', '-e', 'python2.6', 'script.py']
x = int(sys.argv[1])
while i <= x:
subprocess.Popen(args)
i += 1
time.sleep(60)
答案 0 :(得分:0)
我无法追踪链接以获得更好的解释,但我的理解是,X协议不会让窗口管理器在启动“命令”时确定哪个桌面应该获得新窗口变得容易新窗口来自窗口管理器外部。
例如,您的窗口管理器可能会提供一个工具栏来启动程序并知道它所在的桌面,然后可以告诉窗口管理器在呈现新客户端窗口时使用哪个桌面。但是,如果系统上的某些其他应用程序在不知道桌面的情况下启动窗口并且不知道与窗口管理器通信的机制与期望的窗口以及要使用的桌面,那么它只会转到“活动”桌面上。 / p>
某些窗口管理器允许您在窗口类或名称上指定一些提示。 (运行xprop(1)
,单击客户端,查看一些可用的窗口管理器提示。)
例如:
如果您的窗口管理器可以轻松匹配具有不同属性的新客户端窗口并将其移动到您希望的位置,那么您可以使用xterm(1)
的{{1}}命令行选项来覆盖资源类,如果-class
窗口名称不足以满足您的需求。