两个不同的屏幕是否可以有不同的DPI配置?

我正在使用Ubuntu 12.04.3版本,搭配NVidia驱动程序(319版)来驱动我的Quadro K2100M显卡。当我将我的3200x1800的笔记本主屏幕切换到1920x1080模式(使用nvidia-settings命令)时,显示变得模糊不清...
我使用了两个屏幕:
- 我的主屏幕是一块最大分辨率为1920x1200的液晶屏。 - 我的笔记本屏幕(原始分辨率为3200x1800)位于右侧。
主要问题是,在Ubuntu上,我的笔记本屏幕上的字体太小了。因此,我想将我的笔记本分辨率更改为1920x1080。
阅读Galgalesh的回答后,我尝试计算我的DPI,并且这是我应该有的DPI配置:
- 我的主LCD屏幕1920x1200的DPI为94x94。 - 我的3200x1800笔记本屏幕的DPI为235x236。
有没有办法在扩展桌面模式下实现双DPI分辨率?

3驾驶非本机分辨率的LCD屏幕会导致模糊。这是因为像素以固定方式排列,而信号与之不匹配。你期望发生什么?也许禁用缩放?但那样只会在屏幕中间显示,而不是全屏。为了最佳显示效果,请始终将显示器保持在本机屏幕分辨率上。我认为这与Ubuntu无关。 - gertvdijk
3@gertvdijk:那你有办法让两个显示器保持原生屏幕分辨率吗?我想这就是Anthony在问的。 - beldaz
3@beldaz 我的回复是针对问题的第一个版本。当时它没有提到任何与双屏设置相关的内容。因为问题发生了重大变化,这引起了我对之后修改过的所有帖子的怀疑。这基本上使得我所做出的任何贡献都无效,并且真正降低了我的帮助动力。在我看来,用户应该提出一个新的问题。 - gertvdijk
@gertvdijk 对不起,现在明白了。 - beldaz
我想知道在最新的Ubuntu中使用Wayland是否能使这个问题更容易解决。 - mkataja
12个回答

人们似乎仍然在努力适应多个显示器和HiDPI显示屏的工作。一个好的解决方法在arch wiki中有描述https://wiki.archlinux.org/index.php/HiDPI#Multiple_displays。所以,我有:
  • 笔记本电脑ASUS LN303UX:3200x1800
  • 外部显示器:1920x1200
现在我使用的是Ubuntu 14.10和GNOME Shell 3.12.2,它具有相当可用的HiDPI支持。所以我只需使用HiDPI的开箱即用支持-缩放因子为2(可以通过图形界面进行设置)。这意味着在外部显示器上,一切都比可接受的要大两倍。因此,我使用xrandr;但是,我不是对笔记本电脑屏幕进行降低分辨率,而是对外部显示器屏幕进行提高分辨率。
xrandr --output HDMI1 --scale 2x2 --mode 1920x1200 --fb 3840x4200 --pos 0x0
xrandr --output eDP1 --scale 1x1 --pos 320x2400

所以,逐一解释:

  1. --output HDMI1 在我的情况下是外部屏幕,eDP1 是笔记本电脑屏幕。
  2. --scale 2x2 - 将外部屏幕上的所有内容缩小两倍
  3. --mode XxY - 明确设置屏幕的分辨率(如果已经设置,则不必要)
  4. --fb XxY - 设置虚拟屏幕(帧缓冲区)的大小(重要:如果没有设置,您只能使用屏幕的四分之一)。在我的情况下,一个屏幕叠放在另一个屏幕上面,所以我将有效高度相加得到 2400+1800=4200。还要注意,最大帧缓冲区大小可能在 xorg.conf 中指定 - 这样您就不能超过它(这写在 xrandr -q 输出的第一行中)。
  5. --pos XxY - 在我的情况下,我设置了屏幕的绝对位置,所以我的笔记本电脑屏幕直接位于外部屏幕的底部。这里的值 Y 是外部监视器高度的两倍。

