Package: xdg-utils Version: 1.1.3-1 Severity: normal Dear Maintainer,
xdg-utils: xdg-open Opens File Browser on Wrong Display or Not at All When Used over X Forwarding The behavior of xdg-open when invoked on a directory appears to be inconsistent when used in an SSH session with X11 forwarding. I've tested from a workstation ("local") with an X11 display, connecting via ssh -X to a remote host ("remote", running Debian Stretch) with the latest xdg-utils available in Debian repositories, 1.1.3-1. When I type "xdg-open $HOME/test-directory" into a shell on the remote host, the file browser window may open as expected on the display of the local workstation; the file browser window may open on the display of the remote host; or the file browser window does not open at all. As a control, each of "nemo $HOME/test-directory" and "nautilus $HOME/test-directory" opens a window on the local workstation display showing the corresponding file browser. The behavior of "xdg-open $HOME/test-directory" seems to depend on which file browser is set as default for the "inode/directory" mime type. If the mime configuation files are set to open nemo for inode/directory, then the behavior I expect occurs: a window opens on the local workstation showing nemo. If the mime configuration files are set to open nautilus for inode/directory, then the behavior is inconsistent (as best I can tell) and not what I expect. Either a nautilus window opens on the display of the remote host (instead of the local workstation), or no nautilus window appears on either display. When I do the same tests using a remote host running Debian Jessie (xdg-utils 1.1.0~rc1+git2011121), the behavior of xdg-open is as I expect regardless of which file browser is set as the default for inode/directory--the file browser window opens on the local workstation. Steps to reproduce: 1. On a workstation ("local") with an X11 display, open gnome-terminal. 2. ssh -X user@remote 3. setenv XDG_UTILS_DEBUG_LEVEL 2 xdg-mime query default inode/directory Checking /home/nro/.config/mimeapps.list Checking /home/nro/.local/share/applications/mimeapps.list Checking /home/nro/.local/share/applications/defaults.list and /home/nro/.local/share/applications/mimeinfo.cache org.gnome.Nautilus.desktop 4. nautilus $HOME/test-directory >>> Behavior is as expected: >>> Nautilus file browser opens on local >>> to display contents of $HOME/test-directory. 5. xdg-open $HOME/test-directory >>> Behavior is not as expected. Either: >>> (a) Nautilus file browser opens on *remote* display >>> (instead of local) to display the contents >>> of $HOME/test-directory; OR >>> (b) Nautilus does not appear to open at all (but in >>> any case, it does not open on the local display). >>> I haven't discerned what governs which of (a) and (b) >>> happens. 6. Change the [Default Applications] line for inode/directory to nemo.desktop in one of the configuration files. 7. xdg-open $HOME/test-directory >>> Behavior is as expected: >>> Nemo file browser opens on local >>> to display contents of $HOME/test-directory. -- Package-specific info: Desktop environment: XDG_CURRENT_DESKTOP= -- System Information: Debian Release: 9.7 APT prefers stable-updates APT policy: (500, 'stable-updates'), (500, 'stable') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.9.0-8-amd64 (SMP w/4 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=ANSI_X3.4-1968) (ignored: LC_ALL set to C), LANGUAGE=en_US.UTF-8 (charmap=ANSI_X3.4-1968) (ignored: LC_ALL set to C) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) xdg-utils depends on no packages. Versions of packages xdg-utils recommends: ii libfile-mimeinfo-perl 0.27-1 ii libnet-dbus-perl 1.1.0-4+b1 ii libx11-protocol-perl 0.56-7 ii x11-utils 7.7+3+b1 ii x11-xserver-utils 7.7+7+b1 xdg-utils suggests no packages. -- no debconf information
> sh -x /usr/bin/xdg-open . + check_common_commands . + [ 1 -gt 0 ] + parm=. + shift + [ 0 -gt 0 ] + [ -z ] + unset XDG_UTILS_DEBUG_LEVEL + [ 0 -lt 1 ] + xdg_redirect_output= > /dev/null 2> /dev/null + [ x. != x ] + url= + [ 1 -gt 0 ] + parm=. + shift + [ -n ] + url=. + [ 0 -gt 0 ] + [ -z . ] + detectDE + unset GREP_OPTIONS + [ -n ] + [ x = x ] + [ x != x ] + [ x != x ] + [ x != x ] + dbus-send --print-reply --dest=org.freedesktop.DBus /org/freedesktop/DBus org.freedesktop.DBus.GetNameOwner string:org.gnome.SessionManager + + DE=gnome + [ xgnome = x ] + [ xgnome = x ] + [ xgnome = xgnome ] + which gnome-default-applications-properties + DE=gnome3 + [ -f /run/user/1000/flatpak-info ] + [ xgnome3 = x ] + DEBUG 2 Selected DE gnome3 + [ -z ] + return 0 + open_gnome3 . + gio help open + gio open . + [ 0 -eq 0 ] + exit_success + [ 0 -gt 0 ] + exit 0