web-dev-qa-db-ja.com

SSHでタブ補完が機能しない

Ubuntuマシンにサーバーとしてgitリポジトリをセットアップします。これはホームネットワーク上にあります。次に、同じコンピューターまたは別のホームコンピューターからこのリポジトリにSSHで接続します。ログインは問題ありません。ただし、端末でファイル名またはディレクトリ名の一部を入力してから、 tab、通常のように完全なファイル名またはディレクトリ名を表示せずに、カーソルが端末上で右に移動します。

SSHサーバーを終了した後、 tab キーは正常に機能します。

編集:

また、 、 、  そして  キーが機能しません。これのいずれかを押すと、ターミナルでこれらを取得します。

$ ^[[A^[[D^[[C^[[A

理由は何でしょうか?

追加:

$ env

MAIL=/var/mail/git
USER=git
SSH_CLIENT=10.0.0.250 42342 2222
J2SDKDIR=/usr/lib/jvm/Java-8-Oracle
J2REDIR=/usr/lib/jvm/Java-8-Oracle/jre
HOME=/home/git
SSH_TTY=/dev/pts/5
LOGNAME=git
TERM=xterm-256color
XDG_SESSION_ID=93
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/lib/jvm/Java-8-Oracle/bin:/usr/lib/jvm/Java-8-Oracle/db/bin:/usr/lib/jvm/Java-8-Oracle/jre/bin
DERBY_HOME=/usr/lib/jvm/Java-8-Oracle/db
XDG_RUNTIME_DIR=/run/user/1001
LANG=en_US.UTF-8
Shell=/bin/sh
PWD=/home/git
Java_HOME=/usr/lib/jvm/Java-8-Oracle
SSH_CONNECTION=10.0.0.250 42342 10.0.0.250 2222
4
martin

現在のシェルが問題です。 shコマンドの出力に見られるように、現在envをデフォルトのシェルとして使用しています:

Shell=/bin/sh

問題を解決するには、これらのキー入力をサポートする別のシェル(例として使用するbashなど)に変更する必要があります。これを行うには、chshユーティリティ(シェルを変更)を使用する必要があります。

例:

$ which bash
  /bin/bash
$ chsh -c /bin/bash 

これにより、ユーザーのデフォルトのシェル環境が更新されます(詳細については こちら を参照してください)。新しいシェルにロードするには、ログアウト/ログインするか、新しいセッションを開始する必要があります。

または、パスを見つけて現在のシェルから実行することにより、別のシェルを利用できます。例として、ここではshからbashに変更しています。

$ which bash
  /bin/bash
$ /bin/bash

chris@loki:~$ 

お役に立てれば!

7