Antworten:
Die Tab-Vervollständigung sollte in PuTTY funktionieren. Die Tab-Vervollständigung wird von der Shell bereitgestellt, die Sie auf dem Server ausführen, nicht von PuTTY selbst. Bitte bearbeiten Sie Ihre Frage und geben Sie weitere Details an, einschließlich der von Ihnen verwendeten Shell und was speziell passiert, wenn Sie versuchen, die Tab-Vervollständigung zu verwenden.
echo $SHELL
zu sehen, welche Shell Sie ausführen.
bash
statt zu verwenden sh
? (Ich denke auf Ubuntu /bin/sh
ist ein Symlink zu, /bin/bash
aber ich könnte mich irren)
chsh /bin/bash
Ich hatte eine interessante Variante davon, bei der es für root funktionierte, aber nicht für meinen persönlichen Benutzer. Es ist eine lokale VM, wie Krowe vorgeschlagen hat, auf einer VirtualBox, auf der Debian ausgeführt wird. Ich habe dieselbe Verbindung verwendet, daher musste das Problem auf der Serverseite liegen.
Wie sich herausstellte, bestand der Unterschied darin, dass root / bin / bash in / etc / passwd hatte, während der persönliche Benutzer / bin / sh hatte.
Das Ändern der Standard-Shell in / bin / bash hat das Problem für mich gelöst.
Ich habe das gleiche Problem beim Ausführen von Putty unter Windows. Manchmal wird durch Tabdas Drücken nur der Fokus vom Putty-Fenster weggenommen und das automatische Ausfüllen wird nicht ausgeführt, unter dem es normalerweise ausgeführt wird /bin/bash
. Ich habe alle oben genannten Lösungen ausprobiert und keine scheint dieses Problem für mich zu beheben.
So habe ich meine repariert. Gehen Sie zum Windows-Desktop-Bildschirm und drücken Sie einige Male die Tasten Alt- Tabund Ctrl-. Das Tabscheint das Problem für mich zu beheben. Gehen Sie nun zurück zum Kittbildschirm und versuchen Sie es Taberneut.
Geben Sie den folgenden Befehl ein:
sudo vi /etc/bash.bashrc
Suchen Sie nach diesen Zeilen:
# 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
Kommentieren Sie einige Zeilen aus, damit es so aussieht:
# 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
Speichern, Kitt schließen und wieder öffnen.
Ihre Shell ist möglicherweise die Standardeinstellung /bin/sh
.
Sie können das Problem beheben, indem Sie /bin/bash
stattdessen die folgenden Befehle verwenden:
chsh
/bin/bash
Ich weiß, dass dies eine alte Frage ist, aber ich bin ein paar Mal auf dieses Problem gestoßen und habe festgestellt, dass die eigentliche Lösung überhaupt nicht serverseitig ist, sondern auf der Clientseite, und dies ist das erste, was bei der Suche auftaucht eine Lösung für das Problem.
OK, das OP erwähnt, dass er die VPS-Version von Ubuntu verwendet. Dies lässt mich vermuten, dass er einen virtuellen Server betreibt, und da er dieses spezielle Problem hat, würde ich wetten, dass der Server lokal gehostet wird. Wenn ich dies in der Vergangenheit festgestellt habe, liegt dies an einem Problem mit VM-Tools. Es ist ärgerlich, weil Sie das Host-Betriebssystem komplett neu starten müssen, aber danach sollten Sie gut sein. Vielleicht möchten Sie einfach versuchen, VMware herunterzufahren, oder einfach nur den Stecker Ihrer Tastatur ziehen, aber mein Desktop startet sehr schnell, sodass ich normalerweise nur einen vollständigen Neustart durchführe.
In meinem speziellen Fall tritt dieses Problem jedes Mal auf, wenn ich versuche, die neueste Kubuntu-Version mithilfe der VMware-Schnellinstallationsfunktion zu installieren (die übrigens auch fehlschlägt). Es passiert sogar, wenn der Server, zu dem ich eine Verbindung herstelle, ein Remote-Server ist. Hoffe das hilft jemandem.