Jak korzystać z funkcji Tab-Completion w PuTTY łączącej się z serwerem Ubuntu?

12

Używam PuTTY do łączenia się z serwerem Ubuntu (VPS). Chciałbym korzystać z funkcji Tab-Completion, gdy pracuję z wierszem poleceń na Ubuntu Server ... Jak to skonfigurować?

Jonas
źródło

Odpowiedzi:

13

Uzupełnianie tabulatorów powinno działać w PuTTY. Uzupełnianie tabulatorów zapewnia powłoka uruchomiona na serwerze, a nie sama PuTTY. Zmodyfikuj swoje pytanie i podaj więcej szczegółów, w tym używaną powłokę i co konkretnie dzieje się, gdy próbujesz użyć uzupełniania tabulacji.

Josh
źródło
Ok dzięki. Jak mogę zobaczyć, jakiej powłoki używam? Mam Ubuntu VPS, więc myślę, że jest to domyślny. Czy to jest Bash?
Jonas
2
spróbuj echo $SHELLzobaczyć, z jakiej powłoki korzystasz.
Kevin M
Co próbujesz wpisać, które nie jest automatycznie uzupełniane? Czy naciskasz klawisz Tab raz czy dwa? Próbowałeś użyć bashzamiast sh? (Myślę, że na Ubuntu /bin/shjest dowiązanie symboliczne, /bin/bashale mogę się mylić)
Josh
4
Nawet jeśli jest to dowiązanie symboliczne do / bin / bash, plik wykonywalny może zmienić funkcjonalność w zależności od tego, jak zostanie wywołany. Ponieważ Sanoj widzi, że powłoka logowania to / bin / sh, prawdopodobnie działa ona jak powłoka Bourne'a (sh), a nie powłoka Bourne'a ponownie (bash). Najlepiej jest zmienić powłokę logowania. Spróbujchsh /bin/bash
Doug Harris
11

Miałem interesującą odmianę tego, gdzie działał dla roota, ale nie dla mojego osobistego użytkownika. Jest to lokalna maszyna wirtualna, jak sugerowało krowe, na VirtualBox z uruchomionym Debianem. Użyłem tego samego połączenia, więc problem musiał być po stronie serwera.

Jak się okazało, różnica polegała na tym, że root miał / bin / bash w / etc / passwd, a użytkownik osobisty miał / bin / sh.

Zmiana domyślnej powłoki na / bin / bash rozwiązała dla mnie problem.

Christian Friedl
źródło
6

Mam ten sam problem z uruchomieniem Putty w systemie Windows i czasami uderzenie Tabpo prostu odwraca uwagę od okna Putty i nie wykonuje autouzupełniania, które zwykle wykonuje /bin/bash. Wypróbowałem wszystkie wyżej wymienione rozwiązania i żadne z nich nie wydaje mi się rozwiązać tego problemu.

Tak naprawiłem mój. Przejdź do ekranu z pulpitu systemu Windows, a następnie naciśnij Alt- Tabi Ctrl- Tabkombinacja klawiszy kilka razy i to wydaje się naprawić to dla mnie. Teraz wróć do ekranu Putty i spróbuj Tabponownie.

kambiz
źródło
1
Nieoczekiwanie to zadziałało
Graeme
1
To samo tutaj! Pierwszy raz przydarzyło mi się to z Putty
leonbloy
3

Wpisz następujące polecenie:

sudo vi /etc/bash.bashrc

Poszukaj tych linii:

# 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

Usuń komentarz z niektórych wierszy, aby wyglądało to tak:

# 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

Zapisz, zamknij kit, a następnie otwórz go ponownie.

aashish
źródło
1

Twoja powłoka może być domyślna /bin/sh.

Możesz to naprawić, używając /bin/bashzamiast tego, używając następujących poleceń:

chsh
/bin/bash
Nicolas Louis Guillemot
źródło
0

Wiem, że to stare pytanie, ale kilka razy napotkałem ten problem i odkryłem, że prawdziwe rozwiązanie wcale nie jest po stronie serwera, ale po stronie klienta i jest to pierwsza rzecz, która pojawia się, gdy szukałem rozwiązanie problemu.

OK, OP wspomina, że ​​używa wersji Ubuntu VPS. To mnie podejrzewa, że ​​działa na serwerze wirtualnym, a ponieważ ma ten konkretny problem, założę się, że serwer jest hostowany lokalnie. Kiedy spotkałem się z tym w przeszłości, jest to spowodowane problemem z narzędziami VM. Jest to denerwujące, ponieważ musisz całkowicie zrestartować system operacyjny hosta, ale potem powinieneś być dobry. Możesz po prostu spróbować wyłączyć VMware, a może po prostu odłączyć klawiaturę, ale też mój pulpit uruchamia się bardzo szybko, więc zwykle po prostu wykonuję pełny restart.

W moim szczególnym przypadku ten problem występuje za każdym razem, gdy próbuję zainstalować najnowszą wersję Kubuntu za pomocą funkcji szybkiej instalacji VMware (która również nie działa BTW). Dzieje się tak nawet wtedy, gdy serwer, z którym się łączę, jest serwerem zdalnym. Mam nadzieję, że to komuś pomoże.

krowe
źródło
0

W kitach pod klawiaturą wybierz Linux. Następnie w obszarze Funkcje wybierz opcję Wyłącz przełączanie na alternatywne okno

Pracował dla mnie w ADBPutty

Don
źródło