diff --git a/packages/path_provider/path_provider_linux/CHANGELOG.md b/packages/path_provider/path_provider_linux/CHANGELOG.md
index 66c11a4..6f18d0d 100644
--- a/packages/path_provider/path_provider_linux/CHANGELOG.md
+++ b/packages/path_provider/path_provider_linux/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 2.1.0
+
+* Now `getTemporaryPath` returns the value of the `TMPDIR` environment variable primarily. If `TMPDIR` is not set, `/tmp` is returned.
+
 ## 2.0.2
 
 * Updated installation instructions in README.
diff --git a/packages/path_provider/path_provider_linux/lib/path_provider_linux.dart b/packages/path_provider/path_provider_linux/lib/path_provider_linux.dart
index 38800be..ab18db6 100644
--- a/packages/path_provider/path_provider_linux/lib/path_provider_linux.dart
+++ b/packages/path_provider/path_provider_linux/lib/path_provider_linux.dart
@@ -4,6 +4,7 @@
 
 import 'dart:io';
 
+import 'package:flutter/foundation.dart';
 import 'package:path/path.dart' as path;
 import 'package:path_provider_platform_interface/path_provider_platform_interface.dart';
 import 'package:xdg_directories/xdg_directories.dart' as xdg;
@@ -12,6 +13,17 @@
 ///
 /// This class implements the `package:path_provider` functionality for linux
 class PathProviderLinux extends PathProviderPlatform {
+  /// Constructs an instance of [PathProviderLinux]
+  PathProviderLinux() : _environment = Platform.environment;
+
+  /// Constructs an instance of [PathProviderLinux] with the given [environment]
+  @visibleForTesting
+  PathProviderLinux.private({
+    required Map<String, String> environment,
+  }) : _environment = environment;
+
+  final Map<String, String> _environment;
+
   /// Registers this class as the default instance of [PathProviderPlatform]
   static void registerWith() {
     PathProviderPlatform.instance = PathProviderLinux();
@@ -19,7 +31,10 @@
 
   @override
   Future<String?> getTemporaryPath() {
-    return Future<String?>.value('/tmp');
+    final String environmentTmpDir = _environment['TMPDIR'] ?? '';
+    return Future<String?>.value(
+      environmentTmpDir.isEmpty ? '/tmp' : environmentTmpDir,
+    );
   }
 
   @override
diff --git a/packages/path_provider/path_provider_linux/pubspec.yaml b/packages/path_provider/path_provider_linux/pubspec.yaml
index 4d43302..f5b7a88 100644
--- a/packages/path_provider/path_provider_linux/pubspec.yaml
+++ b/packages/path_provider/path_provider_linux/pubspec.yaml
@@ -2,7 +2,7 @@
 description: Linux implementation of the path_provider plugin
 repository: https://github.com/flutter/plugins/tree/master/packages/path_provider/path_provider_linux
 issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+path_provider%22
-version: 2.0.2
+version: 2.1.0
 
 environment:
   sdk: ">=2.12.0 <3.0.0"
diff --git a/packages/path_provider/path_provider_linux/test/path_provider_linux_test.dart b/packages/path_provider/path_provider_linux/test/path_provider_linux_test.dart
index e058d0d..6dd3500 100644
--- a/packages/path_provider/path_provider_linux/test/path_provider_linux_test.dart
+++ b/packages/path_provider/path_provider_linux/test/path_provider_linux_test.dart
@@ -13,8 +13,24 @@
     expect(PathProviderPlatform.instance, isA<PathProviderLinux>());
   });
 
-  test('getTemporaryPath', () async {
-    final PathProviderPlatform plugin = PathProviderPlatform.instance;
+  test('getTemporaryPath defaults to TMPDIR', () async {
+    final PathProviderPlatform plugin = PathProviderLinux.private(
+      environment: <String, String>{'TMPDIR': '/run/user/0/tmp'},
+    );
+    expect(await plugin.getTemporaryPath(), '/run/user/0/tmp');
+  });
+
+  test('getTemporaryPath uses fallback if TMPDIR is empty', () async {
+    final PathProviderPlatform plugin = PathProviderLinux.private(
+      environment: <String, String>{'TMPDIR': ''},
+    );
+    expect(await plugin.getTemporaryPath(), '/tmp');
+  });
+
+  test('getTemporaryPath uses fallback if TMPDIR is unset', () async {
+    final PathProviderPlatform plugin = PathProviderLinux.private(
+      environment: <String, String>{},
+    );
     expect(await plugin.getTemporaryPath(), '/tmp');
   });
 
