Рейтинг:0

Приложения Snap не могут подключиться к дисплею VNC

флаг it

У меня есть несколько приложений snap, которые хорошо работают в Ubuntu 20.04 (используя рабочий стол Gnome по умолчанию). Однако на сервере TigerVNC на этом ПК (который использует XFCE4) большинство приложений snap даже не запускаются. Судя по сообщениям об ошибках, как минимум одна проблема связана с подключением к дисплею VNC-сервера (:37 для моего сервера). У кого-нибудь есть предложения, как заставить снимки работать на дисплее VNC?

Вот некоторая информация:

Сервер VNC запускается с использованием vncserver -localhost нет: 37

Установлены снапы:

$ список моментальных снимков
Название Версия Отслеживание оборотов Примечания издателя
Cherrytree 0.99.36 40 последняя/стабильная версия hellsworth -
хром 91.0.4472.106 1637 последняя/стабильная каноническая версия -
ядро 16-2.51 11187 последнее/стабильное каноническое ядро
core18 20210507 2066 последняя/стабильная каноническая база
eclipse 2019-12 48 последняя/стабильная классика snapcrafters
gnome-3-28-1804 3.28.0-19-g98f9e67.98f9e67 145 последняя/стабильная каноническая версия -
gnome-3-34-1804 0+git.3556cb3 72 последний/стабильный/… канонический… —
gtk-common-themes 0.1-52-gb92ac40 1515 последний/стабильный/… канонический… —
gtk2-common-themes 0.1 13 последняя/стабильная каноническая версия -
jabref 5.2.60000 1021 последняя/стабильная коппор -
keepassxc 2.6.6 1522 последняя/стабильная версия keepassxreboot -
pdftk 2.02-4 9 последний/стабильный смосер -
snap-store 3.38.0-64-g23c4c77 547 последний/стабильный/… канонический… —
snapd 2.51 12159 последняя/стабильная каноническая версия snapd

pdftk, хром и затмение работать, так что это не похоже на общую проблему со снимками. Однако я получил следующие ошибки для других снимков, которые без проблем запускаются в хост-системе.

$ keepassxc
Протокол не указан
qt.qpa.screen: QXcbConnection: не удалось подключиться к дисплею: ​​37.0
Не удалось подключиться ни к одному X-дисплею.
$ джабреф
Поднял _JAVA_OPTIONS: -Duser.home=/home/ludwig/snap/jabref/1021
ОШИБКА StatusLogger Нераспознанный спецификатор формата [d]
ОШИБКА StatusLogger Нераспознанный спецификатор преобразования [d], начинающийся с позиции 16 в шаблоне преобразования.
ОШИБКА StatusLogger Неизвестный спецификатор формата [поток]
ОШИБКА StatusLogger Нераспознанный спецификатор преобразования [поток], начинающийся с позиции 25 в шаблоне преобразования.
ОШИБКА StatusLogger Неизвестный спецификатор формата [уровень]
ОШИБКА StatusLogger Нераспознанный спецификатор преобразования [уровень], начинающийся с позиции 35 в шаблоне преобразования.
ОШИБКА StatusLogger Неизвестный спецификатор формата [логгер]
ОШИБКА StatusLogger Нераспознанный спецификатор преобразования [logger], начинающийся с позиции 47 в шаблоне преобразования.
ОШИБКА StatusLogger Неизвестный спецификатор формата [msg]
ОШИБКА StatusLogger Нераспознанный спецификатор преобразования [msg], начинающийся с позиции 54 в шаблоне преобразования.
ОШИБКА StatusLogger Нераспознанный спецификатор формата [n]
ОШИБКА StatusLogger Нераспознанный спецификатор преобразования [n], начинающийся с позиции 56 в шаблоне преобразования.
ОШИБКА StatusLogger Нераспознанный спецификатор формата [d]
ОШИБКА StatusLogger Нераспознанный спецификатор преобразования [d], начинающийся с позиции 16 в шаблоне преобразования.
ОШИБКА StatusLogger Неизвестный спецификатор формата [поток]
ОШИБКА StatusLogger Нераспознанный спецификатор преобразования [поток], начинающийся с позиции 25 в шаблоне преобразования.
ОШИБКА StatusLogger Неизвестный спецификатор формата [уровень]
ОШИБКА StatusLogger Нераспознанный спецификатор преобразования [уровень], начинающийся с позиции 35 в шаблоне преобразования.
ОШИБКА StatusLogger Неизвестный спецификатор формата [логгер]
ОШИБКА StatusLogger Нераспознанный спецификатор преобразования [logger], начинающийся с позиции 47 в шаблоне преобразования.
ОШИБКА StatusLogger Неизвестный спецификатор формата [msg]
ОШИБКА StatusLogger Нераспознанный спецификатор преобразования [msg], начинающийся с позиции 54 в шаблоне преобразования.
ОШИБКА StatusLogger Нераспознанный спецификатор формата [n]
ОШИБКА StatusLogger Нераспознанный спецификатор преобразования [n], начинающийся с позиции 56 в шаблоне преобразования.
Протокол не указан
Протокол не указан
Исключение в потоке "main" java.lang.UnsupportedOperationException: невозможно открыть DISPLAY
    на [email protected]/com.sun.glass.ui.gtk.GtkApplication.lambda$new$6 (неизвестный источник)
    в java.base/java.security.AccessController.doPrivileged (неизвестный источник)
    по адресу [email protected]/com.sun.glass.ui.gtk.GtkApplication.<init>(неизвестный источник)
    на [email protected]/com.sun.glass.ui.gtk.GtkPlatformFactory.createApplication (неизвестный источник)
    на [email protected]/com.sun.glass.ui.Application.run (неизвестный источник)
    на [email protected]/com.sun.javafx.tk.quantum.QuantumToolkit.startup (неизвестный источник)
    на [email protected]/com.sun.javafx.application.PlatformImpl.startup (неизвестный источник)
    на [email protected]/com.sun.javafx.application.PlatformImpl.startup (неизвестный источник)
    на [email protected]/com.sun.javafx.application.LauncherImpl.startToolkit (неизвестный источник)
    на [email protected]/com.sun.javafx.application.LauncherImpl.launchApplication1 (неизвестный источник)
    на [email protected]/com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2 (неизвестный источник)
    на java.base/java.lang.Thread.run (неизвестный источник)

