On Tue, 23 Feb 2021 13:02:27 +0100 Sebastian Spaeth
<sebast...@sspaeth.de> wrote:
The "crash" of gufw can easily be explained and fixed. However, I am not
sure we actually want this.
This is verified in bullseye: gufw 20.04.1-1
/usr/bin/gufw tests if we are under wayland and calls xhost:
if [ $(loginctl show-session $(loginctl|grep $(whoami) |awk '{print
$1}') -p Type) = "Type=wayland" ]; then
xhost +si:localuser:root
fi
which is in package "x11-xserver-utils" but which is not recorded by any
Debian package dependency.
So under wayland, "x11-xserver-utils" needs to become a dependency of
package gufw, or we crash as root cannot display stuff on the screen.
The question is whether we actually want such a far-reaching xhost
command sneaked in.
That script does not take into account the existence of several sessions.
$ loginctl
SESSION UID USER SEAT TTY
11 1000 user1 seat0 tty7
2 1000 user1 seat0 tty2
2 sessions listed.
$ bash -xv /usr/bin/gufw
#!/bin/bash
if [ $(loginctl show-session $(loginctl|grep $(whoami) |awk '{print
$1}') -p Type) = "Type=wayland" ]; then
xhost +si:localuser:root
fi
+++ loginctl
+++ awk '{print $1}'
++++ whoami
+++ grep user1
++ loginctl show-session 11 2 -p Type
+ '[' Type=wayland Type=wayland = Type=wayland ']'
/usr/bin/gufw: line 2: [: too many arguments
The condition could be replaced with something like:
if [ $(loginctl show-session $(loginctl|grep $(whoami) |awk '{print
$1}'|tail -1) -p Type) = "Type=wayland" ]; then