好吧,我已经被这个问题困扰好几天了。我的问题是我无法保存当前显示器设置,无法在重启后应用/保存。
我有 3 台显示器,想镜像其中 2 台,但不想镜像第三台。我可以使用 nvidia-settings gui 工具或调用使用 xrandr 的 bash 脚本来执行此操作。我无法通过在 gnome / debian 显示设置菜单中将我的显示器移到另一台显示器上来执行此操作 - 在这里我只能将它们并排放置,但无法“仅”镜像其中两台(我可以镜像所有显示器,但我不想这样做)。上面提到的脚本可以为我做到这一点(使用 xrandr)- 现在我正在寻找合适的位置来放置它。我正在使用 gdm3 并尝试将其放在 /etc/gdm3/Xsession 文件的开始(xor)结尾 -> 没有帮助。我还创建了一个 ~/.xprofile 文件并将其放在那里 -> 没有帮助。该脚本对每个组都是可执行的。我添加了一行来在我的主目录中创建一个新文件以检查它是否被调用。它在上述每种情况下都是如此,但没有将我的显示器设置设置为镜像这两个。
那我该怎么办?我搜索了又搜索,读了又读,但没有找到任何解决方案。
我希望这里有人可以帮助我。
PS 使用 debian 8 jessie、nvidia 专有驱动程序、gdm3、gnome
这是我的脚本:
#!/bin/bash
xrandr --output DVI-D-0 --mode 1920x1080 --pos 1440x0 --rotate normal --output HDMI-0 --mode 1920x1080 --pos 1440x0 --rotate normal --output DVI-I-1 --off --output DVI-I-0 --mode 1440x900 --pos 0x180 --rotate normal --output DP-1 --off --output DP-0 --off
该脚本运行良好,由 arandr 生成。我已将其保存在 /usr/share/ 中。
总结 手动运行时,该脚本运行良好,放入 /etc/gdm3/Xsession 或 ~/.xprofile 后也会被调用。但启动后监视器设置不正确。只有在一切完成(加载)后我手动运行脚本时才会出现这种情况。
答案1
您发现的行为是可以预料到的。Xrandr 是...
xrandr——RandR 扩展的原始命令行界面
这意味着它将起作用后Xorg 已加载 RandR 扩展,之前没有。您可能能够在文件中指定所需的配置/etc/X11/xorg.conf
,但这可能是浪费时间,因为 DE 倾向于将其顺序强加到我们的屏幕上。例如,众所周知,KDE 抵制用户定义的显示器配置。
您有什么选择?
尝试保存当前配置以供将来使用。您可以找到在这篇 Unix & Linux 文章中有几种方法可以做到这一点。请记住,网页中提到的错误现已关闭。
每次以图形方式登录时运行该脚本。例如,您可以将以下代码放入文件中
.bashrc
:if [[ $TERM != "linux" && "x$SSH_CLIENT" == "x" ]] then xrandr --output DVI-D-0 --mode 1920x1080 --pos 1440x0 --rotate normal --output HDMI-0 --mode 1920x1080 --pos 1440x0 --rotate normal --output DVI-I-1 --off --output DVI-I-0 --mode 1440x900 --pos 0x180 --rotate normal --output DP-1 --off --output DP-0 --off fi