From bc68f400f65cc5668246227dfe4bfd362afeaa76 Mon Sep 17 00:00:00 2001 From: Cong Zhang <13283869+congzhangzh@users.noreply.github.com> Date: Wed, 24 Apr 2024 01:47:45 +0000 Subject: [PATCH] fix: add support for headless in docker (#7811) --- libs/hbb_common/src/platform/linux.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/libs/hbb_common/src/platform/linux.rs b/libs/hbb_common/src/platform/linux.rs index f7a6244dd..7f541f084 100644 --- a/libs/hbb_common/src/platform/linux.rs +++ b/libs/hbb_common/src/platform/linux.rs @@ -49,6 +49,16 @@ pub fn is_x11_or_headless() -> bool { const INVALID_SESSION: &str = "4294967295"; pub fn get_display_server() -> String { + // Check for forced display server environment variable first + if let Ok(forced_display) = std::env::var("RUSTDESK_FORCED_DISPLAY_SERVER") { + return forced_display; + } + + // Check if `loginctl` can be called successfully + if run_loginctl(None).is_err() { + return DISPLAY_SERVER_X11.to_owned(); + } + let mut session = get_values_of_seat0(&[0])[0].clone(); if session.is_empty() { // loginctl has not given the expected output. try something else.