Réponses:
La complétion des onglets devrait fonctionner dans PuTTY. La complétion des onglets est fournie par le shell que vous exécutez sur le serveur, et non par PuTTY lui-même. Veuillez modifier votre question et fournir plus de détails, y compris le shell que vous utilisez et ce qui se passe spécifiquement lorsque vous essayez d'utiliser la complétion de tabulation.
echo $SHELL
de voir quel shell vous exécutez.
bash
au lieu de sh
? (Je pense que sur Ubuntu /bin/sh
est un lien symbolique vers /bin/bash
mais je peux me tromper)
chsh /bin/bash
J'avais une variation intéressante de cela, où cela fonctionnait pour root, mais pas pour mon utilisateur personnel. C'est une machine virtuelle locale, comme l'a suggéré krowe, sur une VirtualBox exécutant Debian. J'ai utilisé la même connexion, donc le problème devait être du côté serveur.
Il s'est avéré que la différence était que root avait / bin / bash dans / etc / passwd, tandis que l'utilisateur personnel avait / bin / sh.
Changer le shell par défaut en / bin / bash a résolu le problème pour moi.
J'ai le même problème en exécutant Putty sur Windows et parfois, frapper Tabprend juste le focus loin de la fenêtre Putty et ne fait pas le remplissage automatique comme il le fait habituellement sous /bin/bash
. J'ai essayé toutes les solutions mentionnées ci-dessus et aucune ne semble résoudre ce problème pour moi.
C'est comme ça que j'ai réparé le mien. Accédez à l'écran du bureau Windows et appuyez plusieurs fois sur les touches Alt- Tabet Ctrl- Tabet cela semble résoudre le problème pour moi. Revenez maintenant à l'écran Putty et réessayez Tab.
Tapez la commande suivante:
sudo vi /etc/bash.bashrc
Recherchez ces lignes:
# 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
Décommentez quelques lignes, pour que cela ressemble à ceci:
# 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
Enregistrez, fermez le mastic, puis rouvrez-le.
Votre shell est peut-être celui par défaut /bin/sh
.
Vous pouvez le corriger en utilisant à la /bin/bash
place, à l'aide des commandes suivantes:
chsh
/bin/bash
Je sais que c'est une vieille question mais j'ai rencontré ce problème plusieurs fois et j'ai trouvé que la vraie solution n'était pas du tout du côté serveur mais elle était du côté client et c'est la première chose qui surgit lorsque j'ai cherché une solution au problème.
OK, l'OP mentionne qu'il utilise la version VPS d'Ubuntu. Cela me fait soupçonner qu'il exécute un serveur virtuel et parce qu'il a ce problème particulier, je parie que le serveur est hébergé localement. Lorsque j'ai rencontré cela dans le passé, cela est dû à un problème avec les outils VM. C'est ennuyeux car vous devrez redémarrer complètement le système d'exploitation hôte, mais après, vous devriez être bon. Vous voudrez peut-être simplement essayer d'arrêter VMware ou peut-être simplement que le débranchement de votre clavier fonctionnerait également, mais mon bureau démarre très rapidement, donc je fais généralement un redémarrage complet.
Dans mon cas particulier, ce problème se produit chaque fois que j'essaie d'installer la dernière version de Kubuntu à l'aide de la fonction d'installation rapide de VMware (qui échoue également BTW). Cela se produit même lorsque le serveur auquel je me connecte est un serveur distant. J'espère que cela aide quelqu'un.