PuTTYを使用してUbuntuサーバー(VPS)に接続しています。 Ubuntu Serverでコマンドラインを使用しているときにTab-Completionを使用したいのですが、どうすれば設定できますか?
タブ補完はPuTTYで機能するはずです。タブ補完は、PuTTY自体ではなく、サーバーで実行しているシェルによって提供されます。質問を編集し、使用しているシェルや、タブ補完を使用しようとすると特に何が起こるかなど、詳細を入力してください。
これには興味深いバリエーションがあり、rootでは機能しましたが、個人ユーザーでは機能しませんでした。これは、kroweが示唆したように、Debianを実行しているVirtualBox上のローカルVMです。同じ接続を使用したため、問題はサーバー側にある必要がありました。
結局のところ、個人ユーザーが/ bin/shを持っているのに対し、rootは/ etc/passwdに/ bin/bashを持っているという違いがありました。
デフォルトのシェルを/ bin/bashに変更は問題を解決しました。
WindowsでPuTTYを実行すると同じ問題が発生し、時々、 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
保存してPuTTYを閉じ、再度開きます。
シェルがデフォルトの/bin/sh
である可能性があります。
次のコマンドを使用して、代わりに/bin/bash
を使用して修正できます。
chsh
/bin/bash
私はこれが古い質問であることを知っていますが、この問題に何度か遭遇しましたが、本当の解決策はサーバー側ではなくクライアント側にあることがわかりました。これは私が検索したときに最初に出てくる問題です問題の解決策。
OK、OPはUbuntuのVPSバージョンを使用していると述べています。これは、彼が仮想サーバーを実行していることを疑わしくさせ、彼がこの特定の問題を抱えているので、サーバーがローカルでホストされているに違いないと思います。過去にこれに遭遇したときは、VM toolsの問題が原因です。ホストOSを完全に再起動する必要があるため、それは問題ありませんが、その後は問題ありません。 VMwareをシャットダウンしてみたり、キーボードを取り外したりするだけでも問題はないかもしれませんが、デスクトップの起動が非常に速いため、通常は完全に再起動します。
私の特定のケースでは、この問題が発生しますevery VMwareクイックインストール機能を使用して最新のKubuntuリリースをインストールしようとしています(BTWにも失敗します)。接続しているサーバーがリモートサーバーの場合にも発生します。これが誰かを助けることを願っています。
キーボードの下のPuTTYで、[Linux]を選択します。次に、[機能]で[別のウィンドウへの切り替えを無効にする]を選択します。
ADBPuttyで働いた