четверг, 2 января 2014 г.

Установка x11vnc на Debian с XFCE



Полностью процесс инсталляции и настройки выглядит следующим образом:

Сносим 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].
 
Добавляем опцию (уже существует, надо найти и раз комментировать) автозагрузки в файл /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:
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

1 комментарий:

  1. Забыли написать, что стоит создать /var/log/x11vnc.log и дать права на запись.

    ОтветитьУдалить