diff --git a/src/startup/darling.c b/src/startup/darling.c index a1bfb38ce..747b3f098 100644 --- a/src/startup/darling.c +++ b/src/startup/darling.c @@ -563,7 +563,14 @@ void spawnShell(const char** argv) "/sbin:" "/usr/local/bin"); - const char* login = getlogin(); + const char* login = NULL; + struct passwd* pw = getpwuid(getuid()); + + if (pw != NULL) + login = pw->pw_name; + + if (!login) + login = getlogin(); if (!login) { fprintf(stderr, "Cannot determine your user name\n");