refact, linux headless option, debug
Signed-off-by: fufesou <shuanglongchen@yeah.net>
This commit is contained in:
parent
d761d2f00e
commit
5403166552
@ -79,6 +79,12 @@ pub fn is_headless_allowed() -> bool {
|
|||||||
Config::get_option(CONFIG_OPTION_ALLOW_LINUX_HEADLESS) == "Y"
|
Config::get_option(CONFIG_OPTION_ALLOW_LINUX_HEADLESS) == "Y"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[inline]
|
||||||
|
pub fn is_login_screen_wayland() -> bool {
|
||||||
|
let values = get_values_of_seat0_with_gdm_wayland(&[0, 2]);
|
||||||
|
is_gdm_user(&values[1]) && get_display_server_of_session(&values[0]) == DISPLAY_SERVER_WAYLAND
|
||||||
|
}
|
||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
fn sleep_millis(millis: u64) {
|
fn sleep_millis(millis: u64) {
|
||||||
std::thread::sleep(Duration::from_millis(millis));
|
std::thread::sleep(Duration::from_millis(millis));
|
||||||
|
@ -1007,21 +1007,18 @@ impl Connection {
|
|||||||
}
|
}
|
||||||
#[cfg(target_os = "linux")]
|
#[cfg(target_os = "linux")]
|
||||||
if !self.file_transfer.is_some() && !self.port_forward_socket.is_some() {
|
if !self.file_transfer.is_some() && !self.port_forward_socket.is_some() {
|
||||||
let mut msg = "".to_owned();
|
|
||||||
if crate::platform::linux::is_login_wayland() {
|
|
||||||
msg = crate::client::LOGIN_SCREEN_WAYLAND.to_owned();
|
|
||||||
} else {
|
|
||||||
let dtype = crate::platform::linux::get_display_server();
|
let dtype = crate::platform::linux::get_display_server();
|
||||||
if dtype != crate::platform::linux::DISPLAY_SERVER_X11
|
if dtype != crate::platform::linux::DISPLAY_SERVER_X11
|
||||||
&& dtype != crate::platform::linux::DISPLAY_SERVER_WAYLAND
|
&& dtype != crate::platform::linux::DISPLAY_SERVER_WAYLAND
|
||||||
{
|
{
|
||||||
msg = format!(
|
let msg = if crate::platform::linux::is_login_screen_wayland() {
|
||||||
|
crate::client::LOGIN_SCREEN_WAYLAND.to_owned()
|
||||||
|
} else {
|
||||||
|
format!(
|
||||||
"Unsupported display server type \"{}\", x11 or wayland expected",
|
"Unsupported display server type \"{}\", x11 or wayland expected",
|
||||||
dtype
|
dtype
|
||||||
);
|
)
|
||||||
}
|
};
|
||||||
}
|
|
||||||
if !msg.is_empty() {
|
|
||||||
res.set_error(msg);
|
res.set_error(msg);
|
||||||
let mut msg_out = Message::new();
|
let mut msg_out = Message::new();
|
||||||
msg_out.set_login_response(res);
|
msg_out.set_login_response(res);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user