From 7fdbfffde72aa3aac4044438ece7f137dc91c242 Mon Sep 17 00:00:00 2001 From: Evan Simkowitz Date: Fri, 21 Feb 2025 15:38:00 -0800 Subject: [PATCH] Fix XDG_RUNTIME_DIR setting in shellexec --- pkg/shellexec/shellexec.go | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/pkg/shellexec/shellexec.go b/pkg/shellexec/shellexec.go index 93c866126c..564b6c5cf7 100644 --- a/pkg/shellexec/shellexec.go +++ b/pkg/shellexec/shellexec.go @@ -18,6 +18,8 @@ import ( "syscall" "time" + "maps" + "github.com/creack/pty" "github.com/wavetermdev/waveterm/pkg/blocklogger" "github.com/wavetermdev/waveterm/pkg/panichandler" @@ -633,11 +635,10 @@ func tryGetPamEnvVars() map[string]string { if err != nil { log.Printf("error parsing %s: %v", userEnvironmentPath, err) } - for k, v := range envVars2 { - envVars[k] = v - } - for k, v := range envVars3 { - envVars[k] = v + maps.Copy(envVars, envVars2) + maps.Copy(envVars, envVars3) + if runtime_dir, ok := envVars["XDG_RUNTIME_DIR"]; !ok || runtime_dir == "" { + envVars["XDG_RUNTIME_DIR"] = "/run/user/" + fmt.Sprint(os.Getuid()) } return envVars }