我有一台运行 Xubuntu 20.04 的机器,带有三个显示器。目前,我为每个监视器配置了一个单独的屏幕(显示:0.0、:0.1 和:0.2),这很适合其预期用途。但是对于其他用途,最好在所有三个显示器上都有一个屏幕(所有三个显示器都显示:0.0)。我使用 nvidia-settings 实现了这个设置,它似乎修改了 /etc/X11/xorg.conf:
# nvidia-settings: version 470.57.01
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 1920 0
Screen 1 "Screen1" 3840 0
Screen 2 "Screen2" 0 0
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
Option "Xinerama" "0"
EndSection
Section "Files"
EndSection
Section "Module"
Load "dbe"
Load "extmod"
Load "type1"
Load "freetype"
Load "glx"
EndSection
Section "InputDevice"
# generated from default
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/psaux"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
EndSection
此配置似乎会影响所有用户。如何设置一个用户使用三屏配置,而其他用户将所有三台显示器作为一个屏幕?
据我所知,每个用户的 X 服务器配置并不是真正的事情,但如果其他用户愿意在控制台中登录,
multi-user.target
那么这样做是可能的。您可以在运行时通过运行切换到 multi-user.target
sudo systemctl isolate multi-user.target
。要使其成为默认运行级别,您可以运行:
附带说明...要返回图形模式,请使用相同的命令,但要使用
graphical.target
:在多用户模式下,您将只有一个基于文本的界面,但您可以使用命令启动 X 服务器
startx
。默认情况下startx
,只使用/etc/X11/xorg.conf
.但是,如果您设置环境变量,
XORGCONFIG
那么startx
将使用/etc/X11/
.例如,您将创建文件
/etc/X11/xorg.conf.fred
以使 X 服务器以单独的 X 屏幕启动。然后从控制台(在多用户模式下)运行:这将启动您的默认桌面环境。
然后,当您退出桌面环境时,您将返回您从中启动它的多用户模式 shell,并且还必须从该 shell 中注销。
对于其他用户,您需要创建一个单独
/etc/X11/xorg.conf.notfred
的配置文件,其中包含所有 3 个监视器上的 1 个虚拟屏幕的配置。然后,当另一个用户登录(仍然是多用户)时,将运行:这将为他们启动默认的桌面环境,并在他们从桌面环境注销时再次将他们返回到登录的 shell(多用户模式)。
就其价值而言,这根本不是标准的,您可能会遇到以这种方式启动桌面环境的其他问题,否则您可能不会遇到,因此您的里程可能会有所不同,但我确实认为它会满足您的要求. 让我知道它是否有效或者您是否遇到问题,我可以根据需要更新答案。