就是这样!一切都非常清晰。

FYI:要获取屏幕名称和可用分辨率,请运行 xrandr --current。 有关设置分辨率的更多信息可以在此处找到:https://wiki.ubuntu.com/X/Config/Resolution
更新 - 选项2:对于支持GTK3的应用程序,还有一个有趣的解决方法。 如果我通常只在大屏幕上使用一个应用程序(例如某个IDE,如leksah),我不会调整屏幕大小,而是按其原始大小运行应用程序。
env GDK_SCALE=0.5 GDK_DPI_SCALE=0.5 CLUTTER_SCALE=0.5 appname

尝试了类似的设置,我使用的是戴尔XPS 15 (3200x1800)和Monoprice IPS 27"显示器(2560x1440),但效果不太好,哈哈。两者之间的差距仍然有些大。也许我需要稍微调整一下设置。我不知道。会继续尝试。谢谢你的建议! - karlgrz
8出现了“请求失败错误:BadValue(整数参数超出操作范围)” :-( - Juh_
1谢谢,这几乎完美地运行。唯一的问题是在低分辨率的显示器上有一个巨大的光标。你有什么办法解决这个问题吗? - WayneC
很抱歉,我还没有找到解决方案。顺便说一下,请持续关注https://wiki.archlinux.org/index.php/HiDPI上的信息,它经常更新并提供了很好的解决方案。 - artem
6--fb选项似乎无法启用超过2x2屏幕的四分之一(鼠标光标无法移动到左上象限之外)。 - EoghanM
1看起来还有一个单独的错误限制了鼠标光标可以操作的区域: https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/883319 - EoghanM
4缩放功能可以使用,但是你不会失去HiDPI吗?所有内容都会被缩放并变得模糊。 - Andy
对于GDK_SCALE选项,你应该将其作为一个独立的答案。 - EoghanM
13对于一个与我的3200x1800高分辨率笔记本电脑左侧放置的1920x1080外部显示器的并排设置:xrandr --output eDP1 --scale 1x1 --pos 3840x0 ; xrandr --output HDMI1 --scale 2x2 --mode 1920x1080 --fb 7680x2160 --pos 0x0 - Daniel Bower
这个功能可以使用,但是在重新启动后设置会丢失,有什么想法吗? - rizzle
我认为--scale选项可能会出现屏幕撕裂的问题。此外,如果仅使用modesetting驱动而不是xf86-video-intel(假设您有英特尔显卡),主显示器上的指针可能会闪烁得非常严重,尤其是在选择OpenGl时。 - Kun
1抱歉,但我不明白 "--fb" 参数的意思。这可能需要使用除了加法之外的其他计算方法。 - ringe
4--fb参数是2个外部显示器加上笔记本屏幕。 - Brian C.
3这个几乎可以解决问题。但现在的问题是外接显示器上的字体看起来很奇怪和模糊,我看着感到头晕。不确定其他人是否也遇到了这个问题。我猜这种缩放方式还是不完美的。目前我只能采取折中的办法,将dpi值设置为1.5倍,并且不对外接显示器进行缩放。这样一来,笔记本电脑的字体相对较小,外接显示器的字体相对较大,但它们仍然可读。 - xji
此外,如果我有两个外接显示器,并且想将一个放在另一个旁边,这似乎会引入问题。 - xji
1我找到了一个临时解决方案。就是只需对HiDPI内置显示器进行缩小处理,例如使用xrandr --output eDP1 --scale 0.5x0.5 --output DP2 --right-of eDP1 --output HDMI1 --right-of DP2命令。此外,缩小处理后的HiDPI显示器会出现一种不同程度的模糊,但实际上我更喜欢这种模糊效果,而不是在放大的外部显示器上引入的那种模糊。 - xji
当我使用带有UHD屏幕的XPS 15和一个1080p外部显示器时,gnome的缩放因子为0(自动)运行良好。但是当我将外部显示器更改为1440p时,1440p上的显示太大了。我在1440p显示器上使用了1.5的比例,现在它运行得非常好。 - andho
这是我的设置,分辨率为2880x1620和外部显示器为1920x1080。命令为:xrandr --output eDP1 --scale 1x1 --pos 2880x0 ; xrandr --output HDMI1 --scale 1.5x1.5 --mode 1920x1080 --fb 7560x2160 --pos 0x0 - Moga
对于两个HDMI(1920x1080)显示器和一个HDPI XPS 13 9370笔记本电脑(3840x2160),我已经通过以下命令成功实现了工作: xrandr --output DP-1 --scale 2x2 --mode 1920x1080 --fb 3840x4320 --pos 0x0; xrandr --output DP-2 --scale 2x2 --mode 1920x1080 --fb 3840x4320 --pos 3840x0; xrandr --output eDP-1 --scale 1x1 --pos 320x2400; 然而,我在外部显示器上最大化窗口时遇到了问题。左边的显示器似乎最大化到了320x1080,右边的显示器最大化到了1600x1080...有人成功解决了这个问题吗? - forgetso
@rizzle 把它写成一个脚本,并让它在每次启动/登录时运行。 - xeruf
在我的Dell XPS 15 9550上,我发现我必须从(节能)英特尔图形切换到NVIDIA(prime-select nvidia,然后重新启动),以使我的HDMI显示器支持--scale 2x2。现在Firefox滚动似乎有些卡顿,但也许这是另一回事。 - Jeremy Field
我写了一个脚本来自动计算那个比例尺:https://askubuntu.com/a/1227147/973545 - racoon_lord
我遇到了一个问题,--pos 值无法生效。右侧的桌面会从第一台显示器的中间开始,并且在我移动鼠标时会出现平移效果。虽然我没有遇到鼠标卡住的问题,但解决方法仍然是相同的(相反地)。使用 --auto --panning WxH+X+Y,指定虚拟坐标而不是物理模式。 - jozxyqk
我的命令应该是什么,以便将主显示器分辨率设置为2560x1440,并将外接显示器设置为1920x1080的并排屏幕? - Kong

在Ubuntu 20.04上,对我来说,在显示设置底部点击“分数缩放”选项解决了所有问题。这将允许单独缩放每个显示器。

在哪个版本的Ubuntu上? - Anthony O.
6这使我能够单独设置缩放,但是外部显示器会自动调整到200%,除非两者都设置为100%。 - Andrew D. King
这对我有效 - Macumbaomuerte
我可以确认这是适用于Ubuntu 20.04的解决方案。 - fcagnola
2对我来说,22.04这个日期可以。 - tymik
确认于22.04 - gru
这确实让我解决了外接显示器的缩放问题,但却降低了我的笔记本屏幕的显示清晰度。 - sohammondal
它能用,但有问题。选项说可能会增加功耗,降低速度或降低显示清晰度。我也遇到了速度变慢以及在移动窗口时出现画面撕裂的问题。我的配置是GTX 1060,一个4K显示器,一个3K显示器和一个FullHD显示器。 - undefined

我使用了artmem的解决方案,但碰到了EoghanM提到的鼠标问题。他链接的旧bug报告中提到的变通方法与--panning有关。
我的目标是: - DP1-2以本机DIP显示3840x2160。 - eDP1为1366x768,通过缩放使其在DP1-2右侧看起来合理。
我通过设置一个像DP1-2 + (2x eDP1)的帧缓冲区实现了这个效果,然后将所有传输到eDP1的内容缩放1/2。
这应该很简单,但xrandr有点棘手。
在这里,使用--scale将传输到eDP1的内容缩小1/2。--panning在原始帧缓冲区中的eDP1位置与DP1-2的右侧(+3840+0)相同。+0+2160将位于其下方。
xrandr -d :0 --fb 6572x3696 --output DP1-2 --mode 3840x2160 --scale 1x1 --rate 60 --pos 0x0 --primary

# sometimes panning get applied incorrectly when switching from some other mode, running it twice is a work around
xrandr -d :0 --output eDP1 --off
xrandr -d :0 --fb 6572x3696 --output eDP1  --mode 1366x768  --scale 2x2 --panning 2732x1536+3840+0
xrandr -d :0 --fb 6572x3696 --output eDP1  --mode 1366x768  --scale 2x2 --panning 2732x1536+3840+0

我还将Xft.dpi设置为185。
$ cat ~/.Xresources
Xft.dpi: 185

当我从外接显示器上拔掉插头时,我运行以下操作:
xrandr -d :0 --output DP1-2 --off
xrandr -d :0 --fb 2732x1536 --output eDP1  --mode 1366x768  --scale 2x2 --panning 2732x1536+0+0 --pos 0x0 --primary

那看起来不太好,但我不经常离开我的桌子。你可以通过更改Xft.dpi并重新启动所有桌面程序来解决这个问题。我不知道有没有办法在更改Xft.dpi后让客户端使用它而无需重新启动。


2拖动是谜题的最后一块拼图——它解决了光标停在屏幕四分之一处的问题。感谢@Brian! - rtindru
3"running it twice" ???? holy pixel, it works (I was already applying panning, but it's correctly applied only if I run the same command twice). - Riccardo Galli
嗯,我注意到每隔一段时间运行它时它都能正常工作,所以我想试试两次,结果就是现在这样了。 - Brian C.
好的,所以这个在内核4.5.2上不起作用。我只安装了那个内核来解决4.5.1中与docker相关的问题,现在上面的脚本让我得到一个黑屏。为了在4.5.2上修复这个问题,我首先执行eDP1命令而不加上--off,然后执行DP1-2命令。 - Brian C.
1终于成功使用了平移!不过我的鼠标和屏幕还是有些故障(自从我开始使用xrandr)。你有什么建议吗? - hsandt
@hsandt 我建议再运行几次这个命令。对于这个问题,我真的没有太多的诊断或故障排除方法。至于鼠标,你可以参考https://wiki.archlinux.org/index.php/Mouse_acceleration进行检查。 - Brian C.
1其实我是指那只鼠标在闪烁,就像某些窗口的部分一样。但是下午的时候情况有所好转,不太清楚为什么。 - hsandt
1我忘了,我还有一个问题是我的应用程序窗口无法超出较小分辨率屏幕的左半部分(就像有一堵看不见的墙),除非我手动将窗口移动到右侧并拉伸它,而不使用自动吸附拉伸系统(来自Unity/compiz)。 - hsandt

为什么模糊?
你的屏幕始终显示3200x1800像素。如果你在电脑上降低屏幕分辨率,那只意味着你的屏幕必须将图像缩放以适应屏幕。根据你的原生分辨率和当前分辨率之间的比例,这种缩放会产生模糊的图像。
你可以在这里找到有关缩放和原生分辨率的更多信息:https://en.wikipedia.org/wiki/Native_resolution 如何使文本变大?
如果文本太小,你有两个选择:
1. 更改Ubuntu的字体大小 如何更改字体并调整其大小? 2. 更改DPI(会使整个界面变大,不仅仅是文本) 如何查找和更改屏幕DPI?(由@whtyger回答)

1关于增加字体大小的说明。最好是增加DPI,这样整个用户界面都会缩放。这应该可以自动识别(读取显示器的EDID),但如果失败了:如何查找和更改屏幕DPI? - gertvdijk
我已经添加了答案。我需要添加完整的答案还是只添加链接就可以了? - Merlijn Sebrechts
通常最好在回答中直接给出一个简短的释义摘要,并使用链接作为指向更多信息的方式,而不仅仅是发布链接。尤其是当你的回答本身并没有回答问题时,这一点尤为重要。 - thomasrutter
26实际上,这并不是我问题的答案。我正在使用两个分辨率不同的屏幕。我已经计算过了:我的左侧主LCD屏幕应该有94x94 DPI的分辨率,而我的右侧笔记本屏幕应该有235x235 DPI的分辨率...但我找不到任何方法来设置两个不同的DPI分辨率,除非通过配置NVIDIA运行2个独立的X,但这样一来我就无法将一个窗口从左边移到右边... Windows在处理这个问题上要好得多:( - Anthony O.
11@AnthonyO. 请不要在回答发布后,大幅修改您的问题,因为您不喜欢之前的回答。在我回答您的问题时,您并没有提到双屏设置(参见版本1)。更改您的问题会使已经发布的任何回答无效,您不应该这样做。相反,请撤销问题的编辑,并发布一个新的问题。 - gertvdijk
6@MartinKonecny 原问题提问者对他的问题进行了大幅修改,这个回答确实回答了他最初的问题,请查看修订版本。 - Jamie Kitson
@AnthonyO。FYI。刚切换回来,因为连接外部屏幕的高 DPI 仍然有问题。创作者更新必须解决一些这些问题,但它们仍然存在。 - NeverEndingQueue

这些答案都很棒,之前帮了我很多忙,但最近的
sudo apt-get upgrade 

删除了我的randr-config!在尝试恢复设置时,我发现无论--fb输入如何,都无法将鼠标移到第二个屏幕的顶部1/4象限之外。从https://wiki.archlinux.org/index.php/HiDPI#Side_display上最终发现添加panning可以解决问题。此外,使用'--right-of'或'--left-of'比'--pos'更简单。
"一般来说,如果您的HiDPI显示器(笔记本电脑)是AxB像素,而您的常规显示器(外接显示器)是CxD,并且您正在进行[ExF]的缩放,那么右侧命令行是:"
xrandr --output eDP-1 --auto --output HDMI-1 --auto --panning [C*E]x[D*F]+[A]+0 --scale [E]x[F] --right-of eDP-1

这很有趣,而且它肯定对某人来说可能会有用,尽管我不确定这是否适合作为对这个问题的答案。也许你应该先提出问题,然后回答自己?我不太确定。 - Hee Jin
2@Emily:我认为这个答案应该放在这里。我今天使用了artem的答案,遇到了ONECore所述的确切问题(只有鼠标可以使用左上角的象限)。幸运的是,我看到了这个答案,平移立刻就起作用了。 - BrainCore
是的,抱歉,我本来想回复@artem的答案的,但Stackexchange太棒了,除非我获得50个积分,否则不允许我在上面回复。 - ONECore
请注意,这似乎不是持久的,所以除非您将其添加到xorg.conf中,否则每次重新启动都会消失。但是,如果您在那里添加它,它会强制设置无论如何(有时我不插入显示器)。所以我觉得最简单的方法就是创建一个shell并在需要时执行它。只需将上面的代码添加到以.sh结尾的文本文件中(比如resolution.sh),然后在终端中使用"chmod 0700 resolution.sh"使其可执行。 - ONECore
非常感谢你和@BrainCore分享你的经验! - Hee Jin
使用这个xrandr的“变通方法”,文本看起来有多清晰? - Melroy van den Berg

我遇到了类似的问题,并通过以下方式解决。
我有一个外接大屏幕,尺寸为24英寸,分辨率为3840x2160,还有一台笔记本电脑,分辨率也是3840x2160,但屏幕只有15.4英寸。
我希望将笔记本电脑的屏幕放大,因为默认的缩放比例太小了。。
通常情况下,使用xrandr进行缩小会导致屏幕模糊,解决办法是使用xrandr进行放大,然后再使用gnome缩放因子进行调整:
以下是具体操作步骤(将外接屏幕放在笔记本电脑屏幕上方,如果更改pos参数,可以按不同的方式排列)
xrandr \
    --output DP-0 --primary --mode 3840x2160  --pos 0x0 --scale 2x2  --rotate normal \
    --output DP-2 --mode 3840x2160 --pos 0x4320 --scale 1x1  --rotate normal \
    --output DP-1 --off

解释:
--output : DP-1 is the external screen, DP-2 is the laptop screen (use xrandr -q to get your devices names)
--mode : both screen have same definitions 3840x2160
--scale 2x2 for external, 1x1 for laptop, this is "relative" to the primary which is external screen here..
--pos : external screen is at position 0x0, laptop screen is bellow at pos 0x(2160*2)=0x4320 because external screen is scalled by 2

那么

gsettings set org.gnome.desktop.interface scaling-factor 2

或者

gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gdk/WindowScalingFactor': <2>}"

enter image description here


我能够解决这个问题(虽然有些困难),具体的解决方法可以在以下的Github讨论中找到:https://github.com/linuxmint/Cinnamon/issues/3606 外接显示器 QHD (2560X1440),内置/笔记本显示器 3200x1800
xrandr --output eDP-1 --scale 1x1 --pos 0x2880
xrandr --output DP-1 --mode 2560x1440 --scale 2x2 --fb 5120x4680

或者

外接显示器全高清(1920x1080),内置/笔记本电脑显示器3200x1800

xrandr --output eDP-1 --scale 1x1 --pos 0x2160
xrandr --output DP-1 --mode 1920x1080 --scale 2x2 --fb 3840x3960

这个工作,但是在高分辨率的显示器(笔记本电脑)上移动窗口、调整屏幕大小或者在浏览器上滚动时会出现很多撕裂。感觉像是软件渲染解决方案(这些问题都有撕裂和刷新慢的问题)。
现在已经是2017年了,Linux/Gnome需要解决多监视器、混合缩放的问题。Windows 10和OS X已经解决了这个问题,而不需要借助命令行的临时修复方法(撕裂问题对于游戏来说是无法接受的)。

1这是一个新的回答还是你在试图报告一个 bug? - user68186
这是对现有答案的详细说明,提供了更多可以利用的选项。@artem上面提供的答案解释了这些设置的工作原理。我只是尝试提供两个选项,可以直接用于拥有QHD或FHD外部显示器以及4K主显示器/笔记本电脑显示器的用户。这个解决方案中存在的问题是你看到的撕裂现象。这是这种方法固有的。 - Jeets
3随着4K和多分辨率设置的普及,我同意最后一段提到的问题需要解决。以前还不算太糟糕,但现在在我使用4K显示器时,它简直是毁了我的设置。希望Ubuntu 18 LTS能够解决这个问题。 - neuronet
42018年了...还是一样的破事 :) - Stefanos Kalantzis
Wayland在这方面表现出色。除了只限于这个... 我在使用wayland+kde时有很好的体验,比gnome+wayland更好。由于某些仅在X上运行的软件缺乏支持和稳定性问题,我又回到了X。2018年... - Victor
1使用这个xrandr的“变通方法”,文本看起来有多清晰? - Melroy van den Berg

我花了好几个小时来解决这个问题。我有一台4K的笔记本电脑和一个1080p的外接显示器。如果我将缩放设置为“200%”,外接显示器上的图标、文字等都会变得很大。
我尝试了使用“--scale”参数的xrandr命令,但是没有得到我期望的结果。所以我找到了一个完美适合我的xrandr命令。希望对其他人也有帮助。
xrandr --output HDMI-1-1 --mode 1920x1080 --pos 0x0    --rate 60.00 \
       --transform 2,0,0,0,2,0,0,0,1 \
       --output eDP-1-1  --mode 3840x2160 --pos 0x2160 --rate 60.00 --primary

这个命令将外部显示器缩放到"100%",内置屏幕缩放到"200%"。该命令将外部显示器放在内置屏幕上方。请记住,您可能需要根据自己的情况更改--output名称。
请注意,在--pos 0x2160中的2160与eDP-1-1的高度无关(在我的情况下恰好是相同的值)。实际上,该数字是上方监视器的高度(在我的情况下为1080)通过变换修正后的值(所以在我的情况下为1080*2)。
这是因为--pos指的是虚拟屏幕空间中左上角的位置,所以底部屏幕必须相对于上方屏幕的高度进行定位。
最后,您可以忽略--rate标志。这里最重要的标志是--transform。位置取决于屏幕分辨率和布局。使用这些命令,我在Arandr预览中得到了如下效果;

Arandr screenshot

1080p显示器在虚拟调整中占用了两倍的空间。由于显示器完美对齐,当我将鼠标从一个屏幕移动到另一个屏幕时,它会出现在相同的水平坐标上。

谢谢,真的。我已经绝望了。由于某种原因,我不得不将主显示器放在--pos 0x0的位置,并相应地调整其他显示器的位置。否则,一切都不对(即使调整了我的显示器的尺寸)。我阅读了很多帖子和解决方案,但它们会导致模糊的显示或其他问题。你的方法确实有效。我开始怀疑是否需要另一个外接显示器哈哈 - prosoitos
我的设置的缺点是鼠标在不同显示器之间的移动方式完全不直观。但是我就是无法让它在低分辨率的显示器上方正常工作。 - prosoitos
好的,我终于弄明白了。我会编辑你的帖子,让那部分更清楚明了。 - prosoitos

我有一台过时的1024x768分辨率的显示器,连接到一台稍微更新的笔记本电脑。
在外接显示器上,窗口的大小呈现出相当大的差异(该显示器的像素间距更大且更老旧)。
我找到了一个命令来调整显示器的缩放比例:
xrandr --output VGA-1 --scale 1.5x1.5

VGA-1是显示器的内部名称,通过运行以下命令找到:
xrandr --current | grep connected

效果是现在旧的显示器以几乎与笔记本相同的大小显示其内容。
有趣的是,它可以按1.5倍缩放,但不能按1.45倍缩放,否则(在我的情况下)显示屏会变黑。
当我第一次运行缩放命令时,结果让人吓了一跳,因为两个屏幕的内容重叠。例如,光标指针出现了两次。
我运行了一个程序:
arandr &

设置相对屏幕位置以修复它。 它的工作方式类似于“设置 > 设备 > 显示”设置。
我使用以下方式进行安装:
sudo apt-get install arandr

感谢 @LuisAlvarado 和其他人分享你们的知识!

1这对我暂时有效,但如果我重新启动,它就不会保持。我认为我需要找到一个脚本来做arandr在这里所做的事情,然后把整个东西放在我的bashrc或其他地方。谢谢! - Max von Hippel
arandr可以导出配置文件。 我将文件放在桌面上,并在每次重启时将其输入arandr。 没有开发脚本,现在我有了一个显示器,不再使用arandr。 - Juan Lanus
几乎xrandr / arandr所做的任何事情都可以在xorg.conf文件中的Monitor部分作为选项来指定;请参阅xorg.conf(5) - Gavin S. Yancey

首先运行 $xrandr 命令来显示所有输出。
Screen 0: minimum 320 x 200, current 7680 x 2160, maximum 8192 x 8192
eDP-1 connected primary 3840x2160+0+0 (normal left inverted right x axis y axis) 344mm x 194mm
   3840x2160     60.00*+  59.98    59.97  
   3200x1800     59.96    59.94  
   2880x1620     59.96    59.97   
DP-1 disconnected (normal left inverted right x axis y axis)
DP-2 disconnected (normal left inverted right x axis y axis)
DP-3 connected 3840x2160+3840+0 (normal left inverted right x axis y axis) 521mm x 294mm
   1920x1080     60.00*+  50.00    59.94  
   1920x1080i    60.00    50.00    59.94  
   1680x1050     59.88  
   1280x1024     75.02    60.02

如您所见,在这种情况下,第二个显示器连接到DP-3。 然后您可以重新调整显示: $xrandr --output DP-3 --auto --scale 2x2