在命令行上启用或禁用 nVidia Twinview 中的一台显示器,就像使用 nvidia-settings

niX*_*Xar 5 command-line display-settings games

由于某些原因,大多数原生游戏以及 Wine 都存在 Twinview 问题。因此,在启动 SC2 时,我必须在 nvidia-settings 中手动禁用我的两个屏幕之一。(通过进入 X 服务器显示配置 > 单击第二台显示器 > 显示 > 分辨率:关闭)

我努力搜索,但找不到自动执行此操作的方法。nvidia-settings 本身具有非 GUI 选项(请参阅“nvidia-settings -q all”),但它们似乎都没有做我想要的。我想把它放在我的游戏启动脚本中,它已经用 metacity 替换了 Compiz(并在它退出时返回)。

Mic*_*zek 3

如果您使用的是 Twinview,则显示器将被视为一台显示器,其分辨率是所有物理显示器的总和。您可以使用xrandr更改当前的输出尺寸,它将打开或关闭适当的显示以使其适合。

例如,如果您有两个 1280x1024 显示器:

xrandr --output default --mode 1280x1024   # Just the first monitor
xrandr --output default --mode 2560x1024   # Two 1280 monitors side by side is 2560 wide; this will enable both
Run Code Online (Sandbox Code Playgroud)

然而,这要求 X 配置为两种模式。当涉及到 X 配置时,我不了解最新的智慧,但我metamodes在我的Screen部分中使用了这一行:

Option "metamodes" "CRT: 1280x1024_60 +1920+0, DFP: 1920x1200 +0+0; NULL, DFP: 1920x1200"
Run Code Online (Sandbox Code Playgroud)

这表示“要么在 0x0 处显示在 1920x1200 DFP 上,然后在其右侧显示 1280x1024 CRT,或者仅在 DFP 上显示并保持 CRT 关闭”,因此我可以告诉 xrandr 仅使用 DFP ( --mode 1920x1200) 或同时使用两者 ( --mode 3200x1200)