Клавиши со стрелками, Home, End, Tab-Complete не работают в оболочке

96

Я установил Ubuntu Minimal (Mini.ISO) на мой виртуальный компьютер. Затем я использовал режим восстановления, чтобы войти в систему как root и создать учетную запись, useradd -m adminа затем установить пароль с passwd admin.

Когда я вхожу в новую учетную запись, вместо обычной подсказки я вижу только $знак. Если я пытаюсь завершить табуляцию команды или имени файла, она печатает обычную вкладку. Если я пытаюсь использовать клавиши со стрелками , он печатает ^[[A, ^[[B, ^[[Cили ^[[D. Также lsбольше не добавляются цвета.

Ни одна из этих проблем не была в режиме восстановления. Как я могу это исправить?

Runemoro
источник
1
Подсказка $ предназначена для пользователя. приглашение root - #. Клавиши со стрелками не работают в терминале, вам нужно ввести что-то вроде unityзапуска оболочки Unity
SimplySimon
3
@SimplySimon Клавиши со стрелками вверх и вниз должны переключаться между предыдущими командами, клавиши со стрелками влево и вправо предназначены для прокрутки текущей команды, а вкладка должна завершать команду или имя файла. Путь должен быть написан слева от $ ...
Runemoro
Очень верно, конечно, они делают. извините
SimplySimon

Ответы:

183

Это, вероятно, означает, что новая учетная запись пользователя была создана с / bin / sh в качестве оболочки входа в систему (которая по умолчанию является символической ссылкой на оболочку dash) вместо / bin / bash - вы можете изменить оболочку входа пользователя с помощью команды 'chsh'

sudo chsh -s /bin/bash <username>

(чтобы изменения вступили в силу, вам необходимо выйти из системы и снова войти в нее). Вам также может понадобиться скопировать файл по умолчанию .bashrc из / etc / skel, чтобы получить подсказку цвета.

В будущем вы, возможно, захотите использовать команду «adduser» вместо «useradd» - она ​​устанавливает более полную пользовательскую среду, включая такие вещи, как .profile и .bashrc по умолчанию, а также устанавливает оболочку входа в систему «bash»

steeldriver
источник
16
Дополнительный совет: пользователь может изменить это для своей учетной записи, не требуя прав sudo (просто опустите sudoв приведенной выше команде).
Седрик Райхенбах
4
На самом деле, вам не нужно выходить из системы. Просто вызовите его, введя в /bin/bashкомандной строке. То же самое происходит, если вы измените свой bash.rcфайл. Чтобы увидеть изменения, вы делаете то же самое.
SDsolar
5

Мне не удалось использовать завершение табуляции при подключении через VNC к безголовому XFCE4. Ответ, указанный здесь, не сработал, но это сработало:

Изменить сочетания клавиш в файле XML:

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

Найти:

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

Измените это на:

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

Выйдите из системы или перезагрузите компьютер

рукав моря
источник
2

Я только что установил Vim, и все было решено. Сначала я подумал, что он был установлен в исходной версии Ubuntu, поскольку я мог использовать команду Vi, но это не так.

sudo apt-get install vim 

решил проблему.

user1080009
источник
Выбранный ответ не сработал для меня, но это сработало.
Аарон Чикали
-1

Это решит все: вставь и нажми. После этого вы сможете выполнить автозаполнение из истории, используя стрелку вверх.

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

Взято с: https://unix.stackexchange.com/questions/5366/command-line-completion-from-command-history Также вы можете использовать Ctrl + R, чтобы просмотреть свою историю.

Йозеф Климук
источник
Это будет работать для всех модификаций Linux
Йозеф Климук