Pfeiltasten, Start, Ende, Tabulatortaste funktionieren nicht in der Shell

96

Ich habe Ubuntu Minimal (mini.iso) auf meinem VM installiert. Ich habe dann den Wiederherstellungsmodus verwendet, um mich als root anzumelden und ein Konto mit zu erstellen useradd -m adminund dann ein Passwort mit festzulegen passwd admin.

Wenn ich mich auf dem neuen Konto anmelde, sehe ich anstelle der normalen Eingabeaufforderung nur ein $Zeichen. Wenn ich versuche, einen Befehl oder Dateinamen mit einem Tabulator zu vervollständigen, wird ein normaler Tabulator gedruckt. Wenn ich versuche, die Pfeiltasten zu verwenden ^[[A, werden ^[[B, ^[[Coder gedruckt ^[[D. Außerdem werden lskeine Farben mehr hinzugefügt.

Keines dieser Probleme war im Wiederherstellungsmodus. Wie kann ich das beheben?

Runemoro
quelle
1
Die $ -Aufforderung ist für einen Benutzer. Die Eingabeaufforderung von root lautet #. Die Pfeiltasten funktionieren im Terminal nicht, Sie müssen etwas unity
eingeben
3
@SimplySimon Die Aufwärts- und Abwärtspfeiltasten sollen durch vorherige Befehle blättern, die Links- und Rechtspfeiltasten sollen durch den aktuellen Befehl scrollen, und die Registerkarte sollte den Befehls- oder Dateinamen vervollständigen. Der Pfad sollte links von den $ ...
Runemoro
Sehr wahr, natürlich tun sie es. Entschuldigung
SimplySimon

Antworten:

183

Das bedeutet wahrscheinlich, dass das neue Benutzerkonto mit / bin / sh als Anmeldeshell (das standardmäßig mit der Dash-Shell verknüpft ist) anstelle von / bin / bash erstellt wurde. Sie können die Anmeldeshell eines Benutzers mit dem Befehl 'chsh' ändern

sudo chsh -s /bin/bash <username>

(Sie müssen sich abmelden und wieder anmelden, damit die Änderung wirksam wird.) Möglicherweise müssen Sie auch die Standarddatei .bashrc aus / etc / skel kopieren, um die Farbaufforderung zu erhalten.

In Zukunft möchten Sie möglicherweise den Befehl 'adduser' anstelle von 'useradd' verwenden - er richtet eine vollständigere Benutzerumgebung ein, einschließlich Standard-.profile und .bashrc - und setzt die Anmeldeshell auf 'bash'.

Stahlfahrer
quelle
16
Zusätzlicher Tipp: Ein Benutzer kann dies für sein eigenes Konto ändern, ohne Sudo-Rechte zu benötigen (lassen Sie den sudoobigen Befehl einfach weg ).
Cedric Reichenbach
4
Eigentlich müssen Sie sich nicht abmelden. Rufen Sie es einfach auf, indem Sie es /bin/bashan der Eingabeaufforderung eingeben . Das Gleiche gilt, wenn Sie Ihre bash.rcDatei ändern . Um die Änderungen zu sehen, machen Sie dasselbe.
SDsolar
5

Ich konnte die Registerkartenvervollständigung nicht verwenden, wenn ich eine Verbindung über VNC zu einem XFCE4 ohne Kopf herstellte. Die hier aufgeführte Antwort hat nicht funktioniert, aber dies hat:

Tastenkürzel in XML-Datei bearbeiten:

sudo nano ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml

Finden:

<property name="&lt;Super&gt;Tab" type="string" value="switch_window_key"/>

Ändern Sie es in:

<property name="&lt;Super&gt;Tab" type="empty"/>

Logout / Neustart und sollte gut gehen

Kyle
quelle
2

Ich habe gerade Vim installiert und alles war gelöst. Zuerst dachte ich, dass es in der Originalversion von Ubuntu installiert war, da ich den Befehl Vi verwenden konnte, aber das war nicht der Fall.

sudo apt-get install vim 

Problem gelöst.

user1080009
quelle
Die ausgewählte Antwort hat bei mir nicht funktioniert, aber das hat funktioniert.
Aaron Cicali
-1

Dies wird alles lösen: Einfügen und drücken. Danach können Sie den Verlauf mit dem Pfeil nach oben automatisch vervollständigen.

bind '"\e[A": history-search-backward'

Entnommen aus: https://unix.stackexchange.com/questions/5366/command-line-completion-from-command-history Sie können auch Strg + R verwenden, um Ihren Verlauf anzuzeigen.

Josef Klimuk
quelle
Es wird für alle Modifikationen von Linux funktionieren
Josef Klimuk