2014-03-07 21 views
3

每天早上我来上班,塞在我睡觉的笔记本电脑到我的办公桌上的大型监视器,然后用此对话框拨弄:如何从脚本控制KDE监视器配置?

screenshot of KDE "display settings" dialog

我想象这摆弄的结果是“显示设置“应用程序将新的显示器配置写入某个文件,然后向窗口管理器发送一些信号以注意设置已更改。我想自己做这个,并直接控制它,为此目的以及其他目的。

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

我的问题是:

要什么程序没有此对话框属于?我在ps输出中寻找什么来识别它?当它改变显示器配置时它实际上在做什么?

回答

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本身来改变屏幕配置。