現在のLinuxセッションで使用されているディスプレイサーバーの名前をPythonで取得するにはどうすればよいですか?たとえば、ユーザーがXorgとWaylandのどちらを使用しているか知りたいです。
2 に答える
1
XlibDisplay
ポインターと、ServerVendor()および場合によってはを呼び出す方法が必要になりますVendorRelease()
。
を使用すると、 gdk_x11_display_get_xdisplay()。pygtk
を使用してを取得できますDisplay *
更新:私は訂正されたままです:gtkmm
この関数へのバインディングがありますが、pygtk
明らかにそうではありません。
ライブラリは、によって返される情報へのアクセスを提供する可能性がありますServerVendor()
(クイック検索ではいくつかの呼び出しが表示されますが、それらのほとんどは互換性の回避策に使用されているようです)。
Python-Xlibでさえ、へのバインディングを提供していないようですServerVendor()
。独自のモジュールを作成する必要がある場合があります。
于 2012-06-06T19:38:18.560 に答える
1
これがWaylandで何をするのか正確にはわかりませんが、次のように使用できる可能性がありますxdpyinfo
。
import subprocess
p = subprocess.Popen(['xdpyinfo'], stdout=subprocess.PIPE)
for line in p.communicate()[0].split('\n'):
if line.startswith('vendor'):
k, v = line.split(':')
v = v.strip()
print "%s=%s" % (k, v)
于 2012-06-06T19:39:12.930 に答える