2016-12-23 20 views
0

テスト目的のために、Xvfbを使用しました。 今日、wmctrlコマンドでいくつかのテストを行いたいと思います。私はこのようなpythonでいくつかのテストを実行します。Xvfb - xvfbにウィンドウマネージャを開始または接続する

display = ":99" 
    pXvfb = subprocess.Popen(["Xvfb", display, "-screen", "0", "1024x768x24"]) 

    # wait that xvfb is up 
    time.sleep(1) 

    os.environ["DISPLAY"] = display 

    p = subprocess.Popen(["wmctrl", "-l" ]) 
    p.wait() 


    pXvfb.terminate() 

このテストでは、wmctrlは言う:

Cannot get client list properties. 
(_NET_CLIENT_LIST or _WIN_CLIENT_LIST) 

私は任意のウィンドウマネージャは、私のXvfbのに添付していないため、それは普通のことだ、と思います。

Windowsマネージャ(Enlighenment should be good for my case)を起動してXvfbのみを管理するにはどうすればよいですか?

答えて

0

数日間の作業の後、私は自分自身に答えることができます。可能な限り簡単に解決できます:変数DISPLAYを設定してWindowsマネージャを起動するだけです。だから私のpythonスクリプトでは、私はちょうど:

display = ":99" 
pXvfb = subprocess.Popen(["Xvfb", display, "-screen", "0", "1024x768x24"]) 

# wait that xvfb is up 
time.sleep(1) 

os.environ["DISPLAY"] = display 

# start windows manager 
pWM = subprocess.Popen(["/usr/bin/enlightenment_start", ] ) 

p = subprocess.Popen(["wmctrl", "-l" ]) 
p.wait() 


pXvfb.terminate() 
関連する問題