zaLinux.ru

Ошибка при запуске сервера TigerVNC: «X connection to :1 broken» (РЕШЕНО)


При запуске TigerVNC сервера

vncserver

может возникнуть ошибка, содержащая следующие строки в выводе:

  • vncserver: Failed command '/etc/X11/Xvnc-session': 256!
  • X connection to :1 broken (explicit kill or server shutdown).
  • Killing Xtigervnc process ID 3169… which seems to be deadlocked. Using SIGKILL!

Внимательно изучите сообщения, которые показывает TigerVNC, поскольку программа освобождает приглашение командной строки в любом случае, независимо от того, удачно или неудачно был запущен VNC сервер. Причём при удачном запуске показывается меньше информации, а при неудачном старте TigerVNC сначала пишется что всё в порядке, и только затем программа показывает сообщения, что работа завершилась ошибкой.

Полный лог ошибки может быть таким:

New 'HackWare:1 (mial)' desktop at :1 on machine HackWare

Starting applications specified in /etc/X11/Xvnc-session
Log file is /home/mial/.vnc/HackWare:1.log

Use xtigervncviewer -SecurityTypes VncAuth -passwd /home/mial/.vnc/passwd :1 to connect to the VNC server.


vncserver: Failed command '/etc/X11/Xvnc-session': 256!

=================== tail -15 /home/mial/.vnc/HackWare:1.log ===================
Copyright (C) 1999-2019 TigerVNC Team and many others (see README.rst)
See https://www.tigervnc.org for information on TigerVNC.
Underlying X server release 12008000, The X.Org Foundation


Mon Jun  1 12:14:17 2020
 vncext:      VNC extension running!
 vncext:      Listening for VNC connections on local interface(s), port 5901
 vncext:      created VNC server for screen 0
X connection to :1 broken (explicit kill or server shutdown).

Mon Jun  1 12:14:18 2020
 ComparingUpdateTracker: 0 pixels in / 0 pixels out
 ComparingUpdateTracker: (1:-nan ratio)
Killing Xtigervnc process ID 3169... which seems to be deadlocked. Using SIGKILL!

===============================================================================

Starting applications specified in /etc/X11/Xvnc-session has failed.
Maybe try something simple first, e.g.,
        tigervncserver -xstartup /usr/bin/xterm


Ещё причина в том, что не получается подключиться к дисплею :1. Дело в том, что TigerVNC не используют текущую X сессию, а создаёт новую. Настройка запуска сеанса рабочего стола для VNC выполняется в файле ~/.vnc/xstartup. Общая минимальная структура файла ~/.vnc/xstartup следующая:

#!/bin/bash

PATH=/usr/bin:/usr/sbin
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec ЗАПУСК &

Вместо слова ЗАПУСК должен быть указан исполнимый файл, запускающий X сессию.

  • Для Cinnamon: cinnamon-session-cinnamon
  • Для XFCE: startxfce4
  • Для GNOME: /usr/bin/gnome-session
  • Для Kodi: kodi-standalone

Вы можете самостоятельно узнать исполнимый файл для любого окружения рабочего стола, установленного в вашей системе, выполнив

ls /usr/share/xsessions/

В этой папке вы увидите файлы с расширением .desktop, например:

cinnamon2d.desktop  cinnamon.desktop  gnome.desktop  gnome-xorg.desktop  kodi.desktop

Откройте с именем интересующего вас окружения рабочего стола и найдите там строку, которая начинается на «Exec», например для файла cinnamon.desktop:

Exec=startxfce4

Следовательно, вместо слова «ЗАПУСК» в файле ~/.vnc/xstartup нужно вписать «startxfce4».

Тогда файл ~/.vnc/xstartup будет иметь следующее содержимое:

#!/bin/bash

PATH=/usr/bin:/usr/sbin
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4 &

Теперь сервер TigerVNC запускается без ошибок:

vncserver


Рекомендуемые статьи:

1 Комментарий

  1. hxliu

    我的 xstartup 文件是空的,我们该怎么办?

Добавить комментарий для hxliu Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *