Unixery & daemon worship 🔥


It's a Unix system! I know this!

Fish Shell automatisch im Terminal-Emulator starten

Wenn man die Standard-Shell eines Nutzers ändert, kann man Probleme bekommen, weil die Skripte in /etc/profile.d/ nicht mehr korrekt ausgeführt werden. Möchte man trotzdem nicht immer eine andere Shell per Hand starten, kann man das bei Benutzung eines Terminal Emulators auch automatisch erledigen lassen. Ist die Standard-Shell (wie bei den meisten Linux-Distributionen üblich) die Bash, dann kann man folgendes in der .bashrc eintragen:

if [[ $(basename $(ps --no-header --pid=$PPID --format=cmd)) == "qterminal" ]]; then
	exec fish
fi

Dabei wird die Fish-Shell gestartet, wenn der Elternprozess qterminal ist. Startet man also ein QTerminal, so wird Fish automatisch mit gestartet.