Hallo,
Ich habe folgendes Problem:
Leider hab ich bei mir an der FH nicht die Möglichkeit die zsh (an die ich mich schon sehr gewöhnt hab) zu benutzen.
Der Admin meint, es wären schon genug Shells da.
Ich hab mir nun die Sourcen gezogen und die zsh in meinem Home untergebracht.
Nur wie stell ich es nun an, dass nicht mehr die Bash als Loginshell genommen wird, sondern meine zsh?
Und was passiert eigentlich wenn in /etc/passwd eine Shell eingetragen wird, die nicht existiert?
(Was ich ja leider ohne Rootrechte nicht machen kann)
Danke für die Hilfe
Edit: Ich sollte veilleciht noch dazusagen, dass das ganze in eine NIS-Domain läuft und passwd vermutlich nicht was Orignalprogramm ist
loginshell änderen als normaler user
- pdreker
- Beiträge: 8298
- Registriert: 29.07.2002 21:53:30
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Nürnberg
Die Login Shells werden wahrscheinlich in /etc/shells eingetragen werden müssen, sonst lässt Dich das System nicht rein. Anderenfalls wäre das Kommando "chsh" angesagt.
Da das aber wahrscheinlich nicht geht (zsh nicht in /etc/shells), bliebe nur der Trick 17: Einfach in das Login Skript der voreingestellten Shell (wahrscheinlich bash) die zsh eintragen. Diese Lösung ist zwar doppelt gemoppelt (es wird erst die Login Shell gestartet, in der dann ein zsh gestartet wird...
Patrick
Da das aber wahrscheinlich nicht geht (zsh nicht in /etc/shells), bliebe nur der Trick 17: Einfach in das Login Skript der voreingestellten Shell (wahrscheinlich bash) die zsh eintragen. Diese Lösung ist zwar doppelt gemoppelt (es wird erst die Login Shell gestartet, in der dann ein zsh gestartet wird...
Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de
Jabber: pdreker@debianforum.de
Deine Loginshell kannst Du mit dem Kommando chsh (change shell) wechseln. Du kannst aber nur Shells einstellen, die in der Liste der gültigen Loginshells steht. Diese Liste findest Du in der Datei /etc/shells.
Eine selbst installierte Shell wirst Du also nicht als Loginshell vewenden können. Es kann Dich aber niemand davon abhalten aus Deiner Loginshell heraus eine zsh als Subshell zu starten.
Hast Du denn schon mal nachgesehen, ob die zsh nicht vielleicht schon installiert ist?
Wenn in der /etc/passwd eine nicht existente Shell eingetragen wird, dann kann sich der entsprechende Benutzer nicht einloggen.
Eine selbst installierte Shell wirst Du also nicht als Loginshell vewenden können. Es kann Dich aber niemand davon abhalten aus Deiner Loginshell heraus eine zsh als Subshell zu starten.
Hast Du denn schon mal nachgesehen, ob die zsh nicht vielleicht schon installiert ist?
Wenn in der /etc/passwd eine nicht existente Shell eingetragen wird, dann kann sich der entsprechende Benutzer nicht einloggen.
No language can express every thought unambiguously, least of all this one. -- D. R. Hofstadter
Danke Leute.
Ich hab jetzt einfach in die .bash_profile folgendes eingetragen:
Das sollte eigentlich passen. Ich hab noch den Tipp bekommen die Variable SHELL zu änderen, damit in allen Terminals auch die zsh benutzt wird.
Nun hab ich zwar immer die bash im Hintergrund mitlaufen, aber egal.
Ich hab jetzt einfach in die .bash_profile folgendes eingetragen:
Code: Alles auswählen
SHELL=/home/stud/zsh/bin/zsh
"$SHELL"; exit
Nun hab ich zwar immer die bash im Hintergrund mitlaufen, aber egal.
Code: Alles auswählen
exec $SHELL