Use remote user from devcontainer CLI and respect shell in passwd (#48230)
Closes #46252 Uses the `remoteUser` property returned from the devcontainer CLI so that settings are respected. Additionally, checks for a default shell in `passwd` if `$SHELL` is not set. Release Notes: - Fixed remote_user and shell inconsistencies from within dev containers
This commit is contained in:
1 parent
7b9beb3678
commit
85d03d5122
5 files changed
+114
-52
No files matched your search
@@ -19,7 +19,7 @@ use crate::{DevContainerFeature, DevContainerSettings, DevContainerTemplate};
|
||||
struct DevContainerUp {
|
||||
_outcome: String,
|
||||
container_id: String,
|
||||
_remote_user: String,
|
||||
remote_user: String,
|
||||
remote_workspace_folder: String,
|
||||
}
|
||||
|
||||
@@ -156,6 +156,7 @@ pub async fn start_dev_container(
|
||||
Ok(DevContainerUp {
|
||||
container_id,
|
||||
remote_workspace_folder,
|
||||
remote_user,
|
||||
..
|
||||
}) => {
|
||||
let project_name = match devcontainer_read_configuration(
|
||||
@@ -180,6 +181,7 @@ pub async fn start_dev_container(
|
||||
name: project_name,
|
||||
container_id: container_id,
|
||||
use_podman,
|
||||
remote_user,
|
||||
};
|
||||
|
||||
Ok((connection, remote_workspace_folder))
|
||||
@@ -563,7 +565,7 @@ mod tests {
|
||||
up.container_id,
|
||||
"826abcac45afd412abff083ab30793daff2f3c8ce2c831df728baf39933cb37a"
|
||||
);
|
||||
assert_eq!(up._remote_user, "vscode");
|
||||
assert_eq!(up.remote_user, "vscode");
|
||||
assert_eq!(up.remote_workspace_folder, "/workspaces/zed");
|
||||
|
||||
let json_in_plaintext = r#"[2026-01-22T16:19:08.802Z] @devcontainers/cli 0.80.1. Node.js v22.21.1. darwin 24.6.0 arm64.
|
||||
@@ -574,7 +576,7 @@ mod tests {
|
||||
up.container_id,
|
||||
"826abcac45afd412abff083ab30793daff2f3c8ce2c831df728baf39933cb37a"
|
||||
);
|
||||
assert_eq!(up._remote_user, "vscode");
|
||||
assert_eq!(up.remote_user, "vscode");
|
||||
assert_eq!(up.remote_workspace_folder, "/workspaces/zed");
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user