Проблема
Ошибка сервера VNC: «A VNC server is already running as :X во время перезапуска vncserver.
VNC-сервер не запускается и выдает следующую ошибку.
# service vncserver restart Shutting down VNC server: 3:testuser 5:testuser2 [FAILED] Starting VNC server: 3:ctmagt70 New 'test1:3 (testuser)' desktop is test1:3 Starting applications specified in /tsc/apps/testuser/.vnc/xstartup Log file is /tsc/apps/testuser/.vnc/tscpinf001:3.log 5:testuser2 A VNC server is already running as :5 [FAILED]
Коренная причина
Эта ошибка может произойти из-за другого процесса, работающего в порту 6005, который препятствовал соединению vnc.
VNC-сервер прослушивает соединения для VNC-клиента по следующим TCP-портам.
5800+x, 5900+x, and 6000+x ( где x - это дисплей, который по умолчанию начинается с нуля)
Например:
- VNC-сервер на дисплее 5 будет прослушивать TCP-порты 5805, 5905 и 6005
- Дисплей 2 будет прослушивать TCP-порты 5802, 5902 и 6002
- Дисплей 18 будет прослушивать TCP-порты 5818, 5918 и 6018
Следующее уравнение объяснит предопределенное использование каждого порта, связанного с сервером VNC.
- 5800 + x – используется для отправки пользователю приложения vncviewer на основе java (при подключении из веб-браузера к порту 5800 + x)
- 5900 + x – VNC клиентский порт. Сам протокол VNC работает через этот порт.
- 6000 + x – X Серверный Порт
Вы можете проверить вывод netstat, чтобы убедиться, что зарезервированные порты vnc свободны на момент выпуска.
tcp 0 0 216.75.201.48:6005 216.75.201.48:46968 ESTABLISHED 505 217168781 26544/pmrepagent off (0.00/0/0)
Обходной путь
– Сделайте так, чтобы программа прослушивала порт 6000 + X, чтобы прослушивать другой порт.
– Временное решение: добавить параметр -nolisten в /usr/bin/vncserver, чтобы можно было отключить Xorg, который прослушивает 6000 + n, где n – номер дисплея. Пожалуйста, обратитесь к man-страницам man Xserver и man xorg за подробной информацией.
– Создайте резервную копию /usr/bin/vncserver и добавьте следующие строки в /usr/bin/vncserver после строки «$cmd =« Xvnc: $displayNumber »;»
# vi /usr/bin/vncserver $cmd .= " -nolisten tcp";
2 комментария
Какое же оно кривое…
VNC?