DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=8.10
DISTRIB_CODENAME=intrepid
DISTRIB_DESCRIPTION="Ubuntu 8.10"
Это серверная версия.
Когда я использую ssh, я сталкиваюсь со следующими проблемами:
Проблема 1
автодополнение ведет себя странно до такой степени, что становится непригодным для использования:
> cd ~/<press TAB>
-sh: <( compgen -d -- '/home/dmitriid/' ): No such file or directory
> vi ~/.<press TAB>
<( compgen -d -- '/home/dmitriid/.' ): No such file or directory
-sh: <( eval compgen -f -X '*.@(o|so|so.!(conf)|a|rpm|gif|GIF|jp?(e)g|
JP?(E)G|mp3|MP3|mp?(e)g|MPG|avi|AVI|asf|ASF|ogg|OGG|class|CLASS)' --
$(quote_readline $cur) ): No such file or directory
> nano ~/.<press TAB>
./ .bash_logout .mc/ .viminfo
../ .bashrc .mysql_history
.aptitude/ .erlang.cookie .profile
.bash_history .gitconfig .ssh/
Есть способ исправить это?
Проблема 2
Я довольно часто использую mc. Я часто нажимаю Ctrl + O, чтобы скрыть панели и работать в оболочке. В моем случае:
Есть ли способ исправить и это?
Спасибо!
Хорошо. Оказывается, решение было глупым и простым. Ключ был - в mc нет интерактивной оболочки.
Ответ здесь: http://www.ibiblio.org/mc/FAQ
6.6 Когда я использую Ctrl-O, я не получаю подоболочку. Как это исправить?
В качестве подоболочки можно использовать только bash, tcsh и zsh. Используйте одну из этих оболочек в качестве оболочки по умолчанию, и она будет использоваться как подоболочка в GNU Midnight Commander.
Вот и решил сменить оболочку:
> which bash
/bin/bash
> sudo chsh -s /bin/bash my_user_name
> grep ^my_user_name /etc/password
my_user_name:x:1002:1002::/home/my_user_name:/bin/bash
Обратите внимание на / bin / bash в конце файла passwd. Это означает, что оболочка теперь изменена.
После того, как я вышел из системы, а затем снова вошел в систему - вуаля, все работает!
Причина вашей первой проблемы в том, что вы используете / bin / sh в качестве оболочки. Даже когда это связано с bash, завершение не работает.
Измените оболочку на bash: chsh -s / bin / bash и выполните повторный вход.
Вы .bashrc
ищет /etc/bash_completion
кто использует compgen
go сгенерировать завершение для нескольких известных команд (например, cd
и vi
) но не nano
.
По какой-то причине compgen
возникла проблема с заполнением файлов и каталогов в вашей домашней папке. Один из быстрых способов исправить это - закомментировать следующие строки в вашем .bashrc
.
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
Похоже, что-то не так с вашим домашним каталогом. Вы можете сделать ls ~
и расскажи нам, что случилось?