我正在使用 3 台显示器,其中 2 台正在旋转。
我无法成功配置xorg.conf
以旋转 2 个监视器,但我找到了一个xrandr
可以在我的登录管理器启动后使用的命令:
xrandr --output DisplayPort-1 --rotate right --left-of DisplayPort-0
xrandr --output DisplayPort-2 --rotate left --right-of DisplayPort-0
目前,我在登录后手动运行这些命令。
我应该把这些放在哪里,以便我的显示器在登录时旋转。另外,我可以在全球范围内进行吗?这样当我以其他用户身份登录时,显示器就会旋转。还是每个用户在登录后都需要用户脚本来执行此操作?
我正在使用与您的有点相似的 2 屏幕布局,我的是右侧的常规屏幕和左侧的纵向屏幕。通过我的设置,我可以让 X 在我的 2 个屏幕上完美运行。
这是我针对您自己的案例的建议(很难测试,因为我没有相同的屏幕并且没有 3 个屏幕),但这应该足以让您获得有效的 X 设置。
将以下文件放入
/etc/X11/xorg.conf.d/
内容如下:
30-screen-dportcenter.conf
30-屏幕-dportleft.conf
30-screen-dportright.conf
90-serverlayout.conf
Xserver 的坐标按以下方式工作
nVidia 标识符是对在名为的文件中定义的视频卡的引用
20-nvidia.conf
我使用用户级 systemd 服务(完整路径 =
$HOME/.config/systemd/user/set-display.service
)来处理我的 QEMU VM 上的类似情况,这些 VM 使用 XFCE 并且不会自动填充屏幕(由于 conky 而缩短):我使用 sleep 命令来确保 DE 已满载;我在 SSD 上的虚拟机在 5 秒或更短的时间内总是很好,而 HDD 有时需要更多。只需创建一个运行两个 xrandr 命令的脚本,将其替换为ExecStart=(类似
ExecStart=/path/to/your/script
),然后启用它(systemctl --user enable set-display
)。更新:在 Debian Buster 上作为系统服务进行的测试不起作用,即使在登录后手动运行该服务(以 root 和普通用户身份尝试)也是如此。
您必须将这两行放在登录管理器或窗口管理器启动时执行的文件之一中。哪个文件完全取决于您使用的登录管理器和窗口管理器以及您的系统本地设置。
例如,如果您使用
slim
登录管理器,您应该将启动命令放在login_cmd
配置中指定的文件中。以 Debian 为例:但在 Slackware 上:
在 Debian 上,我认为最好的地方是在 /etc/X11/Xsession.d 中创建一个新文件,例如
90xrandr
包含以下内容:您没有使其可执行或添加 shebang,因为它的来源是
/etc/X11/Xsession
:另请注意,它在用户登录后
login_cmd
运行,因此每次启动时您都必须在默认监视器设置中使用。slim
从命令行(如果你使用 nano,否则用 vim 替换)
然后粘贴以下内容并保存:
然后第二个屏幕也一样
然后粘贴以下内容并保存:
重启后屏幕应该会自动旋转