Klawisze strzałek, Home, End, klawisze z klawiszem Tab nie działają w powłoce

96

Zainstalowałem ubuntu minimal (mini.iso) na moim vm. Następnie użyłem trybu odzyskiwania, aby zalogować się jako root i utworzyć konto, useradd -m admina następnie ustawić hasło za pomocą passwd admin.

Kiedy loguję się na nowe konto, zamiast zwykłego monitu widzę tylko $znak. Jeśli spróbuję uzupełnić tabulatorem polecenie lub nazwę pliku, drukuje normalną kartę. Jeśli próbuję użyć klawiszy strzałek drukuje ^[[A, ^[[B, ^[[Club ^[[D. Ponadto lsnie dodaje już kolorów.

Żaden z tych problemów nie był w trybie odzyskiwania. Jak mogę to naprawić?

Runemoro
źródło
1
Monit $ jest dla użytkownika. Monit roota to #. Klawisze strzałek nie działają w terminalu, musisz wpisać coś takiego, jak unityuruchomić powłokę Unity
SimplySimon
3
@SimplySimon Klawisze strzałek w górę i w dół mają przełączać poprzednie polecenia, klawisze strzałek w lewo i w prawo powinny przewijać bieżące polecenie, a tab powinien uzupełnić nazwę polecenia lub pliku. Ścieżka powinna być zapisana po lewej stronie $ ...
Runemoro,
To prawda, oczywiście, że tak. przepraszam
SimplySimon

Odpowiedzi:

183

Oznacza to prawdopodobnie, że nowe konto użytkownika zostało utworzone za pomocą / bin / sh jako powłoki logowania (domyślnie dowiązującej do powłoki deski rozdzielczej) zamiast / bin / bash - możesz zmienić powłokę logowania użytkownika za pomocą polecenia „chsh”

sudo chsh -s /bin/bash <username>

(musisz wylogować się i zalogować ponownie, aby zmiana zaczęła obowiązywać). Konieczne może być również skopiowanie domyślnego pliku .bashrc z pliku / etc / skel, aby wyświetlić monit o kolor.

W przyszłości możesz użyć polecenia „adduser” zamiast „useradd” - konfiguruje ono bardziej kompletne środowisko użytkownika, w tym takie jak domyślny .profile i .bashrc - a także ustawia powłokę logowania na „bash”

steeldriver
źródło
16
Dodatkowa wskazówka: Użytkownik może zmienić to dla swojego konta bez konieczności posiadania uprawnień sudo (wystarczy pominąć sudopowyższe polecenie).
Cedric Reichenbach,
4
W rzeczywistości nie musisz się wylogowywać. Po prostu wywołaj to, wpisując /bin/bashpolecenie. To samo dotyczy modyfikacji bash.rcpliku. Aby zobaczyć zmiany, robisz to samo.
SDsolar
5

Nie mogłem użyć uzupełniania tabulacji podczas łączenia przez VNC z bezgłowym XFCE4. Wymieniona tutaj odpowiedź nie działała, ale to:

Edytuj skróty klawiaturowe w pliku xml:

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

Odnaleźć:

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

Zmień na:

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

Wyloguj się / uruchom ponownie i powinno być dobrze

Kyle
źródło
2

Właśnie zainstalowałem Vima i wszystko zostało rozwiązane. Na początku myślałem, że został zainstalowany na oryginalnej wersji Ubuntu, ponieważ mogłem używać polecenia Vi, ale tak nie było.

sudo apt-get install vim 

Rozwiązać problem.

użytkownik1080009
źródło
Wybrana odpowiedź nie działała dla mnie, ale tak się stało.
Aaron Cicali
-1

To rozwiąże wszystko: wklej i naciśnij. Następnie będziesz mógł automatycznie uzupełniać historię, używając strzałki w górę.

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

Zaczerpnięte z: https://unix.stackexchange.com/questions/5366/command-line-completion-from-command-history Również możesz użyć Ctrl + R, aby zobaczyć swoją historię.

Josef Klimuk
źródło
Będzie działać dla wszystkich modyfikacji Linuksa
Josef Klimuk