如何通过脚本控制 KDE 监视器配置?

如何通过脚本控制 KDE 监视器配置?

每天早上我来上班,把正在睡觉的笔记本电脑插入办公桌上的大显示器,然后摆弄这个对话框:

KDE“显示设置”对话框的屏幕截图

我猜想这种操作的结果是“显示设置”应用程序将新的显示器配置写入某个文件,然后向窗口管理器发送一些信号以通知设置已更改。我想自己做这件事并直接控制它,以便达到这个目的以及其他目的。

如果我能找到产生“显示设置”对话框的进程的名称,我就可以运行它strace并查看它在做什么,但我还没有找到它。

我的问题是:

此对话框属于哪个程序?我要在ps输出中查找什么来识别它?当它更改监视器配置时它实际上在做什么?

我正在使用 KDE 4.8.5。

答案1

xrandr实用程序可以通过脚本进行控制。可以通过运行以下命令获取屏幕截图中显示的配置:

xrandr \
 --output LVDS-1 --mode 1680x1050 --pos 1080x1120 --rotate normal \ 
 --output DVI-D-1 --off --output VGA-1 --mode 1920x1080 --pos 0x0 --rotate left          

产生这个命令行,我使用了arandr。它显示了一个类似于原始问题中的对话框,但更简单,然后有一个“保存”选项,可将正确的xrandr调用保存到文件中。

arandr使用对话框按我想要的方式配置显示器后,我将配置保存到文件,例如~/.screenlayout/office.sh。将此文件作为 shell 脚本执行可恢复已保存的配置。我编写了一个简单的 shell 脚本,disp它执行$HOME/.screenlayout/$1.sh,因此当我到达办公室时,我只需disp office在命令行中键入即可恢复办公室显示器配置。当我回家时,我输入disp 1,这将运行~/.screenlayout/1.sh,其中我保存了默认的单显示器配置。

我的帖子中的其他问题仍然没有答案,尽管大概原始问题中的对话框正在xrandr自行运行以改变屏幕配置。

相关内容