Я использую PuTTY для подключения к Ubuntu Server (VPS). Я хотел бы использовать Tab-Completion, когда я работаю с командной строкой на Ubuntu Server ... Как я могу настроить это?
7 ответов
Завершение вкладки должно работать в PuTTY. Завершение вкладки обеспечивается оболочкой, которую вы запускаете на сервере, а не самой PuTTY. Пожалуйста, отредактируйте свой вопрос и предоставьте более подробную информацию, в том числе, какую оболочку вы используете и что конкретно происходит, когда вы пытаетесь использовать завершение вкладки.
У меня был интересный вариант этого, где он работал для root, но не для моего личного пользователя. Это локальная виртуальная машина, как предложил krowe, на VirtualBox, на котором работает Debian. Я использовал то же соединение, поэтому проблема должна была быть на стороне сервера.
Как оказалось, разница была в том, что root имел /bin /bash в /etc /passwd, в то время как у личного пользователя был /bin /sh.
Изменение оболочки по умолчанию на /bin /bash решило проблему для меня.
У меня та же проблема с запуском Putty в Windows, и иногда нажатие на Tab просто отвлекает внимание от окна Putty и не выполняет автозаполнение, как это обычно делается в /bin/bash
. Я перепробовал все решения, упомянутые выше, и ни одно из них, похоже, не решило эту проблему для меня.
Вот так я исправил свой. Перейдите на экран рабочего стола Windows и несколько раз нажмите сочетания клавиш Alt - Tab и Ctrl - Tab, и это, кажется, исправило это для меня. Теперь вернитесь к экрану Putty и попробуйте снова Tab .
Введите следующую команду:
sudo vi /etc/bash.bashrc
Ищите эти строки:
# enable bash completion in interactive shells
# if ! shopt -oq posix; then
# if [ -f /usr/share/bash-completion/bash_completion ]; then
# . /usr/share/bash-completion/bash_completion
# elif [ -f /etc/bash_completion ]; then
# . /etc/bash_completion
# fi
# fi
Раскомментируйте некоторые строки, чтобы они выглядели так:
# enable bash completion in interactive shells
if ! shopt -oq posix; then
if [ -f /usr/share/bash-completion/bash_completion ]; then
. /usr/share/bash-completion/bash_completion
elif [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
fi
Сохраните, закройте замазку, затем снова откройте ее.
Ваша оболочка может быть по умолчанию /bin/sh
.
Вы можете исправить это, используя вместо этого /bin/bash
, используя следующие команды:
chsh
/bin/bash
Я знаю, что это старый вопрос, но я сталкивался с этой проблемой несколько раз и обнаружил, что реальное решение вовсе не на стороне сервера, а на стороне клиента, и это первое, что возникает, когда я искал решение проблемы.
ОК, OP упоминает, что он использует версию Ubuntu для VPS. Это заставляет меня подозревать, что он работает на виртуальном сервере, и, поскольку у него есть именно эта проблема, я бы поспорил, что сервер размещается локально. Когда я сталкивался с этим в прошлом, это связано с проблемой инструментов VM. Это раздражает, потому что вам нужно будет полностью перезапустить хост-ОС, но после этого у вас все будет хорошо. Возможно, вы захотите просто выключить VMware или, возможно, просто отсоедините клавиатуру, но мой рабочий стол запускается очень быстро, поэтому я обычно просто перезагружаюсь.
В моем конкретном случае эта проблема возникает каждый раз, когда я пытаюсь установить последнюю версию Kubuntu с помощью функции быстрой установки VMware (которая также не работает BTW). Это даже происходит, когда сервер, к которому я подключаюсь, является удаленным сервером. Надеюсь, это кому-нибудь поможет.
В замазке под клавиатуру выберите Linux. Затем в разделе «Функции» выберите «Отключить переключение на альтернативное окно».
Работал для меня в ADBPutty