1

我有一个 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)
4

1 回答 1

0

我无法找到更好的解释的链接,但我的理解是,当启动新窗口的“命令”产生时,X 协议无法让窗口管理器轻松确定哪个桌面应该获得新窗口从窗口管理器外部。

例如,您的窗口管理器可能会提供一个工具栏来启动程序并知道它在哪个桌面上,然后可以告诉窗口管理器在呈现新的客户端窗口时使用哪个桌面。但是,如果系统上的某些其他应用程序在不知道桌面并且不知道与窗口管理器通信的机制的情况下启动一个窗口,期望哪个窗口以及使用哪个桌面,它只会进入“活动”桌面。

一些窗口管理器允许您指定一些关于窗口类或名称的提示。(运行xprop(1),单击客户端,查看一些可用的窗口管理器提示。)

例如:

如果您的窗口管理器可以轻松匹配具有不同属性的新客户端窗口并将它们移动到您希望的位置,那么如果窗口名称不足以满足您的需要,您可以使用xterm(1)'s-class命令行选项覆盖资源类。-e

于 2012-01-17T00:55:19.053 回答