mirror of
https://github.com/rustdesk/rustdesk.git
synced 2024-11-27 14:59:02 +08:00
This commit is contained in:
parent
81aec8402b
commit
85f387bfb9
Binary file not shown.
Before Width: | Height: | Size: 651 B After Width: | Height: | Size: 612 B |
@ -265,7 +265,8 @@ pub fn core_main() -> Option<Vec<String>> {
|
|||||||
return None;
|
return None;
|
||||||
} else if args[0] == "--uninstall-service" {
|
} else if args[0] == "--uninstall-service" {
|
||||||
log::info!("start --uninstall-service");
|
log::info!("start --uninstall-service");
|
||||||
crate::platform::uninstall_service(false);
|
crate::platform::uninstall_service(false, true);
|
||||||
|
return None;
|
||||||
} else if args[0] == "--service" {
|
} else if args[0] == "--service" {
|
||||||
log::info!("start --service");
|
log::info!("start --service");
|
||||||
crate::start_os_service();
|
crate::start_os_service();
|
||||||
@ -277,7 +278,6 @@ pub fn core_main() -> Option<Vec<String>> {
|
|||||||
#[cfg(any(target_os = "linux", target_os = "windows"))]
|
#[cfg(any(target_os = "linux", target_os = "windows"))]
|
||||||
{
|
{
|
||||||
crate::start_server(true);
|
crate::start_server(true);
|
||||||
return None;
|
|
||||||
}
|
}
|
||||||
#[cfg(target_os = "macos")]
|
#[cfg(target_os = "macos")]
|
||||||
{
|
{
|
||||||
@ -286,6 +286,7 @@ pub fn core_main() -> Option<Vec<String>> {
|
|||||||
// prevent server exit when encountering errors from tray
|
// prevent server exit when encountering errors from tray
|
||||||
hbb_common::allow_err!(handler.join());
|
hbb_common::allow_err!(handler.join());
|
||||||
}
|
}
|
||||||
|
return None;
|
||||||
} else if args[0] == "--import-config" {
|
} else if args[0] == "--import-config" {
|
||||||
if args.len() == 2 {
|
if args.len() == 2 {
|
||||||
let filepath;
|
let filepath;
|
||||||
|
@ -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") {
|
if !has_cmd("systemctl") {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -219,7 +219,7 @@ fn correct_app_name(s: &str) -> String {
|
|||||||
s
|
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
|
// to-do: do together with win/linux about refactory start/stop service
|
||||||
if !is_installed_daemon(false) {
|
if !is_installed_daemon(false) {
|
||||||
return false;
|
return false;
|
||||||
@ -232,7 +232,7 @@ pub fn uninstall_service(show_new_window: bool) -> bool {
|
|||||||
return false;
|
return false;
|
||||||
};
|
};
|
||||||
|
|
||||||
std::thread::spawn(move || {
|
let func = move || {
|
||||||
match std::process::Command::new("osascript")
|
match std::process::Command::new("osascript")
|
||||||
.arg("-e")
|
.arg("-e")
|
||||||
.arg(script_body)
|
.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
|
true
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -515,7 +520,7 @@ pub fn start_os_service() {
|
|||||||
// https://emorydunn.github.io/LaunchAgent/Classes/LaunchAgent.html#/s:11LaunchAgentAAC16throttleIntervalSiSgvp,
|
// https://emorydunn.github.io/LaunchAgent/Classes/LaunchAgent.html#/s:11LaunchAgentAAC16throttleIntervalSiSgvp,
|
||||||
// by default, ThrottleInterval = 10, we changed it to 1
|
// by default, ThrottleInterval = 10, we changed it to 1
|
||||||
if dt >= 0 {
|
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");
|
log::info!("The others killed");
|
||||||
std::process::exit(0);
|
std::process::exit(0);
|
||||||
|
@ -8,8 +8,9 @@
|
|||||||
<true/>
|
<true/>
|
||||||
<key>ProgramArguments</key>
|
<key>ProgramArguments</key>
|
||||||
<array>
|
<array>
|
||||||
<string>/Applications/RustDesk.app/Contents/MacOS/RustDesk</string>
|
<string>/bin/sh</string>
|
||||||
<string>--service</string>
|
<string>-c</string>
|
||||||
|
<string>sleep 1.5; /Applications/RustDesk.app/Contents/MacOS/RustDesk --service</string>
|
||||||
</array>
|
</array>
|
||||||
<key>RunAtLoad</key>
|
<key>RunAtLoad</key>
|
||||||
<true/>
|
<true/>
|
||||||
|
@ -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...");
|
log::info!("Uninstalling service...");
|
||||||
let filter = format!(" /FI \"PID ne {}\"", get_current_pid());
|
let filter = format!(" /FI \"PID ne {}\"", get_current_pid());
|
||||||
Config::set_option("stop-service".into(), "Y".into());
|
Config::set_option("stop-service".into(), "Y".into());
|
||||||
|
@ -131,7 +131,7 @@ pub fn make_tray() -> hbb_common::ResultType<()> {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
if !crate::platform::uninstall_service(false) {
|
if !crate::platform::uninstall_service(false, false) {
|
||||||
*control_flow = ControlFlow::Exit;
|
*control_flow = ControlFlow::Exit;
|
||||||
}
|
}
|
||||||
} else if event.id == open_i.id() {
|
} else if event.id == open_i.id() {
|
||||||
|
@ -348,7 +348,7 @@ pub fn set_option(key: String, value: String) {
|
|||||||
#[cfg(target_os = "macos")]
|
#[cfg(target_os = "macos")]
|
||||||
{
|
{
|
||||||
let is_stop = value == "Y";
|
let is_stop = value == "Y";
|
||||||
if is_stop && crate::platform::macos::uninstall_service(true) {
|
if is_stop && crate::platform::uninstall_service(true, false) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -356,7 +356,7 @@ pub fn set_option(key: String, value: String) {
|
|||||||
{
|
{
|
||||||
if crate::platform::is_installed() {
|
if crate::platform::is_installed() {
|
||||||
if value == "Y" {
|
if value == "Y" {
|
||||||
if crate::platform::uninstall_service(true) {
|
if crate::platform::uninstall_service(true, false) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
Reference in New Issue
Block a user