Thanks for that link, very helpful!
To be clear: I’m installing the snap in devmode, so everything should still work, even if I didn’t add the correct plugs.
I went all-out, and added all the plugs I could think of, but I still get the exact same behavior: a segfault on Ubuntu 17.10 default (wayland) session, a working app on Ubuntu 17.10 xorg session.
My snapcraft.yaml
name: zotero-standalone
version: 5.0.22
summary: Zotero Standalone
description: |
Zotero Standalone
confinement: devmode
apps:
zotero:
# command: zotero
command: desktop-launch $SNAP/zotero
plugs:
- x11
- wayland
- network-control
- network-observe
- firewall-control
- home
- gsettings
- account-control
- mount-observe
- unity7
- browser-support
- desktop-legacy
- desktop
- network
- process-control
- system-observe
parts:
zotero-standalone:
plugin: dump
source: https://www.zotero.org/download/client/dl?channel=release&platform=linux-x86_64&version=5.0.22
source-type: tar
stage-packages:
- libxt6
after:
- desktop-gtk3
apparmor log
= AppArmor =
Time: Oct 16 13:34:14
Log: apparmor="ALLOWED" operation="open" profile="snap.zotero-standalone.zotero" name="/proc/28511/net/arp" pid=28511 comm=4C696E6B204D6F6E69746F72 requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
File: /proc/28511/net/arp (read)
Suggestions:
* adjust program to not access '@{PROC}/@{pid}/net/arp'
* add one of 'firewall-control, network-control, network-observe' to 'plugs'
= AppArmor =
Time: Oct 16 13:34:14
Log: apparmor="ALLOWED" operation="open" profile="snap.zotero-standalone.zotero" name="/proc/28511/mountinfo" pid=28511 comm=43616368653220492F4F requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000
File: /proc/28511/mountinfo (read)
Suggestions:
* adjust program to not access '@{PROC}/@{pid}/mountinfo'
* add 'mount-observe' to 'plugs'
= AppArmor =
Time: Oct 16 13:34:16
Log: apparmor="ALLOWED" operation="open" profile="snap.zotero-standalone.zotero" name="/proc/28511/mountinfo" pid=28511 comm="zotero-bin" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000
File: /proc/28511/mountinfo (read)
Suggestions:
* adjust program to not access '@{PROC}/@{pid}/mountinfo'
* add 'mount-observe' to 'plugs'