$ вишневое дерево
Протокол не указан
/snap/cherrytree/40/usr/lib/python2.7/dist-packages/gtk-2.0/gtk/__init__.py:57: GtkWarning: не удалось открыть дисплей
  warnings.warn(str(e), _gtk.Warning)
/snap/cherrytree/40/usr/share/cherrytree/modules/core.py:69: Предупреждение: неверный (NULL) экземпляр указателя
  self.window = gtk.Window()
/snap/cherrytree/40/usr/share/cherrytree/modules/core.py:69: Предупреждение: g_signal_connect_data: утверждение «G_TYPE_CHECK_INSTANCE (экземпляр)» не удалось
  self.window = gtk.Window()
/snap/cherrytree/40/usr/share/cherrytree/modules/clipboard.py:93: GtkWarning: IA__gtk_clipboard_get_for_display: утверждение 'display!= NULL' не удалось
  self.clipboard = gtk.clipboard_get()
отсутствует /home/schroeder_l/snap/cherrytree/40/.config/cherrytree/config.cfg
/snap/cherrytree/40/usr/share/cherrytree/modules/core.py:114: Предупреждение: неверный (NULL) экземпляр указателя
  vbox_main.pack_start(self.ui.get_widget("/MenuBar"), Ложь, Ложь)
/snap/cherrytree/40/usr/share/cherrytree/modules/core.py:114: Предупреждение: g_signal_connect_data: утверждение «G_TYPE_CHECK_INSTANCE (экземпляр)» не удалось
  vbox_main.pack_start(self.ui.get_widget("/MenuBar"), Ложь, Ложь)
/snap/cherrytree/40/usr/share/cherrytree/modules/core.py:114: GtkWarning: IA__gtk_settings_get_for_screen: утверждение «GDK_IS_SCREEN (экран)» не удалось
  vbox_main.pack_start(self.ui.get_widget("/MenuBar"), Ложь, Ложь)
/snap/cherrytree/40/usr/share/cherrytree/modules/core.py:114: Предупреждение: g_object_get: утверждение «G_IS_OBJECT (объект)» не удалось
  vbox_main.pack_start(self.ui.get_widget("/MenuBar"), Ложь, Ложь)
/snap/cherrytree/40/usr/share/cherrytree/modules/core.py:114: Предупреждение: значение «ИСТИНА» типа «gboolean» недопустимо или выходит за пределы допустимого диапазона для свойства «visible» типа «gboolean»
  vbox_main.pack_start(self.ui.get_widget("/MenuBar"), Ложь, Ложь)
