Бег отprime

Бег отprime

Мое установленное snap-приложение — это приложение wxWidgets. Оно отлично работает после компиляции и компоновки, но не работает после установки из snap. Я предполагаю, что когда я ввожу имя своего приложения, возможно, 'snapd' идет и запускает обертку в каталоге /snap/<myappname>/x1/. В любом случае, я получаю...

Gtk-Message: Failed to load module "overlay-scrollbar"
Gtk-Message: Failed to load module "gail"
Gtk-Message: Failed to load module "atk-bridge"
Gtk-Message: Failed to load module "unity-gtk-module"
23:11:06: Error: Unable to initialize GTK+, is DISPLAY set properly?

Единственное, что я предполагаю, это то, что не все зависимости находятся и помещаются в /snap/<mayappname>/x1/usr/lib/x86_64-linux-gnu/каталог при установке snap install. Я пытался проверить эту гипотезу двумя способами. Во-первых, выйдя из каталога primeперед установкой, но ошибка там не воспроизводится. И, во-вторых, скопировав то, что я считал необходимыми библиотеками, в указанный каталог, но он доступен только для чтения, даже если я изменю ограничение snapcraft на devmodeи использую --devmodeфлаг во время установки, и даже если я попытаюсь сделать это chmod 777 .как root.

Если кому-то интересно взглянуть на мой дурацкий проект, его можно клонировать с...

http://github.com/spencerparkin/RubiksCube.git

Файл snapcraft.yaml настроен на запуск из scons. Я бы не стал пробовать snapcrafting в корне проекта. Я копирую файл snapcraft.yaml в какой-то другой каталог, прежде чем пробовать это.

Я проделал долгий путь и чувствую себя так близко к тому, чтобы заставить это работать... просто одно препятствие за другим... Я отстой.

решение1

Давайте разберемся, поскольку здесь много проблем:

Бег отprime

Когда вы запускаете primeнапрямую из вашей классической системы, вы увидите все библиотеки, которые есть в вашей классической системе, так что это не лучший способ сделать это. При запуске какщелчоккорневая файловая система, которая фактически видна в данном случае, — это ubuntu-coreили core.

Чтобы ощутить, как будет ощущаться окружающая среда, лучше всего перейти в оболочку этой среды. Это можно сделать, выполнив:

snap run --shell <snap-name>.<app-name>

Только для чтения

При установке моментальных снимков для фактического моментального снимка они монтируются в squashfs, эта файловая система доступна только для чтения, и по этой причине вы не можете записывать и вносить изменения в установленный моментальный снимок.

Во время разработки это может быть лучше сделать из каталога вашего проекта:

snap try prime [--devmode]

Таким образом, вы сможете вносить изменения в свой primeкаталог в режиме реального времени, чтобы протестировать различные варианты.

Запуск приложения

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

Они поставляются в виде частей, чтобы почувствовать, как это работает с помощью Snapcraft, запустите

snapcraft update
snapcraft search desktop

И чтобы увидеть, что делает один из них parts, запустите

snapcraft define <part-name>

Более подробную информацию о настольных лаунчерах можно найти на сайтеhttps://insights.ubuntu.com/2016/07/06/ubuntu-app-developer-blog-announcing-new-snap-desktop-launchers/

Связанный контент