terminal persistent

This commit is contained in:
RustDesk 2025-06-30 00:31:09 +08:00 committed by GitHub
parent 117ea7c341
commit f850a167ac
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 15 additions and 4 deletions

View File

@ -90,9 +90,7 @@ message LoginRequest {
} }
message Terminal { message Terminal {
// Empty message for terminal connection type string service_id = 1; // Service ID for reconnecting to existing session
bool persistent = 1; // Whether to create a persistent terminal session
string service_id = 2; // Service ID for reconnecting to existing session
} }
message Auth2FA { message Auth2FA {
@ -620,7 +618,6 @@ message PermissionInfo {
Restart = 5; Restart = 5;
Recording = 6; Recording = 6;
BlockInput = 7; BlockInput = 7;
Camera = 8;
} }
Permission permission = 1; Permission permission = 1;
@ -679,6 +676,7 @@ message OptionMessage {
BoolOption follow_remote_cursor = 15; BoolOption follow_remote_cursor = 15;
BoolOption follow_remote_window = 16; BoolOption follow_remote_window = 16;
BoolOption disable_camera = 17; BoolOption disable_camera = 17;
BoolOption terminal_persistent = 18;
} }
message TestDelay { message TestDelay {

View File

@ -266,6 +266,8 @@ pub struct PeerConfig {
#[serde(flatten)] #[serde(flatten)]
pub lock_after_session_end: LockAfterSessionEnd, pub lock_after_session_end: LockAfterSessionEnd,
#[serde(flatten)] #[serde(flatten)]
pub terminal_persistent: TerminalPersistent,
#[serde(flatten)]
pub privacy_mode: PrivacyMode, pub privacy_mode: PrivacyMode,
#[serde(flatten)] #[serde(flatten)]
pub allow_swap_key: AllowSwapKey, pub allow_swap_key: AllowSwapKey,
@ -357,6 +359,7 @@ impl Default for PeerConfig {
custom_image_quality: Self::default_custom_image_quality(), custom_image_quality: Self::default_custom_image_quality(),
show_remote_cursor: Default::default(), show_remote_cursor: Default::default(),
lock_after_session_end: Default::default(), lock_after_session_end: Default::default(),
terminal_persistent: Default::default(),
privacy_mode: Default::default(), privacy_mode: Default::default(),
allow_swap_key: Default::default(), allow_swap_key: Default::default(),
port_forwards: Default::default(), port_forwards: Default::default(),
@ -1648,6 +1651,12 @@ serde_field_bool!(
default_lock_after_session_end, default_lock_after_session_end,
"LockAfterSessionEnd::default_lock_after_session_end" "LockAfterSessionEnd::default_lock_after_session_end"
); );
serde_field_bool!(
TerminalPersistent,
"terminal-persistent",
default_terminal_persistent,
"TerminalPersistent::default_terminal_persistent"
);
serde_field_bool!( serde_field_bool!(
PrivacyMode, PrivacyMode,
"privacy_mode", "privacy_mode",
@ -2430,6 +2439,8 @@ pub mod keys {
pub const OPTION_ENABLE_CLIPBOARD: &str = "enable-clipboard"; pub const OPTION_ENABLE_CLIPBOARD: &str = "enable-clipboard";
pub const OPTION_ENABLE_FILE_TRANSFER: &str = "enable-file-transfer"; pub const OPTION_ENABLE_FILE_TRANSFER: &str = "enable-file-transfer";
pub const OPTION_ENABLE_CAMERA: &str = "enable-camera"; pub const OPTION_ENABLE_CAMERA: &str = "enable-camera";
pub const OPTION_ENABLE_TERMINAL: &str = "enable-terminal";
pub const OPTION_TERMINAL_PERSISTENT: &str = "terminal-persistent";
pub const OPTION_ENABLE_AUDIO: &str = "enable-audio"; pub const OPTION_ENABLE_AUDIO: &str = "enable-audio";
pub const OPTION_ENABLE_TUNNEL: &str = "enable-tunnel"; pub const OPTION_ENABLE_TUNNEL: &str = "enable-tunnel";
pub const OPTION_ENABLE_REMOTE_RESTART: &str = "enable-remote-restart"; pub const OPTION_ENABLE_REMOTE_RESTART: &str = "enable-remote-restart";
@ -2552,6 +2563,7 @@ pub mod keys {
OPTION_DISPLAYS_AS_INDIVIDUAL_WINDOWS, OPTION_DISPLAYS_AS_INDIVIDUAL_WINDOWS,
OPTION_USE_ALL_MY_DISPLAYS_FOR_THE_REMOTE_SESSION, OPTION_USE_ALL_MY_DISPLAYS_FOR_THE_REMOTE_SESSION,
OPTION_VIEW_STYLE, OPTION_VIEW_STYLE,
OPTION_TERMINAL_PERSISTENT,
OPTION_SCROLL_STYLE, OPTION_SCROLL_STYLE,
OPTION_IMAGE_QUALITY, OPTION_IMAGE_QUALITY,
OPTION_CUSTOM_IMAGE_QUALITY, OPTION_CUSTOM_IMAGE_QUALITY,
@ -2602,6 +2614,7 @@ pub mod keys {
OPTION_ENABLE_CLIPBOARD, OPTION_ENABLE_CLIPBOARD,
OPTION_ENABLE_FILE_TRANSFER, OPTION_ENABLE_FILE_TRANSFER,
OPTION_ENABLE_CAMERA, OPTION_ENABLE_CAMERA,
OPTION_ENABLE_TERMINAL,
OPTION_ENABLE_REMOTE_PRINTER, OPTION_ENABLE_REMOTE_PRINTER,
OPTION_ENABLE_AUDIO, OPTION_ENABLE_AUDIO,
OPTION_ENABLE_TUNNEL, OPTION_ENABLE_TUNNEL,