rustdesk
2024-03-27 00:38:13 +08:00
parent 81aec8402b
commit 85f387bfb9
8 changed files with 20 additions and 13 deletions

View File

@@ -1275,7 +1275,7 @@ fn switch_service(stop: bool) -> String {
}
}
pub fn uninstall_service(show_new_window: bool) -> bool {
pub fn uninstall_service(show_new_window: bool, _: bool) -> bool {
if !has_cmd("systemctl") {
return false;
}

View File

@@ -219,7 +219,7 @@ fn correct_app_name(s: &str) -> String {
s
}
pub fn uninstall_service(show_new_window: bool) -> bool {
pub fn uninstall_service(show_new_window: bool, sync: bool) -> bool {
// to-do: do together with win/linux about refactory start/stop service
if !is_installed_daemon(false) {
return false;
@@ -232,7 +232,7 @@ pub fn uninstall_service(show_new_window: bool) -> bool {
return false;
};
std::thread::spawn(move || {
let func = move || {
match std::process::Command::new("osascript")
.arg("-e")
.arg(script_body)
@@ -275,7 +275,12 @@ pub fn uninstall_service(show_new_window: bool) -> bool {
}
}
}
});
};
if sync {
func();
} else {
std::thread::spawn(func);
}
true
}
@@ -515,7 +520,7 @@ pub fn start_os_service() {
// https://emorydunn.github.io/LaunchAgent/Classes/LaunchAgent.html#/s:11LaunchAgentAAC16throttleIntervalSiSgvp,
// by default, ThrottleInterval = 10, we changed it to 1
if dt >= 0 {
std::thread::sleep(std::time::Duration::from_secs(dt.clamp(3, 30) as _));
std::thread::sleep(std::time::Duration::from_secs(dt.clamp(0, 15) as _));
}
log::info!("The others killed");
std::process::exit(0);

View File

@@ -8,8 +8,9 @@
<true/>
<key>ProgramArguments</key>
<array>
<string>/Applications/RustDesk.app/Contents/MacOS/RustDesk</string>
<string>--service</string>
<string>/bin/sh</string>
<string>-c</string>
<string>sleep 1.5; /Applications/RustDesk.app/Contents/MacOS/RustDesk --service</string>
</array>
<key>RunAtLoad</key>
<true/>

View File

@@ -2302,7 +2302,7 @@ impl Drop for WakeLock {
}
}
pub fn uninstall_service(show_new_window: bool) -> bool {
pub fn uninstall_service(show_new_window: bool, _: bool) -> bool {
log::info!("Uninstalling service...");
let filter = format!(" /FI \"PID ne {}\"", get_current_pid());
Config::set_option("stop-service".into(), "Y".into());