From a315da79109fe6e2ee77eebb018eb89ca04f76b7 Mon Sep 17 00:00:00 2001 From: Connor Peet Date: Tue, 29 Nov 2022 16:34:05 -0800 Subject: [PATCH] cli: fix service failing to install on older systemd (#167672) Fixes https://github.com/microsoft/vscode/issues/167671 In newer systemd, enablement is apparently implicit with 'link', but it must be called for older setups. --- cli/src/tunnels/service_linux.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/cli/src/tunnels/service_linux.rs b/cli/src/tunnels/service_linux.rs index 2510ae56473..eae8a46d190 100644 --- a/cli/src/tunnels/service_linux.rs +++ b/cli/src/tunnels/service_linux.rs @@ -92,6 +92,19 @@ impl ServiceManager for SystemdService { info!(self.log, "Successfully registered service..."); + // note: enablement is implicit in recent systemd version, but required for older systems + // https://github.com/microsoft/vscode/issues/167489#issuecomment-1331222826 + proxy + .enable_unit_files( + vec![SystemdService::service_name_string()], + /* 'runtime only'= */ false, + /* replace existing = */ true, + ) + .await + .map_err(|e| wrap(e, "error enabling unit files for service"))?; + + info!(self.log, "Successfully enabled unit files..."); + proxy .start_unit(SystemdService::service_name_string(), "replace".to_string()) .await