Python 获取linux/Gnome上多个屏幕的屏幕布局

Python 获取linux/Gnome上多个屏幕的屏幕布局,python,linux,bash,screen,multiple-monitors,Python,Linux,Bash,Screen,Multiple Monitors,我正在尝试为多个屏幕创建一个应用程序,但是到目前为止,我找不到一种方法来定位辅助屏幕的位置(相对于主屏幕的x和y坐标) 我更喜欢使用python或bash(通过库/框架就可以了)。我还检查了xorg.conf,它没有反映我当前的屏幕设置 我正在使用Ubuntu11.10(我相信是默认的GNOME2),使用compiz作为窗口管理器。重复一遍,我的问题是如何获得所有监视器的屏幕布局(相对于主屏幕的坐标),最好使用python或bash。python绑定解决方案 因此,您可以从这里下载python的

我正在尝试为多个屏幕创建一个应用程序,但是到目前为止,我找不到一种方法来定位辅助屏幕的位置(相对于主屏幕的x和y坐标)

我更喜欢使用python或bash(通过库/框架就可以了)。我还检查了xorg.conf,它没有反映我当前的屏幕设置

我正在使用Ubuntu11.10(我相信是默认的GNOME2),使用compiz作为窗口管理器。重复一遍,我的问题是如何获得所有监视器的屏幕布局(相对于主屏幕的坐标),最好使用python或bash。

python绑定解决方案 因此,您可以从这里下载python的xrandr绑定:

这是我玩得最远的地方了。我希望它能让你开始:-)我现在只连接了一个屏幕

解析数据解决方案 另一个解决方案,正如我在上面的评论中提到的,是解析命令的输出
xrandr
,看起来只要看一眼就应该很简单了…

Python绑定解决方案 因此,您可以从这里下载python的xrandr绑定:

这是我玩得最远的地方了。我希望它能让你开始:-)我现在只连接了一个屏幕

解析数据解决方案
另一个解决方案,正如我在上面的评论中提到的,是解析命令的输出,
xrandr
,看起来应该很简单,只要看一眼就可以了…

不过,我使用了Pyqt。这里有一些代码

from PyQt4.QtGui import QApplication, QPixmap
desktop = QApplication.desktop()
screenRect = desktop.screenGeometry(1)   #2nd monitor
print screenRect.x(), screenRect.y()   #returns the x and y of that screen

没关系,我用Pyqt代替了。这里有一些代码

from PyQt4.QtGui import QApplication, QPixmap
desktop = QApplication.desktop()
screenRect = desktop.screenGeometry(1)   #2nd monitor
print screenRect.x(), screenRect.y()   #returns the x and y of that screen

运行xrandr,看看是否可以用subprocess解析其中的数据。更不用说它是一个名为PythonRandr的python模块。A我对此一无所知。但我想这对你会有帮助的。当然是Python xrandr。请参阅下面我的答案。运行xrandr,看看是否可以使用子流程解析其中的数据。更不用说它是一个名为PythonRandr的python模块。A我对此一无所知。但我想这对你会有帮助的。当然是Python xrandr。请看下面我的答案。似乎我只能在bash中使用xrandr。Python绑定没有给我位置,甚至没有screen.print_info(),你能找到它吗?同时输出[0]。_x和._y将始终返回0,无论屏幕位置如何。奇怪。但是无论做什么工作,qt似乎也有一个好的语法(pythonxrandr没有)。但正如您所知,现在xorg仅用于设置分辨率,所以最初(如果它包含数据)。当时使用的是xrandr。此行生成了一条错误消息:
Sambett和mellan hur mycket N sovit senaste dygnet och
@wineunuchs2Unix Oppsie。那句话与代码完全无关。我一定是把什么东西贴错了。我将从答案中编辑出来,但我不知道这个8年前的答案是否仍然有效。很抱歉,我没有测试你的答案,而是使用了
gdk
以及操作系统调用
xrandr--listactivemonitors | grep…
etcIt似乎我只能在bash中使用xrandr。Python绑定没有给我位置,甚至没有screen.print_info(),你能找到它吗?同时输出[0]。_x和._y将始终返回0,无论屏幕位置如何。奇怪。但是无论做什么工作,qt似乎也有一个好的语法(pythonxrandr没有)。但正如您所知,现在xorg仅用于设置分辨率,所以最初(如果它包含数据)。当时使用的是xrandr。此行生成了一条错误消息:
Sambett和mellan hur mycket N sovit senaste dygnet och
@wineunuchs2Unix Oppsie。那句话与代码完全无关。我一定是把什么东西贴错了。我将从答案中编辑出来,但我不知道这个8年前的答案是否仍然有效。很抱歉,我没有测试你的答案,而是使用了
gdk
以及操作系统调用
xrandr--listactivemonitors | grep…