私のアカウント(sudo権限を含む)を使用してDebianがある他のコンピュータでsshを使用している場合、バックスペースキーを押すと奇妙なシンボルが生成されます。そしてTab&delキーも機能しません。
一方、同じコンピュータに別のアカウントがあり、このアカウントでsshを実行すると、その端末は正常に動作します。なぜこれが起こるのかわかりません。
答え1
「stty」ソリューションに加えて、「TERM」ソリューションを試すこともできます。
TERM環境変数を介して機能(バックスペースやタブなどのキーを含む)を通知する端末(putty、Solaris dterm、debain xterm、you-name-it)からDebianにSSHを介して接続します。
したがって、Unixホストにsshした後(Debianや他のホストに依存しない)、端末に応じてTERM変数を設定してください。 bashをシェルとして使用し、vt100を端末として使用するとします。
export TERM=vt100
ps:TERMはsshを介して自動的に発表されるはずですが、場合によってはこの魔法は失敗します。
答え2
私は前にこの問題を見たことがあります。
バックスペースキーを例にすると、リモートホストは「erase / backspace」などの特定の文字を期待します。端末でバックスペースキーを押すと、リモートホストが次のことを期待すると、端末プログラムはリモートホストにいくつかの文字を送信します。文字この問題は、ターミナルプログラムがリモートホストが期待するものとは異なる文字を送信したときに発生します。したがって、クイック修正は次のようになります。
- リモートホストでコマンドを実行し
#stty -a
、出力で予想される削除コードを見つけます。説明するerase=^?
。 - ターミナルでCtrl+を押し、vバックスペースを押します。 「削除」を送信するコードが表示されます。だと答えてください
^H
。 - リモートホストでを実行します
#stty erase ^H
。
(注:Ctrlv+を使用してBackspace^を手動で入力しないでください。)
上記と同じ方法を使用して、タブの問題を解決できます。
答え3
これは、基本シェルがあるためです。使用するには、sh
シェルでbash
実行します。bash
bash
bash
デフォルトのシェルとして設定:
chsh -s /bin/bash
または
sudo chsh -s /bin/bash yourusername
答え4
/bin/sh
あなたのシェルはおそらく次のように設定されているでしょう。/bin/bash