我有一台运行 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
此配置似乎会影响所有用户。如何将一个用户设置为三屏幕配置,而其他用户则将所有三台显示器设置为一个屏幕?
答案1
据我所知,每用户 X 服务器配置并不是真正的事情,但如果其他用户愿意登录到控制台,那么multi-user.target
这样做是可能的。
您可以通过运行在运行时切换到 multi-user.target sudo systemctl isolate multi-user.target
。
要使其成为默认运行级别,您可以运行:
sudo systemctl enable multi-user.target
sudo systemctl set-default multi-user.target
作为旁注......要返回图形模式,请使用相同的命令,但使用graphical.target
:
sudo systemctl enable graphical.target
sudo systemctl set-default graphical.target
在多用户模式下,您将只有一个基于文本的界面,但您可以使用命令启动 X 服务器startx
。默认情况下startx
只使用/etc/X11/xorg.conf
.
但是,如果您设置环境变量,XORGCONFIG
则将startx
使用/etc/X11/
.
例如,您可以创建文件/etc/X11/xorg.conf.fred
以使 X 服务器以单独的 X 屏幕启动。然后从控制台(在多用户模式下)运行:
export XORGCONFIG=xorg.conf.fred
startx
这将启动您的默认桌面环境。
然后,当您注销桌面环境时,您将返回启动它的多用户模式 shell,并且还必须从该 shell 注销。
对于其他用户,您需要创建一个单独的配置文件,/etc/X11/xorg.conf.notfred
其中包含跨所有 3 个显示器的 1 个虚拟屏幕的配置。然后,当不同的用户登录(仍然是多用户)时,将运行:
export XORGCONFIG=xorg.conf.notfred
startx
这将为他们启动默认的桌面环境,并在他们从桌面环境注销时再次将他们返回到登录的 shell(多用户模式)。
就其价值而言,这根本不是标准的,您可能会遇到以这种方式启动桌面环境的其他问题,而您可能不会遇到其他问题,因此您的情况可能会有所不同,但我确实认为它会实现您的要求。让我知道它是否有效或者您遇到问题,我可以根据需要更新答案。