1diff --git a/KeePass/Native/NativeMethods.Unix.cs b/KeePass/Native/NativeMethods.Unix.cs
2index 7495a1c..4ef4727 100644
3--- a/KeePass/Native/NativeMethods.Unix.cs
4+++ b/KeePass/Native/NativeMethods.Unix.cs
5@@ -128,7 +128,7 @@ namespace KeePass.Native
6 try
7 {
8 Application.DoEvents(); // E.g. for clipboard updates
9- string strOutput = NativeLib.RunConsoleApp("xdotool", strParams);
10+ string strOutput = NativeLib.RunConsoleApp("@xdotool@", strParams);
11 Application.DoEvents(); // E.g. for clipboard updates
12 return (strOutput ?? string.Empty);
13 }
14diff --git a/KeePass/Util/ClipboardUtil.Unix.cs b/KeePass/Util/ClipboardUtil.Unix.cs
15index e93a22a..3fd9a2b 100644
16--- a/KeePass/Util/ClipboardUtil.Unix.cs
17+++ b/KeePass/Util/ClipboardUtil.Unix.cs
18@@ -62,7 +62,7 @@ namespace KeePass.Util
19 // "-out -selection clipboard");
20 // if(str != null) return str;
21
22- string str = NativeLib.RunConsoleApp("xsel",
23+ string str = NativeLib.RunConsoleApp("@xsel@",
24 "--output --clipboard", null, XSelFlags);
25 if(str != null) return str;
26
27@@ -83,10 +83,10 @@ namespace KeePass.Util
28 if(string.IsNullOrEmpty(str))
29 {
30 // xsel with an empty input can hang, thus use --clear
31- if(NativeLib.RunConsoleApp("xsel", "--clear --primary",
32+ if(NativeLib.RunConsoleApp("@xsel@", "--clear --primary",
33 null, XSelFlags) != null)
34 {
35- NativeLib.RunConsoleApp("xsel", "--clear --clipboard",
36+ NativeLib.RunConsoleApp("@xsel@", "--clear --clipboard",
37 null, XSelFlags);
38 return;
39 }
40@@ -97,10 +97,10 @@ namespace KeePass.Util
41 }
42
43 // xsel does not support --primary and --clipboard together
44- if(NativeLib.RunConsoleApp("xsel", "--input --primary",
45+ if(NativeLib.RunConsoleApp("@xsel@", "--input --primary",
46 str, XSelFlags) != null)
47 {
48- NativeLib.RunConsoleApp("xsel", "--input --clipboard",
49+ NativeLib.RunConsoleApp("@xsel@", "--input --clipboard",
50 str, XSelFlags);
51 return;
52 }
53diff --git a/KeePassLib/Native/ClipboardU.cs b/KeePassLib/Native/ClipboardU.cs
54index ddd8f57..150eb82 100644
55--- a/KeePassLib/Native/ClipboardU.cs
56+++ b/KeePassLib/Native/ClipboardU.cs
57@@ -27,7 +27,7 @@ namespace KeePassLib.Native
58 {
59 internal static class ClipboardU
60 {
61- private const string XSel = "xsel";
62+ private const string XSel = "@xsel@";
63 private const string XSelV = "--version";
64 private const string XSelR = "--output --clipboard";
65 private const string XSelC = "--clear --clipboard";
66diff --git a/KeePassLib/Utility/MonoWorkarounds.cs b/KeePassLib/Utility/MonoWorkarounds.cs
67index 0da7019..f6a1022 100644
68--- a/KeePassLib/Utility/MonoWorkarounds.cs
69+++ b/KeePassLib/Utility/MonoWorkarounds.cs
70@@ -41,7 +41,7 @@ namespace KeePassLib.Utility
71 {
72 public static class MonoWorkarounds
73 {
74- private const string AppXDoTool = "xdotool";
75+ private const string AppXDoTool = "@xdotool@";
76
77 private static Dictionary<uint, bool> g_dForceReq = new Dictionary<uint, bool>();
78 private static Thread g_thFixClip = null;
79@@ -303,7 +303,7 @@ namespace KeePassLib.Utility
80 // }
81 // else { Debug.Assert(false); }
82
83- string strWmClass = (NativeLib.RunConsoleApp("xprop",
84+ string strWmClass = (NativeLib.RunConsoleApp("@xprop@",
85 "-id " + strHandle + " WM_CLASS") ?? string.Empty);
86
87 if(strWmClass.IndexOf("\"" + PwDefs.ResClass + "\"",