/snap/cherrytree/40/usr/share/cherrytree/modules/core.py:114: GtkWarning: IA__gdk_screen_get_display: утверждение «GDK_IS_SCREEN (экран)» не удалось
  vbox_main.pack_start(self.ui.get_widget("/MenuBar"), Ложь, Ложь)
/snap/cherrytree/40/usr/share/cherrytree/modules/core.py:114: Предупреждение: g_object_ref: утверждение «G_IS_OBJECT (объект)» не удалось
  vbox_main.pack_start(self.ui.get_widget("/MenuBar"), Ложь, Ложь)
/snap/cherrytree/40/usr/share/cherrytree/modules/core.py:119: GtkWarning: IA__gtk_settings_get_for_screen: утверждение «GDK_IS_SCREEN (экран)» не удалось
  self.scrolledwindow_tree = gtk.ScrolledWindow()
/snap/cherrytree/40/usr/share/cherrytree/modules/core.py:121: GtkWarning: IA__gtk_settings_get_for_screen: утверждение «GDK_IS_SCREEN (экран)» не удалось
  self.scrolledwindow_text = gtk.ScrolledWindow()
/snap/cherrytree/40/usr/share/cherrytree/modules/core.py:173: GtkWarning: IA__gtk_settings_get_for_screen: утверждение «GDK_IS_SCREEN (экран)» не удалось
  self.treeview.append_column (self.column)
/snap/cherrytree/40/usr/share/cherrytree/modules/core.py:173: Предупреждение: g_object_get: утверждение «G_IS_OBJECT (объект)» не удалось
  self.treeview.append_column (self.column)
/snap/cherrytree/40/usr/share/cherrytree/modules/core.py:1309: Предупреждение: неверный (NULL) экземпляр указателя
  self.node_menu_tree = gtk.Menu()
/snap/cherrytree/40/usr/share/cherrytree/modules/core.py:1309: Предупреждение: g_signal_connect_data: утверждение «G_TYPE_CHECK_INSTANCE (экземпляр)» не удалось
  self.node_menu_tree = gtk.Menu()
/snap/cherrytree/40/usr/share/cherrytree/modules/core.py:1274: GtkWarning: IA__gtk_settings_get_for_screen: утверждение «GDK_IS_SCREEN (экран)» не удалось
  menu_item = gtk.ImageMenuItem (атрибуты [1])
/snap/cherrytree/40/usr/share/cherrytree/modules/core.py:1274: Предупреждение: g_object_get: утверждение «G_IS_OBJECT (объект)» не удалось
  menu_item = gtk.ImageMenuItem (атрибуты [1])
/snap/cherrytree/40/usr/share/cherrytree/modules/core.py:1274: Предупреждение: значение «ИСТИНА» типа «gboolean» недопустимо или выходит за пределы допустимого диапазона для свойства «visible» типа «gboolean»
  menu_item = gtk.ImageMenuItem (атрибуты [1])
/snap/cherrytree/40/usr/share/cherrytree/modules/core.py:1276: GtkWarning: IA__gtk_settings_get_for_screen: утверждение «GDK_IS_SCREEN (экран)» не удалось
  menu_item.set_image(gtk.image_new_from_stock(атрибуты[0], gtk.ICON_SIZE_MENU))
/snap/cherrytree/40/usr/share/cherrytree/modules/core.py:1276: Предупреждение: g_object_get: утверждение «G_IS_OBJECT (объект)» не удалось
  menu_item.set_image(gtk.image_new_from_stock(атрибуты[0], gtk.ICON_SIZE_MENU))
/snap/cherrytree/40/usr/share/cherrytree/modules/core.py:1276: Предупреждение: значение «ИСТИНА» типа «gboolean» недопустимо или выходит за пределы допустимого диапазона для свойства «visible» типа «gboolean»
  menu_item.set_image(gtk.image_new_from_stock(атрибуты[0], gtk.ICON_SIZE_MENU))
/snap/cherrytree/40/usr/share/cherrytree/modules/core.py:1265: Предупреждение: неверный (NULL) экземпляр указателя
  curr_submenu = gtk.Menu()
/snap/cherrytree/40/usr/share/cherrytree/modules/core.py:1265: Предупреждение: g_signal_connect_data: утверждение «G_TYPE_CHECK_INSTANCE (экземпляр)» не удалось
  curr_submenu = gtk.Menu()
