diff --git a/src/core_main.rs b/src/core_main.rs index e3a900bed..5120e67f7 100644 --- a/src/core_main.rs +++ b/src/core_main.rs @@ -180,11 +180,14 @@ pub fn core_main() -> Option> { #[cfg(any(target_os = "linux", target_os = "windows"))] { #[cfg(target_os = "linux")] - if crate::platform::is_root() { - hbb_common::allow_err!(crate::platform::run_as_user(vec!["--tray"], None)); - } else { - hbb_common::allow_err!(crate::run_me(vec!["--tray"])); - } + std::thread::spawn(move || { + std::thread::sleep(std::time::Duration::from_secs(3)); + if crate::platform::is_root() { + hbb_common::allow_err!(crate::platform::run_as_user(vec!["--tray"], None)); + } else { + hbb_common::allow_err!(crate::run_me(vec!["--tray"])); + } + }); crate::start_server(true); return None; }