[SOLVED] Remmina notification icon problem

Just installed Remmina snap, latest stable release:

installed: v1.4.5+git11.4d489d18 (4207) 37MB -

Remmina is supposed to put a notification icon on desktop environment, but that’s not working (no icon at all). So, when I close window, it keeps running on background, but there’s no indication whatsoever that it’s still alive. Also, without the notification, we don’t have the useful shortcuts to our connections.

When starting application on terminal, I get the messages below:

StatusNotifier/Appindicator support: not supported by desktop. libappindicator will try to fallback to GtkStatusIcon/xembed

(org.remmina.Remmina:27824): Gtk-WARNING **: 21:39:37.242: gtk_menu_attach_to_widget(): menu already attached to GtkMenuItem
Remmina is compiled as a SNAP package.

(org.remmina.Remmina:27824): libappindicator-WARNING **: 21:39:37.353: Unable to connect to the Notification Watcher: GDBus.Error:org.freedesktop.DBus.Error.AccessDenied: An AppArmor policy prevents this sender from sending this message to this recipient; type="method_call", sender=":1.149" (uid=1000 pid=27824 comm="/snap/remmina/4207/usr/bin/remmina " label="snap.remmina.remmina (enforce)") interface="org.kde.StatusNotifierWatcher" member="RegisterStatusNotifierItem" error name="(unset)" requested_reply="0" destination=":1.21" (uid=1000 pid=19574 comm="/usr/bin/gnome-shell " label="unconfined")

How can I help nail this problem? Using GNOME on up-to-date Ubuntu 18.04 .

Solved. Not really Remmina’s fault, but GNOME and its lack of support for libappindicator. Installing extension TopIcons Plus solves it.

Installing topicons plus might’ve solved the issue since remmina is perhaps taking a different code path, but the error itself seems to be because the unity7 interface was not connected. If you see this again, please post the security denial from journald.

I’ll take your advice upstream, since there’s where I got the idea that GNOME didn’t support libindicator (I’ve even opened an issue with them). Thanks for the info.

Hi @jdstrand, here are the relevant (?) bits from Remmina itself and from snappy-debug, respectively:

(org.remmina.Remmina:981495): libappindicator-WARNING **: 08:51:57.867: Unable to connect to the Notification Watcher: GDBus.Error:org.freedesktop.DBus.Error.AccessDenied: An AppArmor policy prevents this sender from sending this message to this recipient; type=“method_call”, sender=":1.268" (uid=1000 pid=981495 comm="/snap/remmina/4222/usr/bin/remmina " label=“snap.remmina.remmina (enforce)”) interface=“org.kde.StatusNotifierWatcher” member=“RegisterStatusNotifierItem” error name="(unset)" requested_reply=“0” destination=":1.38" (uid=1000 pid=4839 comm="/usr/bin/gnome-shell " label=“unconfined”)

= AppArmor =
Time: Jun 16 08:51:57
Log: apparmor=“DENIED” operation=“dbus_method_call” bus=“session” path="/StatusNotifierWatcher" interface=“org.freedesktop.DBus.Introspectable” member=“Introspect” mask=“send” name=“org.kde.StatusNotifierWatcher” pid=981495 label=“snap.remmina.remmina” peer_pid=4839 peer_label=“unconfined”
DBus access

= AppArmor =
Time: Jun 16 08:51:57
Log: apparmor=“DENIED” operation=“dbus_method_call” bus=“session” path="/org/gnome/Shell" interface=“org.freedesktop.DBus.Properties” member=“GetAll” mask=“send” name=":1.38" pid=981495 label=“snap.remmina.remmina” peer_pid=4839 peer_label=“unconfined”
DBus access

= AppArmor =
Time: Jun 16 08:51:57
Log: apparmor=“DENIED” operation=“dbus_method_call” bus=“session” path="/StatusNotifierWatcher" interface=“org.kde.StatusNotifierWatcher” member=“RegisterStatusNotifierItem” mask=“send” name=":1.38" pid=981495 label=“snap.remmina.remmina” peer_pid=4839 peer_label=“unconfined”
DBus access

Hi, upstream Remmina programmer here.

The problem here is the snap subsystem (apparmor) blocking access from remmina to DBUS org.kde.StatusNotifierWatcher interface, which is needed by libappindicator3 and/or libayatana-appindicator3

And after some trial-and-error, it seems that org.kde.StatusNotifierWatcher became reachable again after re-adding the unity7 interface in remmina snapcraft.yaml
It has been removed in this remmina commit.

I was unable to find documentation on which dbus interfaces are affected by unity7 interfaces, and I’m not sure if adding unity7 interface to snapcraft.yaml is the correct way to re-gain access to dbus org.kde.StatusNotifierWatcher and making libappindicator3 work.

@jdstrand what do you suggest?

Installing " TopIcons Plus" is just a workaround to make libappindicator3 to fallback to the old GtkStatusIcon deprecated standard. It’s just another code path inside remmina, as said by @jdstrand

1 Like

@giox069 - if remmina is using libappindicator3 and/or libayatana-appindicator3, then plugging unity7 is the correct path forward (appindicators were developed for Unity7).

@jamesh - it appears that remmina upstream removed unity7 as part of moving to the snapcraft gnome extension. Is there a case for adding appindicator support to desktop-legacy instead of only in unity7?

1 Like

I think adding it to desktop-legacy is a good idea: ideally we’d be able to phase out unity7, so ideally any API still in use should be available through one of the other interfaces. It isn’t clear that it is a candidate for desktop though:

  • App indicators are not currently supported by upstream GNOME: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/1014
  • While they do recognise there is a desire for this feature, they don’t want to adopt Unity 7’s dbusmenu code (and in fairness, we were phasing it out in favour of GMenuModel anyway).
  • It’s not clear how confinement friendly the app indicator API is.

Thanks @jamesh. This makes sense to me and I added it to the list for the next batch of policy updates.

1 Like