/snap/cherrytree/40/usr/share/cherrytree/modules/core.py:1266: GtkWarning: IA__gtk_settings_get_for_screen: утверждение «GDK_IS_SCREEN (экран)» не удалось
  menu_item = gtk.ImageMenuItem (атрибуты [1])
/snap/cherrytree/40/usr/share/cherrytree/modules/core.py:1266: Предупреждение: g_object_get: утверждение «G_IS_OBJECT (объект)» не удалось
  menu_item = gtk.ImageMenuItem (атрибуты [1])
/snap/cherrytree/40/usr/share/cherrytree/modules/core.py:1266: Предупреждение: значение «ИСТИНА» типа «gboolean» недопустимо или выходит за пределы допустимого диапазона для свойства «visible» типа «gboolean»
  menu_item = gtk.ImageMenuItem (атрибуты [1])
/snap/cherrytree/40/usr/share/cherrytree/modules/core.py:1267: GtkWarning: IA__gtk_settings_get_for_screen: утверждение «GDK_IS_SCREEN (экран)» не удалось
  menu_item.set_image(gtk.image_new_from_stock(атрибуты[2], gtk.ICON_SIZE_MENU))
/snap/cherrytree/40/usr/share/cherrytree/modules/core.py:1267: Предупреждение: g_object_get: утверждение «G_IS_OBJECT (объект)» не удалось
  menu_item.set_image(gtk.image_new_from_stock(атрибуты[2], gtk.ICON_SIZE_MENU))
/snap/cherrytree/40/usr/share/cherrytree/modules/core.py:1267: Предупреждение: значение «ИСТИНА» типа «gboolean» недопустимо или выходит за пределы допустимого диапазона для свойства «visible» типа «gboolean»
  menu_item.set_image(gtk.image_new_from_stock(атрибуты[2], gtk.ICON_SIZE_MENU))
/snap/cherrytree/40/usr/share/cherrytree/modules/core.py:213: GtkWarning: IA__gdk_pango_context_get_for_screen: утверждение «GDK_IS_SCREEN (экран)» не удалось
  self.scrolledwindow_text.add(self.sourceview)
/snap/cherrytree/40/usr/share/cherrytree/modules/core.py:213: PangoWarning: pango_context_set_font_description: утверждение «контекст!= NULL» не удалось
  self.scrolledwindow_text.add(self.sourceview)
/snap/cherrytree/40/usr/share/cherrytree/modules/core.py:213: PangoWarning: pango_context_set_base_dir: утверждение «контекст!= NULL» не удалось
  self.scrolledwindow_text.add(self.sourceview)
/snap/cherrytree/40/usr/share/cherrytree/modules/core.py:213: PangoWarning: pango_context_set_language: утверждение «контекст!= NULL» не удалось
  self.scrolledwindow_text.add(self.sourceview)
/snap/cherrytree/40/usr/share/cherrytree/modules/core.py:213: Предупреждение: g_object_unref: утверждение «G_IS_OBJECT (объект)» не удалось
  self.scrolledwindow_text.add(self.sourceview)
/snap/cherrytree/40/usr/share/cherrytree/modules/core.py:213: GtkWarning: IA__gtk_settings_get_for_screen: утверждение «GDK_IS_SCREEN (экран)» не удалось
  self.scrolledwindow_text.add(self.sourceview)
/snap/cherrytree/40/usr/share/cherrytree/modules/core.py:213: GtkWarning: IA__gdk_screen_get_display: утверждение «GDK_IS_SCREEN (экран)» не удалось
  self.scrolledwindow_text.add(self.sourceview)
/snap/cherrytree/40/usr/share/cherrytree/modules/core.py:213: GtkWarning: IA__gdk_keymap_get_for_display: утверждение «GDK_IS_DISPLAY (дисплей)» не удалось
  self.scrolledwindow_text.add(self.sourceview)
/snap/cherrytree/40/usr/share/cherrytree/modules/core.py:213: Предупреждение: g_object_get: утверждение «G_IS_OBJECT (объект)» не удалось
  self.scrolledwindow_text.add(self.sourceview)
Ошибка сегментации (дамп ядра)

Может ли эта проблема возникать только для приложений моментальных снимков, использующих GTK или Qt? Из приложений, которые работают без проблем pdftk это инструмент командной строки, а eclipse использует KDE (не знаю для хрома).

Ответить или комментировать

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