没有插入监视器时添加假显示


47

我有一台未连接任何外部监视器的Ubuntu 14.04服务器。我使用NoMachine来远程控制机器。这样做时,Unity / Gnome界面看不到任何监视器连接,因此在与NoMachine连接时只能使用800x600。如果插入监视器,则可以将分辨率设置为远程计算机上NoMachine窗口的大小。

有没有一种方法可以在Ubuntu上创建“假”监视器设备,以便可以在Unity / Gnome中设置桌面分辨率?

Answers:


54

找到了一种不需要虚拟插头的方法:http : //blog.mediafederation.com/andy-hawkins/ubuntu-headless-vnc-vesa-800x600-fix/

基本上安装一个虚拟驱动程序:

sudo apt-get install xserver-xorg-video-dummy

然后将其写入/usr/share/X11/xorg.conf.d/xorg.conf文件中(如果不存在,则创建一个):

Section "Device"
    Identifier  "Configured Video Device"
    Driver      "dummy"
EndSection

Section "Monitor"
    Identifier  "Configured Monitor"
    HorizSync 31.5-48.5
    VertRefresh 50-70
EndSection

Section "Screen"
    Identifier  "Default Screen"
    Monitor     "Configured Monitor"
    Device      "Configured Video Device"
    DefaultDepth 24
    SubSection "Display"
    Depth 24
    Modes "1024x800"
    EndSubSection
EndSection

然后重新启动计算机。


1
请编辑答案,软件包正在更新。尝试sudo apt-cache search video-dummy
cctan

1
创建/usr/share/X11/xorg.conf.d/xorg.conf具有该内容的文件,或者创建来自xpra.org/xorg.conf的文件,我的Ubuntu不再启动(它在登录屏幕前停留在Ubuntu徽标屏幕上)。可能是什么问题?
大卫·波塔贝拉

2
答案中的链接似乎已断开。
rsethc

4
也打破了我的操作系统。没有启动。它的遥控器很远,现在我需要开车去开车1小时。危险的东西:-)
Derek '18

1
这对我有用!但是,有一个问题是,如果我连接真正的显示器,它总是黑屏
soulmachine '18

20

在未连接监视器的Ubuntu 14.04桌面上指定分辨率:

在xrandr手册页中:

--fb widthxheight
   Reconfigures the screen to the specified size. All configured 
   monitors must fit within this size. When this option is not 
   provided, xrandr computes the smallest screen size that will 
   hold the set of configured outputs; this option provides a 
   way to override that behaviour.

因此,在连接后使用命令:

xrandr --fb 1280x1024

太好了,这是工作!
burtsevyg

2
对我来说,它是:Can't open display
ar2015年

2
@ ar2015以xrandr --fb 1280x1024 -display :0
Terrance

@Terrance我得到了No protocol specified Can't open display :0
Rufus

@Woofas您是否已登录Wayland的系统?据我所知,xrandr仅适用于X.Org。我只是在18.04系统上再次运行了命令,它运行正常,但是我使用的是默认为X.Org的Xubuntu。
Terrance

8

这是一个硬件解决方案/工作环境,可能适用于某些图形硬件/驱动程序。

  • 您可以购买Dummy VGA(或DVI模拟)插头,也可以称之为Dummy Dongle。

  • 或仅在VGA输出端使用3个大约75欧姆的电阻:1→6、2→7、3→8。

    +/- 10欧姆可以正常工作。有些卡仅使用一个电阻器工作。(就像我的英特尔一样,2→7或3→8将被检测为监视器)

参考:如何为图形卡创建虚拟插头


1
听起来像个有趣的主意。我会试一试。
约翰·查普曼

2
老实说,这是最简单的方法。有很多解决方法的教程,但这只是简单的工作,可以节省很多时间。DIY选项似乎很可靠,但亚马逊上的虚拟插头是20美元。只要确保您得到一个好的人来支持您的解决方案即可。
杰森·卡普里奥蒂

3

我在Ubuntu 18.04上,这是我解决的方法:

我使用以下问题的答案创建了虚拟显示器:https : //unix.stackexchange.com/questions/378373/add-virtual-output-to-xorg

创建一个20-intel.conf文件:

须藤vi /usr/share/X11/xorg.conf.d/20-intel.conf

将以下配置信息添加到文件中:

Section "Device"
    Identifier "intelgpu0"
    Driver "intel"
    Option "VirtualHeads" "2"
EndSection

这告诉英特尔GPU创建2个虚拟显示器。您可以根据需要更改VirtualHeads的数量。

然后,我制作了一个shell脚本(不要忘记设置可执行文件)并将其放在启动应用程序中:

#! /bin/bash

/usr/bin/xrandr -d :0 --output VIRTUAL1 --primary --auto
/usr/bin/xrandr --newmode "1600x900_60.00" 118.25 1600 1696 1856 2112 900$
/usr/bin/xrandr --addmode VIRTUAL1 "1600x900_60.00"
/usr/bin/xrandr

这样,将VIRTUAL1设置为输出并连接。在启动时,将创建一个新模式(使用“ cvt 1600 900”找到)并指定给VIRTUAL1。

唯一的问题是:重启时缺少扩展坞...尚未解决。


3

考虑Xvfb,当您真正插入真实的显示器时,它最有可能使显示混乱

以下命令将在ID 1和分辨率为假的显示器上启动lightdm1024x76

export DISPLAY=:1
Xvfb :1 -screen 0 1024x768x16 &
sleep 1

#exec gnome-session & # use gnome-session instead of lightdm
exec lightdm-session &

谢谢,这帮助我在没有显示的Debian上运行chrome。
黛达

0

对我来说,以上解决方案均无效。要添加新设备/屏幕VIRTUAL1,对我有用的是:

  • 安装包xserver-xorg-video-dummy
  • 更新xorg.conf

所有详细信息在这里:未插入监视器时添加假显示

信息:对我来说,它可以编辑/etc/X11/xorg.conf而不是/usr/share/X11/xorg.conf.d/xorg.conf

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.