2012-01-17 13 views
1

xterm(下記参照)を使用して毎分新しい端末ウィンドウで新しいインスタンスを開始するPythonスクリプトがあります。私は複数のデスクトップ(?)を持つ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

私はより良い説明へのリンクを追跡するトラブルを抱えているが、それはXプロトコルは、新しいウィンドウを取得する必要がありますどのデスクトップを決定するウィンドウマネージャのために、それは簡単にしないというのが私の理解であるとき「コマンド新しいウィンドウを開始するには、ウィンドウマネージャの外から発生します。

例えば、ウィンドウマネージャは、プログラムを起動し、どのデスクトップ上にあるかを知るツールバーを提供し、新しいクライアントウィンドウがレンダリングされるときにどのデスクトップを使用するかをウィンドウマネージャに伝えることができます。しかし、システム上の他のアプリケーションがデスクトップを知らずにウィンドウを起動し、どのウィンドウを使用するのか、どのデスクトップを使用するのかを知らずにウィンドウマネージャに連絡すると、代わりに「アクティブ」デスクトップに移動します。

ウィンドウマネージャによっては、ウィンドウクラスまたは名前にヒントを指定できるものがあります。 (ウィンドウマネージャのいくつかのヒントが利用可能を確認するために、クライアントをクリックして、xprop(1)を実行します。)例えば

もしあなたウィンドウマネージャを使用すると、新しいクライアントウィンドウと異なるプロパティを簡単に一致させ、希望の場所に移動してから、を使用することができますの-classウィンドウ名が-eで十分でない場合は、リソースクラスをオーバーライドするコマンドラインオプション。

関連する問題