store: Fix: KDE caches $SHELL at login — Konsole still uses old shell after chsh
This commit is contained in:
parent
cd99df9dfe
commit
c68da85c12
@ -0,0 +1,38 @@
|
|||||||
|
---
|
||||||
|
id: 6b1ef7c1-547f-4a79-aad7-23a720378c03
|
||||||
|
type: fix
|
||||||
|
title: "Fix: KDE caches $SHELL at login — Konsole still uses old shell after chsh"
|
||||||
|
tags: [kde, konsole, fish, shell, workstation, dotfiles, chsh]
|
||||||
|
importance: 0.55
|
||||||
|
confidence: 0.8
|
||||||
|
created: "2026-02-27T05:55:45.065939+00:00"
|
||||||
|
updated: "2026-02-27T05:55:45.065939+00:00"
|
||||||
|
---
|
||||||
|
|
||||||
|
# Fix: KDE caches $SHELL at login — Konsole still uses old shell after chsh
|
||||||
|
|
||||||
|
## Problem
|
||||||
|
After running `chsh` to change the login shell from zsh to fish, `/etc/passwd` updates immediately but KDE's `$SHELL` environment variable remains stale. KDE caches the login environment at session start, so new terminals opened in Konsole still launch the old shell because Konsole's fallback profile uses `$SHELL`.
|
||||||
|
|
||||||
|
## Root Cause
|
||||||
|
KDE reads `$SHELL` from the environment at session startup (PAM/login), not dynamically from `/etc/passwd`. `chsh` only updates `/etc/passwd` — it does not send a signal to a running session.
|
||||||
|
|
||||||
|
## Workaround (applied to Cal's workstation)
|
||||||
|
Add an explicit `Command` line to the Konsole default profile so it does not fall back to `$SHELL`:
|
||||||
|
|
||||||
|
**File:** `~/.local/share/konsole/Profile 1.profile`
|
||||||
|
|
||||||
|
```ini
|
||||||
|
[General]
|
||||||
|
Command=/usr/bin/fish
|
||||||
|
```
|
||||||
|
|
||||||
|
This bypasses the stale `$SHELL` entirely and launches fish directly.
|
||||||
|
|
||||||
|
## Long-term fix
|
||||||
|
Log out and back in to KDE. After re-login, `$SHELL` will reflect the new value from `/etc/passwd` and the explicit `Command=` override can be removed if desired.
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
- Applies to any shell change via `chsh` on KDE Plasma (Konsole, KDE apps)
|
||||||
|
- Other terminal emulators may behave differently
|
||||||
|
- Cal's workstation is on Nobara/Fedora with KDE Plasma
|
||||||
Loading…
Reference in New Issue
Block a user