Correndo deprime

Correndo deprime

Meu aplicativo instalado rapidamente é um aplicativo wxWidgets. Ele funciona bem após compilação e vinculação, mas não funciona depois de instalado rapidamente. Presumo que, quando digito o nome do meu aplicativo, talvez 'snapd' execute o wrapper no /snap/<myappname>/x1/diretório. De qualquer forma, eu entendo...

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?

Meu único palpite é que nem todas as dependências são encontradas e colocadas dentro do /snap/<mayappname>/x1/usr/lib/x86_64-linux-gnu/diretório por instalação rápida. Tentei testar essa hipótese de duas maneiras. Primeiro, saindo do primediretório antes da instalação, mas o bug não pode ser reproduzido lá. E segundo, copiando o que eu acreditava serem as bibliotecas necessárias para o referido diretório, mas é somente leitura, mesmo se eu alterar o confinamento do snapcraft para devmodee usar o --devmodesinalizador durante a instalação, e mesmo se eu tentar chmod 777 .como root para gritar alto.

Se alguém estiver interessado em dar uma olhada no meu projeto estúpido, ele pode ser clonado em...

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

O arquivo snapcraft.yaml está configurado para executar scons. Eu não tentaria fazer snapcraft na raiz do projeto. Copio o arquivo snapcraft.yaml para algum outro diretório antes de tentar isso.

Eu percorri um longo caminho e me sinto tão perto de realmente fazer essa coisa funcionar... apenas um obstáculo após o outro... eu sou péssimo.

Responder1

Então, vamos desmontar este aplicativo, pois há muitos problemas aqui:

Correndo deprime

Ao executar primediretamente do seu sistema clássico, você verá todas as bibliotecas que seu sistema clássico possui, portanto, não é realmente a melhor maneira de fazer isso. Quando executado como umfotoo sistema de arquivos raiz que é realmente visto é, neste caso, ubuntu-coreou core.

Para experimentar como será o ambiente, talvez seja melhor entrar em um shell para esse ambiente, você pode fazer isso executando:

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

Somente leitura instantânea

Snaps quando instalados para um snap real são montados em um squashfs, este sistema de arquivos é somente leitura e a razão pela qual você não pode escrever e fazer modificações no snap instalado.

Durante o desenvolvimento, talvez seja melhor fazer isso no diretório do seu projeto:

snap try prime [--devmode]

Ao fazer isso, você pode fazer edições ao vivo em seu primediretório para testar variações de coisas.

Iniciando o aplicativo

Os avisos de carregamento do módulo não são tão ruins, eles também acontecem em alguns snaps. O que é ruim é que ele não consegue encontrar um display. Para começar rapidamente, existem iniciadores de desktop que podem inicializá-lo rapidamente.

Eles são entregues como peças, para ter uma ideia de como isso funciona com o snapcraft, execute

snapcraft update
snapcraft search desktop

E para ver o que um desses partsfaz, corra

snapcraft define <part-name>

Há mais informações sobre inicializadores de desktop disponíveis emhttps://insights.ubuntu.com/2016/07/06/ubuntu-app-developer-blog-announcing-new-snap-desktop-launchers/

informação relacionada