Request autoconnect 4 interfaces for Remmina

Currently to make remmina work (and not crash) the user has to connect manually 4 interfaces after installing remmina:

sudo snap connect remmina:avahi-observe :avahi-observe
sudo snap connect remmina:cups-control :cups-control
sudo snap connect remmina:mount-observe :mount-observe
sudo snap connect remmina:password-manager-service :password-manager-service

password-manager-service is required by Remmina to save user entered passwords into gnome keyring or other libsecret supported services.
mount-observe is used by libfreerdp to handle hotplug of devices: when a user shares a local path/device with the remote server, libfreerdp need to access /proc/mounts. See here.
cups-control is used by libfreerdp to share local printers with remote servers.
avahi-observe is used by remmina to browse local network and find some interesting servers (i.e.: VNC servers)

Thank you.

1 Like

I second this, can you please authorize those interfaces?

Thanks!

I have the interfaces connected and it still crashes:

$ remmina
StatusNotifier/Appindicator support: your desktop does support it and libappindicator is compiled in remmina. Good!

(remmina:10601): Gtk-WARNING **: gtk_menu_attach_to_widget(): menu already attached to GtkMenuItem

(remmina:10601): Gtk-WARNING **: Error loading theme icon 'list-add' for stock: Icon 'list-add' not present in theme Suru

(remmina:10601): Gtk-WARNING **: Error loading theme icon 'edit-clear' for stock: 
Segmentation fault (core dumped)

@jzimm: can you provide more information on your system/setup so we can try to reproduce your problem? And if possible open an issue on Github Remmina project: https://github.com/FreeRDP/Remmina/issues
Thank you.

Ubuntu 17.10, amd64 running Wayland session.
snapd version 2.29.4.2+17.10

Connected interfaces for remmina:

:avahi-observe
:cups-control
:desktop
:desktop-legacy
:gsettings
:home
:mount-observe
:network
:network-bind
:password-manager-service
:pulseaudio
:unity7
:wayland
remmina:remmina-gapp

Yes, the remmina SNAP crashes under wayland. The issues is reported in our issue tracker #1414. I pushed a commit which disables wayland as workaround. You can find a fixed remmina on the remmina edge channel, it will fallback to X11/XWayland.
I also posted here a request for help.

Yes, the edge package works. Thanks for your help!

+1 for mount-observe and avahi-observe.

-1 for cups-control - it is surprising that remmina would be able to configure printers by default. As a remmina user, I was surprised that it could be used to even advertize printers. I suspect that once portals is working (in progress), that remmina would instead be able to enumerate printers via the portals API.

-1 for password-manager-service. I understand the desire, but this interface gives access to all of the user’s passwords stored various keyrings. Now that gnome-software has a mechanism to connect interfaces, I think this should remain manually-connected.

14 days have passed and there aren’t enough votes to tally. @niemeyer, @ratliff, @kyrofa, @popey - can you vote on this request?

+1 also to mount-observe and avahi-observe.

Regarding the others, I agree with @jdstrand. The OP mentions that a lack of cups-control and password-manager-service actually causes a crash, which is surprising. Does remmina not support running on systems with no secret manager? I figure worst case it just can’t remember passwords-- why crash?

Crashing due to unconnected interfaces has no longer reported recently. I think that we fixed something without knowing, or some user confused the crash under wayland described above with the missing interface connections. So just forget “(and not crash)” on my original post. Now the Remmina SNAP crashes under wayland for other problems, and the workaround I choose was to make it work with X11.

I never was aware of a way to connect interfaces in the GUI (gnome-software ?). I will try to search something, but if you have some useful links, justs send me.

password-manager-service: remmina can save obfuscated password in cleartext files. It will do it only when the libsecret plugin is not installed. But the Remmina Snap has the libsecret plugin built in by default, so password saving will not work. I need to workaround this with a bit of coding to enable clartext (obfuscated) password saving.

cups-control: I don’t know why. But with cups-control interfaced not connected, libfreerdp refuses to share your local printer, and I can’t see it in the remote server. It’s a libfreerdp problem? Maybe. This is the apparmor error:

= AppArmor =
Time: Mar 20 19:52:04
Log: apparmor="DENIED" operation="connect" profile="snap.remmina.remmina" name="/run/cups/cups.sock" pid=2300 comm="remmina" requested_mask="wr" denied_mask="wr" fsuid=1000 ouid=0
File: /run/cups/cups.sock (write)
Suggestions:
* adjust program to use $SNAP_DATA
* adjust program to use run/shm/snap.$SNAP_NAME.*

This is new. Right now it is in 18.04’s gnome-software. @robert.ancell can comment on where else it will be. But, in gnome-software, look for the remmina snap, install it, then you see a Permissions button.

If you are recoding for this, I might suggest trying to use libsecret and if you get permission denied, tell the user the password will be saved until remmina stops and to connect the interface if the user wants to store passwords in the user’s session keyring.

It sounds like it is trying to enumerate printers via the cups socket and falling back gracefully when it can’t (ie, printers not listed). Maybe it could do that via the network instead (@till.kamppeter may be able to suggest how to do this)? Barring that, if it gets a permission denied, you could tell the user to connect the interface. Perhaps you want to simply wait until portals printing becomes available and try that first, then the cups socket (or network).

Tallying votes:

  • 2 votes for mount-observe, 0 against. Granting auto-connection; this is now live
  • 2 votes for avahi-observe, 0 against. Granting auto-connection; this is now live
  • 0 votes for cups-control, 2 against
  • 0 votes for password-manager-service, 2 against

It is my understanding that the snap will better handle cups-control and password-manager-service being disconnected, and that the interface connection request are now surfaced via gnome-software. Feel free to provide more discussion as appropriate.

Just two questions:

  1. for password-manager-service: how can I distinguish between a missing DBUS secret service and SNAP isolation blocking me? I need it to tell the user “Hey, install gnome-keyring or a compatible secret service” in the first case, or tell the user "Hey, you should open a terminal and manually enter sudo snap connect remmina:password-manager-service :password-manager-service in the second case. But currently I can only rely on a failed call to libsecret’s secret_service_get_sync() that only returns null in case of failure. No way to know what is the correct action the user should take next.

  2. asking permissions on gnome-software: how can I do it ? The only documentation I can find googling around is an experimental attempt with VLC in this forum, but I cant’s see it working in Ubuntu 18.04 software center and I can’t find any official documentation. Can you point me to some examples?

  3. Never asked before: remmina need also to access your private keys in ~/.ssh/ folder to open ssh tunnels. Some months ago it was impossible in a snap. Is it still impossible?

Thank you.

Never mind for 2. I did not wait for the full installation of the package on my 1st attempt. After installing Remmina from gnome-software, the permission button appered. Thank you.

This is possible with the ssh-keys interface.

Thank you! I have just opened Remmina issue 1761 to keep track of it.

1 Like