diff --git a/v2rayN/ServiceLib/Handler/AutoStartupHandler.cs b/v2rayN/ServiceLib/Handler/AutoStartupHandler.cs index 97c867096d6..42ec00863b6 100644 --- a/v2rayN/ServiceLib/Handler/AutoStartupHandler.cs +++ b/v2rayN/ServiceLib/Handler/AutoStartupHandler.cs @@ -113,7 +113,14 @@ private static string GetAutoRunNameWindows() private static async Task ClearTaskLinux() { - File.Delete(GetHomePathLinux()); + try + { + File.Delete(GetHomePathLinux()); + } + catch (Exception ex) + { + Logging.SaveLog(ex.Message, ex); + } } private static async Task SetTaskLinux() @@ -127,8 +134,6 @@ private static async Task SetTaskLinux() Logging.SaveLog(linuxConfig); var homePath = GetHomePathLinux(); - Directory.CreateDirectory(Path.GetDirectoryName(homePath)); - await File.WriteAllTextAsync(homePath, linuxConfig); } } @@ -140,7 +145,9 @@ private static async Task SetTaskLinux() private static string GetHomePathLinux() { - return Path.Combine(Utils.GetHomePath(), ".config", "autostart", $"{Global.AppName}.desktop"); + var homePath = Path.Combine(Utils.GetHomePath(), ".config", "autostart", $"{Global.AppName}.desktop"); + Directory.CreateDirectory(Path.GetDirectoryName(homePath)); + return homePath; } #endregion Linux