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 prime
diretó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 devmode
e usar o --devmode
sinalizador 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 prime
diretamente 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-core
ou 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 prime
diretó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 parts
faz, 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/