Полностью процесс инсталляции и настройки выглядит следующим образом:
Сносим vnc-сервер по умолчанию:
sudo apt-get remove vino
Ставим x11vnc:
sudo apt-get install x11vnc
Генерируем пароль доступа:
x11vnc -storepasswd
Создаем файл /home/user/x11vnc_start.sh с содержимым вида:
#!/bin/bash /usr/bin/x11vnc -dontdisconnect -display :0 -noxfixes -shared -forever -rfbport 5900 -bg -o /var/log/x11vnc.log -rfbauth /home/user/.vnc/passwd exit 0
(не забываем выставить ему chmod +x и поменять имя пользователя в пути параметра rfbauth на реальное).
Параметры:
dontdisconnect не отключать клиентов при новом соединении;
display :0 какой дисплей использовать;
shared для подключения более одного пользователя;
noxfixes что-то связанное с отрисовкой курсора;
forever не закрывать x11vnc после разрыва соединения;
rfbport 5900 какой порт использовать;
bg запускать в фоне. Последние два параметра это лог и файл паролей [1].
dontdisconnect не отключать клиентов при новом соединении;
display :0 какой дисплей использовать;
shared для подключения более одного пользователя;
noxfixes что-то связанное с отрисовкой курсора;
forever не закрывать x11vnc после разрыва соединения;
rfbport 5900 какой порт использовать;
bg запускать в фоне. Последние два параметра это лог и файл паролей [1].
Добавляем опцию (уже существует, надо найти и раз комментировать) автозагрузки в файл /etc/lightdm/lightdm.conf:
greeter-setup-script=/home/user/x11vnc_start.sh
Перезагружаем сервер и проверяем доступность сервера на этапе ввода пароля пользователем:
sudo reboot
Если не работает, то скорей всего не стартуют X'ы, из-за отсутствия монитора. Выполняем следующие. Убедитесь, что к видеокарте не подсоединено ничего лишнего, кроме монитора (в моем случае монитор должен быть подсоединен через тюнер), то есть всё установлено так, как и должно в дальнейшем использоваться.
В NVIDIA X Server Settings перейдите во вкладку «X Server Display Configuration» и проверьте правильность выбора разрешения и частоты.
Кликните на кнопку «Advanced...».
Запишите где-нибудь «Model» (в моем случае «LG L1952T (CRT-0 on GPU-0)», конкретно запомните значение, выделенное у меня жирным шрифтом, у Вас оно скорее всего другое. Далее везде, где упоминается у меня «CRT-0» Вы должны ставить своё значение) и «Mode Name» (у меня «1280x1024_60»).
Кликните на кнопку «Save to X Configuration File» и сохраните в «/etc/X11/xorg.conf»
Теперь перезагрузите компьютер с включенным монитором.
Далее нужно сохранить информацию EDID Вашего монитора. Снова открываем NVIDIA X Server Settings:
Переходим на вкладку с настройками для Вашей модели монитора (В моём случае вкладка «CRT-0 — (LG L1952T)»). Кликните на «Acquire EDID» и сохраните файл в папку «/root».
Модифицируем «/etc/X11/xorg.conf» для использования сохраненных настроек:
В секцию «Device» я добавил:
Option "CustomEDID" "CRT-0:/root/edid.bin"
(Вместо «CRT-0» Вы должны написать своё значение из тех, которые Вы записали из «X Server Display Configuration» из поля «Model»).
Секция «Device» должна принять подобный вид:
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce 9600 GT"
Option "CustomEDID" "CRT-0:/root/edid.bin"
EndSection
Снова перезагрузите компьютер. Если загрузка прошла нормально, то будем двигаться дальше.
Далее нужно установить использование DVI-интерфейса.
В файле «/etc/X11/xorg.conf» в секции «Screen» добавьте следующие строки:
Option "ConnectedMonitor" "CRT-0"
Option "ExactModeTimingsDVI" "TRUE"
(Вместо «CRT-0» напишите своё значение).
Удаляем из той же секции «Screen» все строки, содержащие «metamodes» (помните, что gedit умеет переносить строки).
И записываем вместо них одну строку:
Option "metamodes" "CRT-0: 1280x1024_60 +0+0"
(Здесь «CRT-0» замените на Ваше значение из поля «Model» в «X Server Display Configuration», а «1280x1024_60» замените на значение из поля «Mode Name»).
После вышеописанных действий секция «Screen» должна выглядеть подобным образом:
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "TwinView" "0"
Option "ConnectedMonitor" "CRT-0"
Option "ExactModeTimingsDVI" "TRUE"
Option "TwinViewXineramaInfoOrder" "CRT-0"
Option "metamodes" "CRT-0: 1280x1024_60 +0+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection
И последний этап.
Перезагрузите компьютер с включенным монитором. Если загрузка прошла нормально, то повторите то же самое с выключенным монитором. После включения монитора Вы должны получить корректное разрешение, частоту и, главное, саму картинку.
Если вдруг будут проблемы, проверьте лог-файл в «/var/log/Xorg.0.log».
greeter-setup-script=/home/user/x11vnc_start.sh
Перезагружаем сервер и проверяем доступность сервера на этапе ввода пароля пользователем:
sudo reboot
Если не работает, то скорей всего не стартуют X'ы, из-за отсутствия монитора. Выполняем следующие. Убедитесь, что к видеокарте не подсоединено ничего лишнего, кроме монитора (в моем случае монитор должен быть подсоединен через тюнер), то есть всё установлено так, как и должно в дальнейшем использоваться.
В NVIDIA X Server Settings перейдите во вкладку «X Server Display Configuration» и проверьте правильность выбора разрешения и частоты.
Кликните на кнопку «Advanced...».
Запишите где-нибудь «Model» (в моем случае «LG L1952T (CRT-0 on GPU-0)», конкретно запомните значение, выделенное у меня жирным шрифтом, у Вас оно скорее всего другое. Далее везде, где упоминается у меня «CRT-0» Вы должны ставить своё значение) и «Mode Name» (у меня «1280x1024_60»).
Кликните на кнопку «Save to X Configuration File» и сохраните в «/etc/X11/xorg.conf»
Теперь перезагрузите компьютер с включенным монитором.
Далее нужно сохранить информацию EDID Вашего монитора. Снова открываем NVIDIA X Server Settings:
Код: [Выделить]
sudo nvidia-settings
Переходим на вкладку с настройками для Вашей модели монитора (В моём случае вкладка «CRT-0 — (LG L1952T)»). Кликните на «Acquire EDID» и сохраните файл в папку «/root».
Модифицируем «/etc/X11/xorg.conf» для использования сохраненных настроек:
Код: [Выделить]
cd /etc/X11
sudo chmod 777 xorg.conf
sudo gedit xorg.conf
В секцию «Device» я добавил:
Option "CustomEDID" "CRT-0:/root/edid.bin"
(Вместо «CRT-0» Вы должны написать своё значение из тех, которые Вы записали из «X Server Display Configuration» из поля «Model»).
Секция «Device» должна принять подобный вид:
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce 9600 GT"
Option "CustomEDID" "CRT-0:/root/edid.bin"
EndSection
Снова перезагрузите компьютер. Если загрузка прошла нормально, то будем двигаться дальше.
Далее нужно установить использование DVI-интерфейса.
В файле «/etc/X11/xorg.conf» в секции «Screen» добавьте следующие строки:
Option "ConnectedMonitor" "CRT-0"
Option "ExactModeTimingsDVI" "TRUE"
(Вместо «CRT-0» напишите своё значение).
Удаляем из той же секции «Screen» все строки, содержащие «metamodes» (помните, что gedit умеет переносить строки).
И записываем вместо них одну строку:
Option "metamodes" "CRT-0: 1280x1024_60 +0+0"
(Здесь «CRT-0» замените на Ваше значение из поля «Model» в «X Server Display Configuration», а «1280x1024_60» замените на значение из поля «Mode Name»).
После вышеописанных действий секция «Screen» должна выглядеть подобным образом:
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "TwinView" "0"
Option "ConnectedMonitor" "CRT-0"
Option "ExactModeTimingsDVI" "TRUE"
Option "TwinViewXineramaInfoOrder" "CRT-0"
Option "metamodes" "CRT-0: 1280x1024_60 +0+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection
И последний этап.
Перезагрузите компьютер с включенным монитором. Если загрузка прошла нормально, то повторите то же самое с выключенным монитором. После включения монитора Вы должны получить корректное разрешение, частоту и, главное, саму картинку.
Если вдруг будут проблемы, проверьте лог-файл в «/var/log/Xorg.0.log».
ИСТОЧНИКИ:http://forum.ubuntu.ru/index.php?topic=141505.0
Забыли написать, что стоит создать /var/log/x11vnc.log и дать права на запись.
ОтветитьУдалить