Wenn root
ich mich auf meinem Server anmelde, funktioniert alles einwandfrei, aber wenn ich mich als myusername
Bash anmelde, funktioniert das nicht richtig.
Die Zeile beginnt mit:
$
Anstatt von
myusername@myserver:~$
und alle Sondertasten wie die Pfeiltasten, Tabulatortasten usw. funktionieren nicht.
Wenn ich tippe bin/bash
, funktioniert es wieder, aber ich möchte das Problem beheben oder bin/bash
beim Anmelden automatisch starten . Wie kann ich das beheben?
root
Benutzer gestellt wird. Er benutzt wahrscheinlich kein Linux. Root sollte bei der Standard-Shell bleiben, da der Hersteller wahrscheinlich damit rechnen wird, dass dies der Fall istksh
oder was auch immer sie gewählt haben. Stattdessen lautet die eigentliche Antwort "Sie sollten sich sowieso nicht als root anmelden".Sie müssen Ihre Shell ändern. Führen Sie den Befehl aus
Melden Sie sich dann erneut an.
Nicht alle Benutzer haben jedoch das Recht, ihre eigene Shell zu ändern. Wenn Sie verwenden,
sudo
denken Sie daran, Ihren Benutzernamen zumchsh
Befehl hinzuzufügen alsAndernfalls ändern Sie versehentlich die Shell für root.
quelle
sudo chsh -s /bin/bash
da mein Benutzer keine Berechtigung zum Ändern der Shell hatte. Ihre Antwort hat mir geholfen, das Problem zu lösen. Vielen Dank!Ein möglicher Grund ist, dass die Standard-Shell von myusername nicht bash ist.
Sie können die Shell Ihres aktuellen Benutzers überprüfen mit:
echo ${SHELL}
echo $0
Um die Benutzeroberfläche dauerhaft zu ändern, siehe
man chsh
zB:quelle
Wenn Ihr sudo-Benutzerkennwort deaktiviert ist, können Sie das
/etc/passwd
direkt bearbeiten , die Zeile suchen, in der sich Ihr Benutzer befindet, und den Shell-Pfad in ändern/bin/bash
.Hier ist die Erklärung des Formats / etc / passwd .
quelle
Ich wollte nur noch eine Sache hinzufügen.
Wenn sudo-Zugriff erforderlich ist, um die Bash für diesen Benutzer zu ändern, müssen Sie auch Ihren Benutzernamen im sudo-Befehl angeben, da er ohne Benutzernamen für den Root-Benutzer gilt.
quelle