--- /dev/null
+diff -Nur entrance-0.9.0.006/src/client/entrance_session.c entrance-0.9.0.006.bash/src/client/entrance_session.c
+--- entrance-0.9.0.006/src/client/entrance_session.c 2006-01-24 04:45:27.000000000 +0100
++++ entrance-0.9.0.006.bash/src/client/entrance_session.c 2006-03-18 20:03:58.000000000 +0100
+@@ -480,7 +480,7 @@
+ snprintf(buf, sizeof(buf), "%s/entrance_login %i", PACKAGE_BIN_DIR,
+ (int) pid);
+ }
+- shell = strdup("/bin/sh");
++ shell = strdup("/bin/bash");
+ /* this bypasses a race condition where entrance loses its x
+ connection before the wm gets it and x goes and resets itself */
+ sleep(10);
+@@ -495,7 +495,7 @@
+ entrance_session_free(e);
+ /* replace this process with a clean small one that just waits for its */
+ /* child to exit.. passed on the cmd-line */
+- execl("/bin/sh", "/bin/sh", "-l", "-c", buf, NULL);
++ execl("/bin/bash", "/bin/bash", "-l", "-c", buf, NULL);
+ }
+
+
+diff -Nur entrance-0.9.0.006/src/daemon/spawner.c entrance-0.9.0.006.bash/src/daemon/spawner.c
+--- entrance-0.9.0.006/src/daemon/spawner.c 2006-01-24 04:45:27.000000000 +0100
++++ entrance-0.9.0.006.bash/src/daemon/spawner.c 2006-03-18 20:02:18.000000000 +0100
+@@ -162,7 +162,7 @@
+ sigaction(SIGUSR1, &_entrance_x_sa, NULL);
+ /* FIXME: need to parse command and NOT go thru /bin/sh!!!! */
+ /* why? some /bin/sh's wont pass on this SIGUSR1 thing... */
+- execl("/bin/sh", "/bin/sh", "-c", x_cmd, NULL);
++ execl("/bin/bash", "/bin/bash", "-c", x_cmd, NULL);
+ syslog(LOG_WARNING, "Could not execute X server.");
+ exit(1);
+ default: