Ubuntu 下无显示器时 启动XWindow

当显卡为纯视频加速卡时,有可能没有视频输出接口,当Eable这种加速卡为显示卡时,可能会导致没有办法正常启动操作系统的UI 界面。最近我就遇到了一张这样的视频加速卡,一个视频输出口都没有就想一张内存卡一样插上去纯靠PCIe插槽来使用。
因为主机之前有集成显卡,所以可以完成正常的安装系统等工作,也可以正常启动UI,但是当Enable 这个显卡时,集成显卡就会被Disable掉,这样原来的集成显卡输出口就没有了视频画面。我在Ubuntu 上Enable 了视频加速卡重启后,通过SSH远程上去可以使用Ubuntu的Terminal,但是我需要启动一个XWindow来启动一个有图形界面的应用,如Unity的程序。

正文

当Ubuntu 没有接入显示器时,或ssh远程连接时,Terminal 是没有显示器的。可以使用xrandr来查看是否有显示器。如下:

~/Documents/$ xrandr
Can't odmpen display 

这时候如果系统中有显示设备或Ubuntu插了显示器,且用户已经登录显示这时候就可以使用export DISPLAY=:0.0

重要前提Ubuntu 装了 Xwindow,也就是xorg,没有装就先装一下吧,正常Ubuntu 安装时带UI界面也就是Xorg。安装了却没有起来后面说。

如果有显示器是:

Screen 0: minimum 320 x 200, current 1280 x 720, maximum 16384 x 16384
DisplayPort-0 disconnected (normal left inverted right x axis y axis)
DisplayPort-1 disconnected (normal left inverted right x axis y axis)
DisplayPort-2 connected primary 1280x720+0+0 (normal left inverted right x axis y axis) 410mm x 230mm
   1366x768      59.79 +
   1280x1024     75.02  
   1280x720      59.79* 
   1024x768      75.03    60.00  
   800x600       75.00    60.32  
   640x480       75.00    59.94  
   720x400       70.08  
DisplayPort-3 disconnected (normal left inverted right x axis y axis)
HDMI-A-0 disconnected (normal left inverted right x axis y axis)
HDMI-A-1 disconnected (normal left inverted right x axis y axis)

如果没有显示器:

Screen 0: minimum 320 x 200, current 1024 x 768, maximum 16384 x 16384
DP-1 disconnected primary (normal left inverted right x axis y axis)
HDMI-1 disconnected (normal left inverted right x axis y axis)
HDMI-2 disconnected (normal left inverted right x axis y axis)
DP-2 disconnected (normal left inverted right x axis y axis)
HDMI-3 disconnected (normal left inverted right x axis y axis)
DP-3 disconnected (normal left inverted right x axis y axis)
HDMI-4 disconnected (normal left inverted right x axis y axis)

如果没有显示器修改/usr/share/X11/xorg.conf.d/xorg.conf

Screen 0: minimum 320 x 200, current 1366 x 768, maximum 16384 x 16384
DisplayPort-0 disconnected primary (normal left inverted right x axis y axis)
DisplayPort-1 disconnected (normal left inverted right x axis y axis)
DisplayPort-2 disconnected 1366x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
DisplayPort-3 disconnected (normal left inverted right x axis y axis)
HDMI-A-0 disconnected (normal left inverted right x axis y axis)
HDMI-A-1 disconnected (normal left inverted right x axis y axis)
  1366x768 (0x5c) 85.500MHz +HSync +VSync
        h: width  1366 start 1436 end 1579 total 1792 skew    0 clock  47.71KHz
        v: height  768 start  771 end  774 total  798           clock  59.79Hz

xorg.conf 文件格式

因为工作关系,自己的配置文件就不发了,发一个网上别人1的吧:

Section "Monitor"
  Identifier "Monitor0"
  HorizSync 28.0-80.0
  VertRefresh 48.0-75.0
  # https://arachnoid.com/modelines/
  # 1024x768 @ 60.00 Hz (GTF) hsync: 47.70 kHz; pclk: 64.11 MHz
  Modeline "1024x768_60.00" 64.11 1024 1080 1184 1344 768 769 772 795 -HSync +Vsync
EndSection
Section "Device"
  Identifier "Card0"
  Driver "dummy"
  VideoRam 256000
EndSection
Section "Screen"
  DefaultDepth 24
  Identifier "Screen0"
  Device "Card0"
  Monitor "Monitor0"
  SubSection "Display"
    Depth 24
    Modes "1024x768_60.00"
  EndSubSection
EndSection

走到这里基本Xwindow就已经起好了,测试可以命令行启动一个编辑器然后使用VNC连接看下就可以看到VNC里面有一个编辑器。VNC需要后于应用起动。

安装了Xorg 但是没有启动

首先检查一下进程中有没有这个进程:

$ ps axu |grep -i xorg

如果有下面的进程那就启动好了,只需要设置display port 就可以了。

tayu       1381  0.0  0.5 1736804 92964 tty2    Sl+  15:01   0:00 /usr/lib/xorg/Xorg vt2 -displayfd 3 -auth /run/user/1000/gdm/Xauthority -background none -noreset -keeptty -verbose 3

没有的话,使用下面命令来启动吧:

$ sudo ll
$ sudo /usr/bin/X -sharevts&

不使用sudo 可能会报一些BusID 或者没有权限的错误。上面的sudo ll是为了让terminal记住sudo的密码,要么会卡到输入密码的位置,并不能启动xorg,启动了ctrl + C 是退不出来的,所有放到后台运行不要运行只能Kill了。

安装启动VNC

