我在 Ubuntu 22.04 上运行 i3wm,并且有一个脚本,我可以手动触发该脚本来添加我的第二台显示器(如果已连接)。
if [[ $(xrandr | grep -c "HDMI1 connected") -eq 1 ]]; then
xrandr --output eDP1 --primary \
--output HDMI1 --auto --rotate right \
--right-of eDP1;
else
xrandr --output eDP1 --primary;
xrandr --output HDMI1 --off;
fi
这样,我的右侧就会出现第二个垂直显示屏,我可以使用它来滚动浏览长文档或电子邮件收件箱,同时将注意力集中在我面前的主屏幕上。
我承认,我有一个小小的抱怨,那就是两个屏幕在顶部对齐,这意味着如果我将光标从主屏幕的右上角移开,它会移到第二个屏幕的左上角。这似乎很合逻辑。
但是,两个显示器在底部对齐,并且我希望显示器也以这种方式对齐,即,如果我从主屏幕的右上角移动,它应该移动到右屏幕中间的某个位置。
我尝试在第二个显示器的行--pos XxY
后添加一个参数--right-of eDP1
,但 X 或 Y 值的组合似乎都无法将第二个屏幕移动到我想要的位置。
如果我在其他 DM 上登录,我可以拖放屏幕来gnome-control-center
实现我想要的效果,但在 i3 上使用这些 X 和 Y 偏移从未起作用。
我在这里遗漏了什么?
答案1
您可以使用安得拉邦,这是 xrandr 的 GUI 前端。您可以直观地安排多个显示器。对我来说,它在 i3 中有效。
答案2
谢谢小费从C. 阿克内西尔,我试了一下arandr
,确实有效。它提示我也应该手动指定主显示器的坐标。
我还发现这--right-of
会导致xrandr
忽略坐标并使用对齐顶部的默认映射,所以我将其删除了。
以下是更新后的脚本:
if [[ $(xrandr | grep -c "HDMI1 connected") -eq 1 ]]; then
xrandr --output eDP1 --primary --pos 0x1152 \
--output HDMI1 --auto --rotate right \
--pos 1366x0;
else
xrandr --output eDP1 --primary;
xrandr --output HDMI1 --off;
fi