summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKirill Chibisov <contact@kchibisov.com>2022-10-22 13:17:46 +0300
committerGitHub <noreply@github.com>2022-10-22 13:17:46 +0300
commite3af53c863ee55b2862954f156e168c1e8da26e2 (patch)
tree0d70745ab1d9d1763d3dc3a8793b15a8abf3440a
parent62e9d3ab394f3ad104642e964e9034a352d76d9a (diff)
Fix startup failure on macOS with dash as /bin/sh
The dash's exec doesn't have `-a` argument we rely on when running login shell, so use zsh instead. Fixes #6426.
-rw-r--r--CHANGELOG.md1
-rw-r--r--alacritty_terminal/src/tty/unix.rs4
2 files changed, 4 insertions, 1 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3608f2f1..0f2cb848 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -12,6 +12,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
- `--help` output for `--class` does not match man pages
- Cursor and underlines always being black on very old hardware
- Crash when using very low negative `font.offset`
+- Startup failure on macOS with default config when system `/bin/sh` is `dash`
## 0.11.0
diff --git a/alacritty_terminal/src/tty/unix.rs b/alacritty_terminal/src/tty/unix.rs
index 63da4f9c..2ff657de 100644
--- a/alacritty_terminal/src/tty/unix.rs
+++ b/alacritty_terminal/src/tty/unix.rs
@@ -143,7 +143,9 @@ fn default_shell_command(pw: &Passwd<'_>) -> Command {
// -f: Bypasses authentication for the already-logged-in user.
// -l: Skips changing directory to $HOME and prepending '-' to argv[0].
// -p: Preserves the environment.
- login_command.args(["-flp", pw.name, "/bin/sh", "-c", &exec]);
+ //
+ // XXX: we use zsh here over sh due to `exec -a`.
+ login_command.args(["-flp", pw.name, "/bin/zsh", "-c", &exec]);
login_command
}