$ mkdir ~/.vnc
$ x11vnc -storepasswd ~/.vnc/passwd
$ x11vnc -rfbauth ~/.vnc/passwd  -display :0 -forever -bg -repeat -nowf -o ~/.vnc/x11vnc.log

终端启动gedit 测试

$ gedit

如何假装自己的Ubuntu 显卡导致用户界面没法启动呢?

方法就是关闭Ubuntu的UI,让默认就只启动终端。
引用别人2的方法:

// 关闭
sudo systemctl set-default multi-user.target
sudo reboot

// 开启
sudo systemctl set-default graphical.target
sudo reboot

PS :过程中遇到了VNC很卡,疑似因没有物理显示器的硬件刷新信号,垂直同步相关的点,可能导致的VNC很卡,因为CPU和GPU都很闲,可能是再等什么信号,目前还没有解决。又解掉的小同学记得回复我哦。


  1. VNC远程登录无外接显示器的Ubuntu Desktop ↩︎

  2. Ubuntu18.04 关闭和开启图形用户界面 ↩︎

<think>好的,用户的问题是想要在Ubuntu 20.04中消除外接显示器的记忆。我需要先理解这个问题的具体含义。通常,当用户提到“外接显示器记忆”,可能指的是系统记住了之前连接过的显示器配置,比如位置、分辨率、缩放设置等,当再次连接同一台显示器,系统会自动应用之前的设置,而用户可能希望重置这些配置,让系统重新检测显示器,或者清除旧的配置信息。 接下来,我需要思考Ubuntu是如何管理显示器配置的。Ubuntu使用X Window系统或者Wayland作为显示服务器。在Ubuntu 20.04中,默认使用的是Xorg(X Window系统)。显示器配置通常存储在用户主目录下的.xprofile或者.config/monitors.xml文件中。其中,monitors.xml文件是GNOME桌面环境用来存储显示器配置的主要文件,包括每个显示器的EDID信息、位置、分辨率、旋转等设置。因此,删除或重置这个文件可能会清除之前的显示器配置。 另外,用户可能需要考虑是否有其他配置文件,比如使用ARandR或xrandr手动设置的脚本,这些可能会在登录自动执行,影响显示器的配置。所以,可能需要检查用户的启动应用程序或者.profile、.bashrc等文件是否有相关的配置命令。 接下来,步骤应该是: 1. 确认用户使用的显示服务器是Xorg还是Wayland。可以通过在终端运行`echo $XDG_SESSION_TYPE`来检查。如果是Wayland,处理方式可能同,但Ubuntu 20.04默认是Xorg。 2. 指导用户删除或重置monitors.xml文件。需要注意在操作前备份该文件,以防万一需要恢复。命令可能是: ```bash mv ~/.config/monitors.xml ~/.config/monitors.xml.bak ``` 然后注销或重启,让系统生成新的配置文件。 3. 如果问题依旧,可能需要检查其他可能的配置文件,比如使用xrandr命令重置显示器设置,或者清除GNOME的设置。例如: ```bash gsettings reset org.gnome.settings-daemon.plugins.xrandr active ``` 4. 对于使用Wayland的情况,可能需要同的方法,但用户可能使用的是Xorg,所以先处理Xorg的情况。 5. 另外,用户可能需要了解如何通过图形界面重置显示器设置,比如进入“设置”->“显示器”,调整后应用新的配置,这可能会覆盖旧的配置。 需要验证这些步骤是否有效,同提醒用户在进行文件操作谨慎,避免误删其他重要配置。此外,可能需要考虑多用户情况,或者是否有其他软件(如nvidia-settings)管理显示器配置,这可能需要调整对应的配置文件。 最后,确保回答结构清晰,分步骤说明,并提供必要的命令和解释,使用户能够安全地操作,避免系统配置错误。</think>在Ubuntu 20.04中清除外接显示器记忆配置,可按照以下步骤操作: --- ### 一、问题根源 系统通过`~/.config/monitors.xml`文件保存显示器配置(分辨率、位置、缩放等)。要重置记忆,需删除或修改此文件。 --- ### 二、操作步骤 #### 1. 备份并删除配置文件 ```bash # 备份原文件(可选) cp ~/.config/monitors.xml ~/.config/monitors.xml.bak # 删除配置文件 rm ~/.config/monitors.xml ``` #### 2. 重置GNOME显示设置 ```bash gsettings reset org.gnome.settings-daemon.plugins.xrandr active ``` #### 3. 重启显示服务 按 `Ctrl+Alt+F2` 进入终端,执行: ```bash sudo systemctl restart gdm # 重启GNOME显示管理器 ``` 或直接**注销/重启系统**使配置生效。 --- ### 三、补充说明 - **多显示器场景**:删除配置文件后,首次重新连接外接显示器,系统会重新检测并生成新配置 - **xrandr手动配置**:若曾使用`xrandr`命令自定义设置,需检查`~/.profile`或`~/.xprofile`中是否有残留脚本 - **NVIDIA显卡用户**:可能需要额外重置显卡配置工具(如`nvidia-settings`)生成的设置 --- ### 四、验证结果 1. 重新连接外接显示器 2. 进入 `Settings > Displays` 3. 观察是否恢复默认配置(如镜像显示、主屏自动识别) --- ### 五、异常处理 若操作后出现黑屏/分辨率异常: 1. 按 `Ctrl+Alt+T` 打开终端 2. 通过`xrandr`命令临调整: ```bash xrandr --output HDMI-1 --auto --primary # 示例:启用HDMI接口 ``` 通过以上步骤可彻底清除Ubuntu对外接显示器的历史配置记忆。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值