Remove Mono.Posix.NETStandard

pull/5829/head
2dust 2024-10-08 17:40:25 +08:00
parent f5956e7bf0
commit aa6b6e3849
2 changed files with 29 additions and 3 deletions

View File

@ -1,4 +1,6 @@
using System.Collections.Specialized;
using CliWrap;
using CliWrap.Buffered;
using System.Collections.Specialized;
using System.Diagnostics;
using System.IO.Compression;
using System.Net;
@ -863,7 +865,32 @@ namespace ServiceLib.Common
}
else
{
return Mono.Unix.Native.Syscall.geteuid() == 0;
var id = GetLinuxUserId().Result ?? "1000";
if (int.TryParse(id, out int userId))
{
return userId == 0;
}
else
{
return false;
}
}
}
private static async Task<string?> GetLinuxUserId()
{
try
{
var result = await Cli.Wrap("/bin/bash")
.WithArguments(["-c", "id -u"])
.WithValidation(CommandResultValidation.None)
.ExecuteBufferedAsync();
return result.StandardOutput.ToString();
}
catch
{
return null;
}
}

View File

@ -9,7 +9,6 @@
<ItemGroup>
<PackageReference Include="Downloader" Version="3.2.1" />
<PackageReference Include="Mono.Posix.NETStandard" Version="1.0.0" />
<PackageReference Include="ReactiveUI" Version="20.1.63" />
<PackageReference Include="ReactiveUI.Fody" Version="19.5.41" />
<PackageReference Include="sqlite-net-pcl" Version="1.9.172" />