0

我正在编写一个 GUI 程序,它将在 OS ( CentOS 6.6) 启动时执行。

分辨率配置在initGUI 程序部分编程,我现在的解决方案是获取显示器使用的分辨率集xrandr并解析结果并将其设置为候选之一,您可以在Preferences部分中选择其中之一GUI程序稍后。但是xrandr如果没有插入显示器就不会工作,对吧?

如果我没有将显示器插入盒子,这意味着我不知道一台显示器可以提供的分辨率设置(至少不是从xrandr),所以现在我想要的是,如果我打开计算机,GUI 程序将执行,稍后插入监视器后,我可以看到GUI程序已经加载到监视器中。

我的意思是1152x864 75.0Hz如果没有插入监视器,我希望使用一些命令或 API 在 GUI 程序初始化部分中固定分辨率(例如)?

有谁知道可用的commandsAPIs

4

1 回答 1

1

我没有在有/没有显示器的情况下尝试这个,但应该可以在没有连接显示器的情况下“启动”输出xrandr

xrandr --newmode "1024x768_2" 63.50 1024 1072 1176 1328 768 771 775 798 -hsync +vsync

定义一个新的固定模式,因为我们不能在没有连接监视器的情况下使用 EDID(确保名称是唯一的)。还要确保您定义了任何可以想到的监视器都能够显示的模式(这几乎将您限制为小分辨率 VESA 兼容模式,否则您可能会损坏旧的固定频率监视器)。

xrandr --addmode <output device> 1024x768_2

将此模式分配给显卡输出

xrandr --output <output device> 1024x768_2

启用此输出。

将此设置为主显示器

xrandr --primary <output device>
于 2015-04-17T07:06:36.147 回答