11

Я использую PuTTY для подключения к Ubuntu Server (VPS). Я хотел бы использовать Tab-Completion, когда я работаю с командной строкой на Ubuntu Server ... Как я могу настроить это?

7 ответов7

13

Завершение вкладки должно работать в PuTTY. Завершение вкладки обеспечивается оболочкой, которую вы запускаете на сервере, а не самой PuTTY. Пожалуйста, отредактируйте свой вопрос и предоставьте более подробную информацию, в том числе, какую оболочку вы используете и что конкретно происходит, когда вы пытаетесь использовать завершение вкладки.

8

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

Как оказалось, разница была в том, что root имел /bin /bash в /etc /passwd, в то время как у личного пользователя был /bin /sh.

Изменение оболочки по умолчанию на /bin /bash решило проблему для меня.

6

У меня та же проблема с запуском Putty в Windows, и иногда нажатие на Tab просто отвлекает внимание от окна Putty и не выполняет автозаполнение, как это обычно делается в /bin/bash . Я перепробовал все решения, упомянутые выше, и ни одно из них, похоже, не решило эту проблему для меня.

Вот так я исправил свой. Перейдите на экран рабочего стола Windows и несколько раз нажмите сочетания клавиш Alt - Tab и Ctrl - Tab, и это, кажется, исправило это для меня. Теперь вернитесь к экрану Putty и попробуйте снова Tab .

3

Введите следующую команду:

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

Сохраните, закройте замазку, затем снова откройте ее.

1

Ваша оболочка может быть по умолчанию /bin/sh .

Вы можете исправить это, используя вместо этого /bin/bash , используя следующие команды:

chsh
/bin/bash
0

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

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

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

0

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .