Index: /trunk/src/org/openstreetmap/josm/actions/ShowStatusReportAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/ShowStatusReportAction.java	(revision 16910)
+++ /trunk/src/org/openstreetmap/josm/actions/ShowStatusReportAction.java	(revision 16911)
@@ -129,4 +129,9 @@
         if (PlatformManager.isPlatformUnixoid()) {
             PlatformHookUnixoid platform = (PlatformHookUnixoid) PlatformManager.getPlatform();
+            // Add desktop environment
+            platform.getDesktopEnvironment().ifPresent(desktop -> text
+                    .append("Desktop environment: ")
+                    .append(desktop)
+                    .append('\n'));
             // Add Java package details
             String packageDetails = platform.getJavaPackageDetails();
Index: /trunk/src/org/openstreetmap/josm/tools/PlatformHookUnixoid.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/tools/PlatformHookUnixoid.java	(revision 16910)
+++ /trunk/src/org/openstreetmap/josm/tools/PlatformHookUnixoid.java	(revision 16911)
@@ -26,4 +26,5 @@
 import java.util.HashSet;
 import java.util.Locale;
+import java.util.Optional;
 import java.util.Set;
 import java.util.concurrent.ExecutionException;
@@ -100,4 +101,12 @@
     public String getDefaultStyle() {
         return "javax.swing.plaf.metal.MetalLookAndFeel";
+    }
+
+    /**
+     * Returns desktop environment based on the environment variable {@code XDG_CURRENT_DESKTOP}.
+     * @return desktop environment.
+     */
+    public Optional<String> getDesktopEnvironment() {
+        return Optional.ofNullable(Utils.getSystemEnv("XDG_CURRENT_DESKTOP")).filter(s -> !s.isEmpty());
     }
 
