Как я могу использовать Tab-Completion в PuTTY для подключения к Ubuntu Server?

Я использую 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

В замазке под клавиатуру выберите Linux. Затем в разделе "Функции" выберите "Отключить переключение на альтернативное окно".

Работал для меня в ADBPutty

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

ОК, ОП упоминает, что он использует версию Ubuntu для VPS. Это заставляет меня подозревать, что он работает на виртуальном сервере, и, поскольку у него есть именно эта проблема, я бы поспорил, что сервер размещается локально. Когда я сталкивался с этим в прошлом, это связано с проблемой инструментов VM. Это раздражает, потому что вам нужно будет полностью перезапустить хост-ОС, но после этого у вас все будет хорошо. Возможно, вы захотите просто выключить VMware или, возможно, просто отсоедините клавиатуру, но мой рабочий стол запускается очень быстро, поэтому я обычно просто перезагружаюсь.

В моем конкретном случае эта проблема возникает каждый раз, когда я пытаюсь установить последнюю версию Kubuntu, используя функцию быстрой установки VMware (которая также не работает BTW). Это даже происходит, когда сервер, к которому я подключаюсь, является удаленным сервером. Надеюсь, это кому-нибудь поможет.

Другие вопросы по тегам