Ubuntu 14.04 с нераспознанным монитором (или без монитора) - проблема с загрузкой
Я 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
- Создавать
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
Edit2: если я добавлю i915.modeset=1
на grub лучше, потому что я вижу grub, если подключаю монитор после запуска. Но личинка, кажется, показывается только когда я ее подключаю, а не раньше..
** Edit3: ** Проблема, кажется, происходит из-за аппаратного обеспечения и загрузки. Когда я добавил i915.modeset=1
Мой компьютер не запускается без подключенного монитора, но подождите, пока он не будет подключен. После этого начинается нормально. До этого ничего не случилось. Это означает i915.modeset=1
оказывает влияние на мою загрузку. Я не знаю, как и где, но, похоже,
2 ответа
Я наконец исправил эту проблему. Проблема возникла из 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
например) но компьютер все равно запустится.
Я надеюсь, что это поможет кому-то еще.
Есть несколько способов сделать это. Либо получите фиктивную заглушку для порта VGA для имитации монитора. (вы можете сделать их также)
Заглушка VGA - это простой способ обмануть GPU и Windows, позволив им думать, что на карту вставлен монитор. Принцип простоя VGA прост: имитация загрузки RGB-каналов монитора с 3 резисторами. Любой резистор от 50 до 150 Ом - это нормально.
Вам понадобится адаптер DVI-VGA, который поставляется с каждой картой GFX, резисторами и клипсатором. Вы можете использовать ножницы или кусачки для ногтей, провод мягкий.
Согните одну ножку резистора, пока она не станет параллельной другой, затем отрежьте длинную ножку, чтобы она была такой же длины, что и согнутая ножка.
Провод как раз того размера, который надежно вставляется в 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/
ИЛИ использовать фиктивный драйвер, такой как
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
Затем перезагрузите. И, надеюсь, работает.