Aury88
January 8, 2020, 9:58am
1
Hi guys!
I’m trying to snap the Pixelorama sprite editor so following this great how-to from @popey I made the directory called “pixelorama”, and in that I downloaded and put the .pck and x86_64 linux files under a “files” folder (plus a “Brushes” and a “Palettes” directories found in the downloaded zip) and put this yaml under a “snap” folder:
name: pixelorama
base: core18
version: '0.6'
summary: Pixelorama sprite editor
description: |
Your free & open-source 2D sprite editor, made by Orama Interactive in the Godot Engine, using GDScript!
grade: devel
confinement: strict
apps:
pixelorama:
command: desktop-launch "$SNAP/Pixelorama.x86_64"
environment:
LD_LIBRARY_PATH: "$LD_LIBRARY_PATH:/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/pulseaudio"
plugs:
- opengl
- network
- network-bind
- pulseaudio
- x11
- desktop
- joystick
parts:
editor:
plugin: dump
source: files/
after: [desktop-glib-only]
stage-packages:
- libgl1-mesa-dri
- libglu1-mesa
- libgl1-mesa-glx
- libpulse0
- libxcursor1
- libxinerama1
- libxrandr2
- libxi6
- libasound2
desktop-glib-only:
build-packages:
- libglib2.0-dev
plugin: make
source: https://github.com/ubuntu/snapcraft-desktop-helpers.git
source-subdir: glib-only
stage-packages:
- libglib2.0-bin
I executed the snapcraft
command and the sudo snap install pixelorama_0.6_amd64.snap --dangerous
command both with success.
But when I try to launch the snap I obtain this error:
aurelio@aurelio-Lenovo-B51-80:~/snap/pixelorama$ pixelorama
/snap/pixelorama/x2/bin/desktop-launch: line 528: /snap/pixelorama/x2/Pixelorama.x86_64: Permission denied
/snap/pixelorama/x2/bin/desktop-launch: line 528: exec: /snap/pixelorama/x2/Pixelorama.x86_64: cannot execute: Permission denied
I don’t know how to solve this
what have I done wrong?
Aury88:
$ pixelorama
You tried
$ sudo pixelorama
too?
1 Like
ogra
January 8, 2020, 11:57am
3
check your systemd journal for “DENIED” messages …
oh, and is the binary actually executable ?
Aury88
January 9, 2020, 4:44pm
4
@jsmolka Yes, that was my first try but same result:
~$ sudo pixelorama
[sudo] password di aurelio:
mkdir: cannot create directory '/run/user/0': Permission denied
realpath: '': No such file or directory
realpath: '': No such file or directory
realpath: '': No such file or directory
realpath: '': No such file or directory
realpath: '': No such file or directory
realpath: '': No such file or directory
realpath: '': No such file or directory
realpath: '': No such file or directory
/snap/pixelorama/x2/bin/desktop-launch: line 528: /snap/pixelorama/x2/Pixelorama.x86_64: Permission denied
/snap/pixelorama/x2/bin/desktop-launch: line 528: exec: /snap/pixelorama/x2/Pixelorama.x86_64: cannot execute: Permission denied
@ogra
aurelio@aurelio-Lenovo-B51-80:~$ journalctl
-- Logs begin at gio 2020-01-09 17:51:50 CET, end at gio 2020-01-09 17:51:56 CET. --
gen 09 17:51:50 aurelio-Lenovo-B51-80 systemd-journald[402]: Runtime journal (/run/log/journal/) is 9.5M, max 38.0M, 28.5M free.
gen 09 17:51:51 aurelio-Lenovo-B51-80 sudo[32575]: pam_unix(sudo:session): session closed for user root
gen 09 17:51:53 aurelio-Lenovo-B51-80 sudo[32577]: aurelio : TTY=pts/4 ; PWD=/home/aurelio ; USER=root ; COMMAND=/bin/journalctl --vacuum-time=1s
gen 09 17:51:53 aurelio-Lenovo-B51-80 sudo[32577]: pam_unix(sudo:session): session opened for user root by (uid=0)
gen 09 17:51:53 aurelio-Lenovo-B51-80 sudo[32577]: pam_unix(sudo:session): session closed for user root
gen 09 17:51:56 aurelio-Lenovo-B51-80 audit[32670]: AVC apparmor="DENIED" operation="open" profile="snap.pixelorama.pixelorama" name="/home/aurelio/Documenti/" pid=32670 comm="head" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000
gen 09 17:51:56 aurelio-Lenovo-B51-80 kernel: audit: type=1400 audit(1578588716.564:102): apparmor="DENIED" operation="open" profile="snap.pixelorama.pixelorama" name="/home/aurelio/Documenti/" pid=32670 comm="head" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000
and
aurelio@aurelio-Lenovo-B51-80:~$ ls -la /snap/pixelorama/x2/bin
total 18
drwxr-xr-x 2 root root 37 gen 8 10:23 .
drwxrwxr-x 9 root root 195 gen 8 10:23 ..
-rwxr-xr-x 1 root root 18093 gen 8 10:22 desktop-launch
ogra
January 9, 2020, 4:54pm
5
Aury88:
journalctl
well, you cut off all the relevant info … rather do something like:
$ journalctl | grep DEN
and make sure the full width of the lines is in your paste …
your app binary is in /snap/pixelorama/x2 not in the bin/ subdir … i should have phrased the question differently …
so lets try again:
is Pixelorama.x86_64 actually executable ?
1 Like
Aury88
January 9, 2020, 5:09pm
6
I realized it but just as I was correcting you replied. you are too fast!
you can see the complete string in my previous post.
Also checked the bin and, as you suspected, it was not executable. so I retry the snapcraft procedure after changing the Pixelorama.x86_64 permission in the “files” directory.
now it works! thank you!
1 Like
ogra
January 9, 2020, 5:31pm
7
for the one DENIED message you probably want to add - home
to your plugs, so the app can access your Documents dir …
1 Like
Aury88
January 9, 2020, 6:10pm
8
done! thank you again.
now systemD report only these denied messages:
gen 09 19:02:55 aurelio-Lenovo-B51-80 audit[8698]: AVC apparmor="DENIED" operation="open" profile="snap.pixelorama.pixelorama" name="/proc/8698/mounts" pid=8698 comm="Pixelorama.x86_" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000
gen 09 19:02:55 aurelio-Lenovo-B51-80 kernel: kauditd_printk_skb: 20 callbacks suppressed
gen 09 19:02:55 aurelio-Lenovo-B51-80 kernel: audit: type=1400 audit(1578592975.781:1835): apparmor="DENIED" operation="open" profile="snap.pixelorama.pixelorama" name="/proc/8698/mounts" pid=8698 comm="Pixelorama.x86_" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000
but the application seems usable (though with some missing brushes and palettes)
aurelio@aurelio-Lenovo-B51-80:~/snap/pixelorama$ pixelorama
Godot Engine v3.1.2.stable.official - https://godotengine.org
OpenGL ES 2.0 Renderer: Mesa DRI Intel(R) HD Graphics 520 (Skylake GT2)
WARNING: _png_warn_function: iCCP: profile 'ICC profile': 'RGB ': RGB color space not permitted on grayscale PNG
At: drivers/png/image_loader_png.cpp:71.
WARNING: _png_warn_function: iCCP: profile 'ICC profile': 'RGB ': RGB color space not permitted on grayscale PNG
At: drivers/png/image_loader_png.cpp:71.
ERROR: load_image: Error opening file: Brushes/./parts/icon.png
At: core/io/image_loader.cpp:56.
ERROR: load_image: Error opening file: Brushes/./parts/splash.png
At: core/io/image_loader.cpp:56.
ERROR: load_image: Error opening file: Brushes/./x1/icon.png
At: core/io/image_loader.cpp:56.
ERROR: load_image: Error opening file: Brushes/./x1/splash.png
At: core/io/image_loader.cpp:56.
ERROR: load_image: Error opening file: Brushes/./current/icon.png
At: core/io/image_loader.cpp:56.
ERROR: load_image: Error opening file: Brushes/./current/splash.png
At: core/io/image_loader.cpp:56.
ERROR: load_image: Error opening file: Brushes/./prime/icon.png
At: core/io/image_loader.cpp:56.
ERROR: load_image: Error opening file: Brushes/./prime/splash.png
At: core/io/image_loader.cpp:56.
ERROR: load_image: Error opening file: Brushes/./snap/icon.png
At: core/io/image_loader.cpp:56.
ERROR: load_image: Error opening file: Brushes/./snap/splash.png
At: core/io/image_loader.cpp:56.
ERROR: load_image: Error opening file: Brushes/./stage/icon.png
At: core/io/image_loader.cpp:56.
ERROR: load_image: Error opening file: Brushes/./stage/splash.png
At: core/io/image_loader.cpp:56.
ERROR: load_image: Error opening file: Brushes/./files/icon.png
At: core/io/image_loader.cpp:56.
ERROR: load_image: Error opening file: Brushes/./files/splash.png
At: core/io/image_loader.cpp:56.
ERROR: load_image: Error opening file: Brushes/./common/icon.png
At: core/io/image_loader.cpp:56.
ERROR: load_image: Error opening file: Brushes/./common/splash.png
At: core/io/image_loader.cpp:56.
WARNING: cleanup: ObjectDB Instances still exist!
At: core/object.cpp:2087.
ERROR: clear: Resources Still in use at Exit!
At: core/resource.cpp:425.
This is usually just noise, but you can make it go away by plugging and connecting the ‘mount-observe’ interface.
1 Like
Aury88
January 9, 2020, 9:25pm
10
I confirm it seems only noise so I will not try to plug and connect the mount-observe interface.