Observed case environment: XDG_CURRENT_DESKTOP=GNOME, DE=gnome. xdg-open source on this host routes GNOME to gio open; gio is installed. The exact original-PID second-instance events are the runtime delivery proof.
637: open_gnome3()
638: {
639:     if gio help open 2>/dev/null 1>&2; then
640:         gio open "$1"
641:     elif gvfs-open --help 2>/dev/null 1>&2; then
642:         gvfs-open "$1"
643:     else
644:         open_generic "$1"
645:     fi
646: 
647:     if [ $? -eq 0 ]; then
648:         exit_success
649:     else
650:         exit_failure_operation_failed
651:     fi
652: }
653: 
654: open_gnome()
655: {
656:     if gio help open 2>/dev/null 1>&2; then
657:         gio open "$1"
658:     elif gvfs-open --help 2>/dev/null 1>&2; then
659:         gvfs-open "$1"
660:     elif gnome-open --help 2>/dev/null 1>&2; then
661:         gnome-open "$1"
662:     else
663:         open_generic "$1"
664:     fi
665: 
666:     if [ $? -eq 0 ]; then
667:         exit_success
668:     else
996:     DE=generic
997: fi
998: 
999: DEBUG 2 "Selected DE $DE"
1000: 
1001: # sanitize BROWSER (avoid caling ourselves in particular)
1016:     deepin)
1017:     open_deepin "$url"
1018:     ;;
1019: 
1020:     gnome3|cinnamon)
1021:     open_gnome3 "$url"
1022:     ;;
1023: 
1024:     gnome)
1025:     open_gnome "$url"
1026:     ;;
1027: 
1028:     mate)
