自分のアカウントで(Sudo権限を持つ)別のUbuntuマシンにsshすると、バックスペースキーを押すといくつかの厄介な記号が生成されます。また、Tab、Del、および矢印キーは機能しません。
一方、同じマシン上に別のアカウントもあります。このアカウントを使用してsshを実行すると、その端末は完全に正常に動作します。なぜこれが起こっているのか分かりませんでした。
EDIT:参照:Matengの answer
Matengは、Bourne Shellを実行していると思われるという点で近いです。ただし、/etc/passwd
ファイルを直接編集しないでください。代わりにchsh
コマンドを使用してみてください。
chsh -s /bin/bash
-sフラグは、新しいシェル(この場合はBash)をログインシェルにして、先に進みます。
次の変更により、問題は解決しました。まず、どのシェルが実行されているかを確認しました。
$ echo $0
返された:
/bin/sh
これを読んでいると buntuforumsに投稿 で、シェルを/bin/bash
に変更することで解決できます。そこで、/etc/passwd
のユーザー設定を次のように編集しました。
johndoe:x:1001:104:John Doe:/home/johndoe:/bin/bash
ログアウトしてから、再度ログインしました。奇妙なことに、次のように入力して、シェルを手動で切り替える必要がありました(キャッシュがアクティブだったのかもしれません)。
/bin/bash
出来上がり!
[ディストリビューションの更新により問題が発生しました。]
最初にsshするとき、これらの2つのコマンドを試してください
stty sane
export TERM=linux
この問題を正確に修正するために、いくつかのマシンでこれを行う必要があります
この問題を修正する最も簡単な方法の1つは、コマンドラインインターフェイスのプロンプトで/ bin/bashと入力することです。
$/bin/bash
前述のコマンドは、既存のシェルの上にBourne Againシェルをサブプロセスとして実行します。これには、より多くのリソースを使用するというデメリットがありますが、編集する必要はなく、特別な権限は必要ありません。たとえば、最近のKubuntuバージョンでは、デフォルトの/ bin/dashコマンドラインシェルインターフェース上で/ bin/bashセッションを開始します。
ただし、変更を永続化するには、/ etc/passwdファイルを編集し、ユーザーに対応する行の最後の「:」文字の後にデフォルトのシェルを/ bin/bashに追加/編集/交換します。ただし、このファイルを編集するには、管理者権限が必要です。
上記のすべてに加えて( this link )のメモを試してみましたが、成功しませんでした。 vimがインストールされていることを確認してください。
通常、vimではなくviを使用します。そこで、vimをインストールしました。
$ Sudo apt-get install vim
その後、viを実行すると、キーボードストロークが正常に動作し始めました。次の出力を見ると、インストール後にviがvimのエイリアスになっているようです。
$ ls -al /etc/alternatives | grep vi
lrwxrwxrwx 1 root root 18 Jan 13 09:38 vi -> /usr/bin/vim.basic
「Gbnome Terminal」は「xterm」を正確にエミュレートしません..
from: Wikipedia >> GNOME Terminal
GNOMEターミナルはxtermターミナルエミュレータをエミュレートし、いくつかの同じ機能を提供します。
問題と解決策に関する論文はここにあります:
Linux Backspace/Delete mini-HOWTO
すべてのLinuxユーザーは、遅かれ早かれ、コンソールおよびXでBackspaceキーとDeleteキーを使用することが不可能に思われる状況に陥りました。このホワイトペーパーでは、これが発生する理由を説明し、解決策を提案します。ここで示した概念は、本質的にディストリビューションに依存しません。各ディストリビューションのシステム構成ファイルの内容が大きく異なるため、必要に応じて、読者に自分の修正を考えるのに十分な知識を与えようとします。
Backspaceキーは1文字戻り、カーソルの下の文字を消去する必要があると思います。一方、Deleteキーはカーソルの下の文字を移動せずに削除する必要があります。ほとんどのキーボードはBackspaceキーの左(←)を指す矢印を備えているにもかかわらず、2つのキーの機能を交換する必要があると思われる場合は、このペーパーではすぐに解決できるわけではありませんが、ここに記載されている説明が役立つ場合があります。
(ここで動作する可能性があります)最も簡単な解決策は、次を使用することです:bash $ export TERM = gnome
Rootユーザーとして、ユーザーの/ etc/passwdファイルを編集し、/ bin/shから/ bin/bashに変更します
hdfs:x:1020:1001 ::/home/hdfs:/ bin/sh to hdfs:x:1020:1001 ::/home/hdfs:/ bin/bash
これは私のために働いた。
これはキーボードとの互換性の問題、つまりホストシステムでの解釈方法です。コマンドモードのviエディターで移動するには、jまたはhを使用する必要がある場合があります。矢印は機能しません。
その特定のユーザーのホストシステムのプロファイル設定->互換性を確認します。
さて、これは言うごとに「解決策」ではないことを知っています。そして、それは多くのあなたを助けないかもしれません、しかし少なくとも1人のユーザーに役立つことを願っています。それは私の問題を解決しました。
私の6か月前のキーボードが私のキーボードで叩かれ、矢印キーがDebianボックスへのPuTTYセッションで動作しなくなりました。彼らは他のどこでも動作しました(PuTTY以外のすべてのプログラム)。グーグルで検索してここに着陸した後(このタブを閉じようとしていましたが、解決しませんでした)。私は何かを試しました。同じボックスへの新しいsshセッションを開き、矢印キーが機能しました。スクリーンセッションに参加しましたが、機能しませんでした。そのため、矢印キーを無効にする現在のスクリーンセッションに関連する何かが発生しました。残念なことに、私は大きなプロジェクトの途中で(スクリーンセッションで28個のウィンドウを開いていました)、セッションを閉じたくなく、28個のウィンドウすべてで場所を失いました。
そう..
Bashシェルで、Ctrl +上、下、左、右、ALT +上、下、左、右、SHIFT +上、下、左、右、CTRL + ALT +上、下など、考えられるすべての組み合わせを試しました、左、Ctrl + Shift +上、下、左、右など。幸運にも、上、下、左、右の順にWindowsメニューとWindowsアプリのキーを試しました。
今、私の矢印は再び機能します!上にあるものと矢印キーの組み合わせの1つに関する何かがそれを修正しました。
上記の答えのどれも私の同じ問題を解決しませんでした。つまり、Ubuntu(ここではncurses-6.0を備えたubuntu-17.10)にリモートで接続した後、バックスペースまたは同様のキーを使用できません。
最終的にterminfoの問題になります。基本的に、私のgnome-terminalは、xterm-256color端末(sshによってリモートにエクスポートされるTERM変数経由)であると言いますが、リモートにはxterm-256colorのterminfo設定がありません。
以下を行うことで問題が修正されました。
$ Host:echo $ TERM xterm-256color $ Host:infocmp> terminfo.src $ Host:tic terminfo.src $ホスト:scp .terminfo/x/xterm-256color $ remote:/ usr/share/terminfo/x/xterm-256color
infocmpは、オプションなしで、環境変数$ TERMに端末のソースリストを作成します。したがって、infocmp -I $ TERMと同等です。
次に、結果のソースがチックを介してコンパイルされます。
最後に、対応するterminfo構成をリモートの場所にインストールします。そのため、次に$ Hostを介して$ remoteに接続すると、私の端末が認識されます。