I’d like to have GNU Screen (or tmux, not fussy) on my Ubuntu Core system so I can login once and run a bunch of applications in screens. I tried making a simple snap of GNU Screen using the yaml below. However there’s a few issues with it.
I can’t upload to the store because:
The store was unable to accept this snap.
- found errors in file output: unusual mode 'rwsr-xr-x' for entry './bin/screen-4.6.2'
If I install the snap I can’t actually run it.
$ snap run screen
Must be connected to a terminal.
I get some apparmor issues.
= AppArmor =
Time: Apr 9 13:38:30
Log: apparmor="DENIED" operation="open" profile="snap.screen.screen" name="/etc/shadow" pid=11673 comm="screen" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
File: /etc/shadow (read)
Suggestion:
* adjust program to read necessary files from $SNAP, $SNAP_DATA, $SNAP_COMMON, $SNAP_USER_DATA or $SNAP_USER_COMMON
= AppArmor =
Time: Apr 9 13:38:30
Log: apparmor="DENIED" operation="open" profile="snap.screen.screen" name="/var/lib/extrausers/shadow" pid=11673 comm="screen" requested_mask="r" denied_mask="r" fsuid=0 ouid=0
File: /var/lib/extrausers/shadow (read)
Suggestions:
* adjust program to read necessary files from $SNAP, $SNAP_DATA, $SNAP_COMMON, $SNAP_USER_DATA or $SNAP_USER_COMMON
* add 'account-control' to 'plugs'
It feels like screen
would need classic
but I want to run it on a core devcie which doesn’t support classic
(see also this thread). So do we need a specific profile for these terminal multiplexors?
name: screen
version: '4.6.2'
summary: GNU Screen
description: |
GNU Screen is a terminal multiplexer that runs several separate "screens"
on a single physical character-based terminal. Each virtual terminal
emulates a DEC VT100 plus several ANSI X3.64 and ISO 2022 functions.
Screen sessions can be detached and resumed later on a different terminal.
.
Screen also supports a whole slew of other features, including
configurable input and output translation, serial port support,
configurable logging, and multi-user support.
grade: stable
confinement: strict
apps:
screen:
command: screen
plugs:
- serial-port
parts:
screen:
plugin: autotools
source: http://ftp.gnu.org/gnu/screen/screen-4.6.2.tar.gz
build-packages:
- build-essential
- gcc
- libncurses5-dev