diff options
author | Jesse Duffield <jessedduffield@gmail.com> | 2023-03-06 17:34:08 +1100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-06 17:34:08 +1100 |
commit | 4d78d76a44c5d630784e9dd1d9a8e8263f564b86 (patch) | |
tree | 57d4c31f2c2585835c40a10991754c39f3b1580c | |
parent | d08a9849c3eef302dbb98fff1785a953d2681283 (diff) | |
parent | dfe5c805c42b79697fd4c86b5dfbefa98a36de47 (diff) |
Merge pull request #2486 from humblepenguinn/master
-rw-r--r-- | pkg/config/config_linux.go | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/pkg/config/config_linux.go b/pkg/config/config_linux.go index 8fdc0c473..06c277061 100644 --- a/pkg/config/config_linux.go +++ b/pkg/config/config_linux.go @@ -2,6 +2,7 @@ package config import ( "io/ioutil" + "os" "strings" ) @@ -10,9 +11,23 @@ func isWSL() bool { return err == nil && strings.Contains(string(data), "microsoft") } +func isContainer() bool { + data, err := ioutil.ReadFile("/proc/1/cgroup") + + if strings.Contains(string(data), "docker") || + strings.Contains(string(data), "/lxc/") || + []string{string(data)}[0] != "systemd" && + []string{string(data)}[0] != "init" || + os.Getenv("container") != "" { + return err == nil && true + } + + return err == nil && false +} + // GetPlatformDefaultConfig gets the defaults for the platform func GetPlatformDefaultConfig() OSConfig { - if isWSL() { + if isWSL() && !isContainer() { return OSConfig{ EditCommand: ``, EditCommandTemplate: "", |