diff --git a/src/platform/privileges_scripts/install.scpt b/src/platform/privileges_scripts/install.scpt index 9d96fa9de..f67a4d8bc 100644 --- a/src/platform/privileges_scripts/install.scpt +++ b/src/platform/privileges_scripts/install.scpt @@ -12,8 +12,8 @@ on run {daemon_file, root_agent_file, user_agent_file} set sh6 to "launchctl load -w /Library/LaunchAgents/com.carriez.rustdesk.agent.user.plist;" - set sh to sh1 & sh2 & sh3 & sh4 & sh5 &sh6 + set sh to sh1 & sh2 & sh3 & sh4 & sh5 - log (sh) do shell script sh with prompt "RustDesk 需要安装服务" with administrator privileges + do shell script sh6 end run \ No newline at end of file diff --git a/src/platform/privileges_scripts/launch_service.scpt b/src/platform/privileges_scripts/launch_service.scpt index 3a0b530b0..f39aec08c 100644 --- a/src/platform/privileges_scripts/launch_service.scpt +++ b/src/platform/privileges_scripts/launch_service.scpt @@ -2,6 +2,6 @@ set sh1 to "launchctl load -w /Library/LaunchAgents/com.carriez.rustdesk.agent.r set sh2 to "launchctl load -w /Library/LaunchAgents/com.carriez.rustdesk.agent.user.plist;" -set sh to sh1 & sh2 +do shell script sh1 with prompt "RustDesk 需要停止服务" with administrator privileges -do shell script sh with prompt "RustDesk 需要停止服务" with administrator privileges \ No newline at end of file +do shell script sh2 \ No newline at end of file diff --git a/src/platform/privileges_scripts/stop_service.scpt b/src/platform/privileges_scripts/stop_service.scpt index 58be8292f..5e308bebe 100644 --- a/src/platform/privileges_scripts/stop_service.scpt +++ b/src/platform/privileges_scripts/stop_service.scpt @@ -2,6 +2,6 @@ set sh1 to "launchctl unload -w /Library/LaunchAgents/com.carriez.rustdesk.agent set sh2 to "launchctl unload -w /Library/LaunchAgents/com.carriez.rustdesk.agent.user.plist;" -set sh to sh1 & sh2 +do shell script sh1 with prompt "RustDesk 需要停止服务" with administrator privileges -do shell script sh with prompt "RustDesk 需要停止服务" with administrator privileges \ No newline at end of file +do shell script sh2 \ No newline at end of file diff --git a/src/server.rs b/src/server.rs index 70e254fb2..26f05aeca 100644 --- a/src/server.rs +++ b/src/server.rs @@ -274,7 +274,16 @@ pub async fn start_server(is_server: bool, _tray: bool) { } #[cfg(target_os = "macos")] - sync_and_watch_config_dir().await; + { + loop { + if crate::platform::macos::is_installed_daemon(false) { + break; + } + + sleep(1.0).await; + } + sync_and_watch_config_dir().await; + } if is_server { std::thread::spawn(move || {