diff options
author | David Herrmann <dh.herrmann@gmail.com> | 2013-10-23 19:02:56 +0200 |
---|---|---|
committer | David Herrmann <dh.herrmann@gmail.com> | 2013-10-23 19:02:56 +0200 |
commit | 24dec422ed037c51a15164feaf5fabdbe9b66b42 (patch) | |
tree | 1e6f1e6d07a324c8b48ba0642710f440e26d644a | |
parent | 0219fa1c29d8b0901fc314ef9f48a215f27cdb08 (diff) |
Run $SHELL or _PATH_BSHELL with -i instead of /bin/sh
Try $SHELL first, then _PATH_BSHELL and path -i as default parameter
(login shell) instead of /bin/sh.
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
-rw-r--r-- | src/wlterm.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/wlterm.c b/src/wlterm.c index 48b4703..1d30e83 100644 --- a/src/wlterm.c +++ b/src/wlterm.c @@ -33,6 +33,7 @@ #include <errno.h> #include <gtk/gtk.h> #include <libtsm.h> +#include <paths.h> #include <stdarg.h> #include <stdbool.h> #include <stdio.h> @@ -127,7 +128,11 @@ static void log_tsm(void *data, const char *file, int line, const char *fn, static void __attribute__((noreturn)) term_run_child(struct term *term) { - char **argv = (char*[]){ "/bin/sh", NULL }; + char **argv = (char*[]){ + getenv("SHELL") ? : _PATH_BSHELL, + "-i", + NULL + }; execve(argv[0], argv, environ); exit(1); |