При запуске 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
Связанные статьи:
- Ошибка в TigerVNC «CConn: End of stream» (РЕШЕНО) (100%)
- Почему TigerVNC при подключении показывает только чёрный экран (100%)
- Как сервер TigerVNC сделать доступным из вне. Как подключиться к серверу TigerVNC через SSH туннель (100%)
- Как настроить и использовать сервер TigerVNC в Linux (98.8%)
- Как настроить VNC сервер x11vnc (77.3%)
- Ошибка «ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/run/mysqld/mysqld.sock' (2 "No such file or directory")» (РЕШЕНО) (RANDOM - 1.3%)
我的 xstartup 文件是空的,我们该怎么办?