我已经Ubuntu 14.04
在电脑上安装了。即使没有插入任何显示器,我也需要启动它。
基本上我需要这样做,因为在启动时我的显示器无法被识别但已插入。这就是为什么我需要继续启动,即使X
没有看到插入的显示器。
如果没有显示器,我的电脑根本无法启动。
我以为问题来自于Xserver
但是那还早着呢(参见Edit3)但我X server
还是做了一些工作以确保问题不是来自这里。
我尝试手动添加 Xorg 配置文件。这是我的文件
#/usr/share/X11/xorg.conf.d/10-monitor.conf
Section "Monitor"
Identifier "Monitor0"
Modeline "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
EndSection
Section "Device"
Identifier "graphic_card0"
Driver "intel"
BusID "PCI:0:2:0"
#Driver "vesa" #Choose the driver used for this monitor
EndSection
Section "Screen"
Identifier "Screen0" #Collapse Monitor and Device section to Screen section
Device "graphic_card0"
Monitor "Monitor0"
DefaultDepth 24 #Choose the depth (16||24)
SubSection "Display"
Depth 24
Modes "1920x1080_60.00" #Choose the resolution
EndSubSection
EndSection
我发现灵感ArchLinux和Unix StackExchange
但它仍然不起作用。
笔记 :
PCI:0:2:0
来自该命令的结果:lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation ValleyView Gen7 (rev 0e)
我也尝试通过 SSH
- 停止
lightdm
- 以 root 身份创建
xorg.conf.new
文件Xorg -configure
。 - 重命名
xorg.conf.new
为xorg.conf
这是生成的文件:
Section "ServerLayout"
Identifier "X.org Configured"
Screen 0 "Screen0" 0 0
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection
Section "Files"
ModulePath "/usr/lib/xorg/modules"
FontPath "/usr/share/fonts/X11/misc"
FontPath "/usr/share/fonts/X11/cyrillic"
FontPath "/usr/share/fonts/X11/100dpi/:unscaled"
FontPath "/usr/share/fonts/X11/75dpi/:unscaled"
FontPath "/usr/share/fonts/X11/Type1"
FontPath "/usr/share/fonts/X11/100dpi"
FontPath "/usr/share/fonts/X11/75dpi"
FontPath "built-ins"
EndSection
Section "Module"
Load "glx"
EndSection
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
EndSection
Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/input/mice"
Option "ZAxisMapping" "4 5 6 7"
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
EndSection
Section "Device"
### Available Driver options are:-
### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
### <string>: "String", <freq>: "<f> Hz/kHz/MHz",
### <percent>: "<f>%"
### [arg]: arg optional
#Option "NoAccel" # [<bool>]
#Option "AccelMethod" # <str>
#Option "Backlight" # <str>
#Option "DRI" # <str>
#Option "Present" # [<bool>]
#Option "ColorKey" # <i>
#Option "VideoKey" # <i>
#Option "Tiling" # [<bool>]
#Option "LinearFramebuffer" # [<bool>]
#Option "VSync" # [<bool>]
#Option "PageFlip" # [<bool>]
#Option "SwapbuffersWait" # [<bool>]
#Option "TripleBuffer" # [<bool>]
#Option "XvPreferOverlay" # [<bool>]
#Option "HotPlug" # [<bool>]
#Option "ReprobeOutputs" # [<bool>]
#Option "DeleteUnusedDP12Displays" # [<bool>]
#Option "XvMC" # [<bool>]
#Option "ZaphodHeads" # <str>
#Option "VirtualHeads" # <i>
#Option "TearFree" # [<bool>]
#Option "PerCrtcPixmaps" # [<bool>]
#Option "FallbackDebug" # [<bool>]
#Option "DebugFlushBatches" # [<bool>]
#Option "DebugFlushCaches" # [<bool>]
#Option "DebugWait" # [<bool>]
#Option "BufferCache" # [<bool>]
Identifier "Card0"
Driver "intel"
BusID "PCI:0:2:0"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
SubSection "Display"
Viewport 0 0
Depth 1
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 4
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 8
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 15
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 16
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 24
EndSubSection
EndSection
它仍然不起作用。
似乎没有任何文件被读取或被考虑。
有人有什么主意吗?
先感谢您。
编辑:
以下是其内容/var/log/Xorg.0.log
(太大,无法在此写出):Xorg.log
编辑2:
如果我添加i915.modeset=1
grub,效果会更好,因为启动后插入显示器就可以看到 grub。但是 grub 似乎只在我插入时显示,而不是在此之前。
**编辑 3:** 问题似乎来自硬件和启动之间的某个问题。当我添加后,i915.modeset=1
我的电脑在没有插入显示器的情况下无法启动,而是等到插入显示器后才能启动。之后,它正常启动。之前什么都没有发生。这意味着i915.modeset=1
对我的启动有影响。我不知道如何或在哪里,但似乎有影响。
答案1
我终于解决了这个问题。问题出在grub
。这是我找到的方法。
#/etc/X11/xorg.conf
Section "Device"
Identifier "card0"
Driver "intel"
VendorName "INTEL Corporation"
#Option "NoDDC"
EndSection
Section "Monitor"
Identifier "fake_monitor"
VendorName "Unknown"
HorizSync 30-83
VertRefresh 56-75
Modeline "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
Option "PreferredMode" "1920x1080_60.00"
EndSection
Section "Screen"
Identifier "screen_without_monitor"
Device "card0"
Monitor "fake_monitor"
SubSection "Display"
Modes "1920x1080_60.00"
EndSubSection
EndSection
最重要的文件是:
# /etc/default/grub
GRUB_DEFAULT=10
GRUB_RECORDFAIL_TIMEOUT=10
GRUB_HIDDEN_TIMEOUT_QUIET=false
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash i915.modeset=1"
GRUB_CMDLINE_LINUX=«
GRUB_GFXMODE=1920X1080
编辑后/etc/default/grub
不要忘记运行。这将生成启动时读取的sudo update-grub
真实文件。grub.cfg
即使没有插入任何显示器,这也会强制我的计算机启动。
注意:如果根本没有插入任何显示器,屏幕将是黑的,直到我连接到计算机(例如TeamViewer
),但计算机无论如何都会启动。
我希望这能够帮助别人。
答案2
有几种方法可以做到这一点。要么为 VGA 端口配备一个假插头来模拟显示器。(你也可以自己制作它们)
VGA 虚拟插头是一种简单的黑客技术,可以欺骗 GPU 和 Windows,让它们认为卡上插着显示器。VGA 虚拟插头的原理很简单:用 3 个电阻模拟显示器 RGB 通道负载。50 到 150 欧姆之间的任何电阻都可以。
您将需要每个 GFX 卡附带的 DVI-VGA 适配器、电阻器和剪刀。您可以使用剪刀或指甲刀,电线很软。
将电阻器的一条腿弯曲,直到它与另一条腿平行,然后剪掉长腿,使其与弯曲腿的长度相同。
该电线的规格刚好适合,可以安全地滑入 VGA plus。
将其推回原位。注意,您需要将右侧顶部的三个插针与正下方的插针一一对应地连接起来。握住插头,使宽的部分朝上。
交替使用电阻器,使一个电阻器的脚靠着另一个电阻器的主体,以避免跳线短路。
图片指南:http://www.overclock.net/t/384733/the-30-second-dummy-plug
指南2:http://www.geeks3d.com/20091230/vga-hack-how-to-make-a-vga-dummy-plug/
或者使用像 So 这样的虚拟驱动程序
sudo apt-get install xserver-xorg-video-dummy
然后配置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
然后重启。希望可以正常工作。