Hello,
I am currently trying to create an electron kiosk snap following this tutorial https://ubuntu.com/tutorials/electron-kiosk#1-overview. I would like to test this on a Raspberry Pi.
I was able to generate a snap with the following snapcraft.yaml
file:
name: aidm-kiosk-system
version: '0.1'
summary: Hello World Electron app
description: |
Simple Hello World Electron app as an example
base: core18
confinement: strict
grade: devel
architectures:
- build-on: amd64
run-on: armhf
apps:
aidm-kiosk-system:
command: desktop-launch xwayland-kiosk-launch "aidm-kiosk-system/aidm-kiosk-system" "--no-sandbox"
plugs:
- browser-support
- network
- network-bind
- opengl
- pulseaudio
- wayland
daemon:
daemon: simple
restart-condition: always
command: desktop-launch xwayland-kiosk-launch "aidm-kiosk-system/aidm-kiosk-system" "--no-sandbox"
plugs:
- browser-support
- network
- network-bind
- opengl
- pulseaudio
- wayland
environment:
XWAYLAND_FULLSCREEN_WINDOW_HINT: window_role="browser-window"
parts:
aidm-kiosk:
plugin: nil
source: ./
override-build: |
yarn add electron electron-packager --verbose &&
./node_modules/.bin/electron-packager . aidm-kiosk-system --overwrite --platform=linux --arch=$ARCH --output=release-build --prune=true
cp -rv ./aidm-kiosk-system-linux-* $SNAPCRAFT_PART_INSTALL/aidm-kiosk-system
build-snaps:
- node/14/stable
build-packages:
- nodejs
- npm
- yarn
- unzip
stage-packages:
- libasound2
- libgconf-2-4
- libnss3
- libx11-xcb1
- libxss1
- libxtst6
# Adapted from snapcraft-desktop-helpers https://github.com/ubuntu/snapcraft-desktop-helpers/blob/master/snapcraft.yaml#L183
desktop-gtk3:
source: https://github.com/ubuntu/snapcraft-desktop-helpers.git
source-subdir: gtk
plugin: make
make-parameters: ["FLAVOR=gtk3"]
build-packages:
- build-essential
- libgtk-3-dev
stage-packages:
- libxkbcommon0 # XKB_CONFIG_ROOT
- ttf-ubuntu-font-family
- dmz-cursor-theme
- light-themes
- adwaita-icon-theme
- gnome-themes-standard
- shared-mime-info
- libgtk-3-0
- libgdk-pixbuf2.0-0
- libglib2.0-bin
- libgtk-3-bin
- unity-gtk3-module
- libappindicator3-1
- locales-all
- xdg-user-dirs
- ibus-gtk3
- libibus-1.0-5
xwayland-kiosk-helper:
plugin: cmake
source: https://github.com/MirServer/xwayland-kiosk-helper.git
build-packages: [ build-essential ]
stage-packages: [ xwayland, i3, libegl1-mesa, libgl1-mesa-glx ]
However, installing the snap with snap install --dangerous NAME
and executing it with (sudo) snap run NAME
returns the following errors:
ERROR: ld.so: object '/snap/aidm-kiosk-system/x2/lib/bindtextdomain.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
/snap/aidm-kiosk-system/x2/bin/desktop-launch: line 309: /snap/aidm-kiosk-system/x2/usr/bin/xdg-user-dirs-update: cannot execute binary file: Exec format error
ERROR: ld.so: object '/snap/aidm-kiosk-system/x2/lib/bindtextdomain.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
realpath: '': No such file or directory
ERROR: ld.so: object '/snap/aidm-kiosk-system/x2/lib/bindtextdomain.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
realpath: '': No such file or directory
ERROR: ld.so: object '/snap/aidm-kiosk-system/x2/lib/bindtextdomain.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
realpath: '': No such file or directory
ERROR: ld.so: object '/snap/aidm-kiosk-system/x2/lib/bindtextdomain.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
realpath: '': No such file or directory
ERROR: ld.so: object '/snap/aidm-kiosk-system/x2/lib/bindtextdomain.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
realpath: '': No such file or directory
ERROR: ld.so: object '/snap/aidm-kiosk-system/x2/lib/bindtextdomain.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
realpath: '': No such file or directory
ERROR: ld.so: object '/snap/aidm-kiosk-system/x2/lib/bindtextdomain.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
realpath: '': No such file or directory
ERROR: ld.so: object '/snap/aidm-kiosk-system/x2/lib/bindtextdomain.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
realpath: '': No such file or directory
ERROR: ld.so: object '/snap/aidm-kiosk-system/x2/lib/bindtextdomain.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object '/snap/aidm-kiosk-system/x2/lib/bindtextdomain.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object '/snap/aidm-kiosk-system/x2/lib/bindtextdomain.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object '/snap/aidm-kiosk-system/x2/lib/bindtextdomain.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object '/snap/aidm-kiosk-system/x2/lib/bindtextdomain.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
/snap/aidm-kiosk-system/x2/bin/desktop-launch: line 10: /snap/aidm-kiosk-system/x2/usr/bin/update-mime-database: cannot execute binary file: Exec format error
ERROR: ld.so: object '/snap/aidm-kiosk-system/x2/lib/bindtextdomain.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object '/snap/aidm-kiosk-system/x2/lib/bindtextdomain.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object '/snap/aidm-kiosk-system/x2/lib/bindtextdomain.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object '/snap/aidm-kiosk-system/x2/lib/bindtextdomain.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object '/snap/aidm-kiosk-system/x2/lib/bindtextdomain.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object '/snap/aidm-kiosk-system/x2/lib/bindtextdomain.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object '/snap/aidm-kiosk-system/x2/lib/bindtextdomain.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
/snap/aidm-kiosk-system/x2/bin/desktop-launch: line 10: /snap/aidm-kiosk-system/x2/usr/lib/arm-linux-gnueabihf/libgtk-3-0/gtk-query-immodules-3.0: No such file or directory
ERROR: update-mime-database /home/aj1123123/snap/aidm-kiosk-system/x2/.local/share/mime exited abnormally with status 126
ERROR: /snap/aidm-kiosk-system/x2/usr/lib/arm-linux-gnueabihf/libgtk-3-0/gtk-query-immodules-3.0 exited abnormally with status 127
ERROR: ld.so: object '/snap/aidm-kiosk-system/x2/lib/bindtextdomain.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object '/snap/aidm-kiosk-system/x2/lib/bindtextdomain.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object '/snap/aidm-kiosk-system/x2/lib/bindtextdomain.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
Error: Unable to find a valid Wayland socket in /run/user/1000
Is a Wayland server running?
You could try running as root
ERROR: ld.so: object '/snap/aidm-kiosk-system/x2/lib/bindtextdomain.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
I checked the /run/user/1000
directory and there is no such wayland-file. Also, there is no /run/user/0
directory at all.
Does anyone know why these required wayland files are not generated in this case? I think I am missing something here, but can’t figure out what it is…
Thanks in advance!