自分のアカウントで(sudo権限を持つ)別のUbuntuマシンにsshすると、バックスペースキーを押すと、厄介な記号が生成されます。また、Tab、Del、および矢印キーは機能しません。
一方、同じマシン上に別のアカウントもあります。このアカウントを使用してsshを実行すると、端末は完全に正常に動作します。なぜこれが起こっているのかわかりませんでした。
自分のアカウントで(sudo権限を持つ)別のUbuntuマシンにsshすると、バックスペースキーを押すと、厄介な記号が生成されます。また、Tab、Del、および矢印キーは機能しません。
一方、同じマシン上に別のアカウントもあります。このアカウントを使用してsshを実行すると、端末は完全に正常に動作します。なぜこれが起こっているのかわかりませんでした。
回答:
編集:参照:Matengの答え
Matengは、Bourne Shellを実行していると思われるという点で近いです。ただし、/etc/passwd
ファイルを直接編集しないでください。chsh
代わりにコマンドを使用してみてください。
chsh -s /bin/bash
-sフラグは、新しいシェル(この場合はBash)をログインシェルにして、先に進みます。
sudo chsh -s /bin/bash
次の変更により、問題は解決しました。最初に、実行されているシェルを確認しました。
$ echo $0
返された:
/bin/sh
Ubuntuforumsのこの投稿を読んで、シェルを変更し/bin/bash
て解決策をもたらしました。そこで、ユーザー設定を次の/etc/passwd
ように編集しました。
johndoe:x:1001:104:John Doe:/home/johndoe:/bin/bash
ログアウトしてから、再度ログインしました。奇妙なことに、次のように入力して、シェルを手動で切り替える必要がありました(キャッシュがアクティブだったのかもしれません)。
/bin/bash
出来上がり!
[配布の更新により問題が発生しました。]
最初にsshするときに、次の2つのコマンドを試してください
stty sane
export TERM=linux
この問題を正確に修正するために、いくつかのマシンでこれを行う必要があります
stty erase <backspace>
(あなたが実際にキーを打つ。ここで、<バックスペース>である)
$ stty erase '^[[A' stty: invalid integer argument '\033[A'
。[Backspace]を使用:$ stty erase '^?'
動作します。[Tab]の場合:$ stty erase ' '
エラーはありませんが、[Backspace]は奇妙な動作に戻ります。
export TERM=VT100
が、役に立ちませんでした。
stty tab0
助けにならない。xtermの何らかの一般的な再構成が必要だと思います。または、キーマップが間違っていますか?
この問題を解決する最も簡単な方法の1つは、コマンドラインインターフェイスプロンプトで/ bin / bashと入力することです。
$ / bin / bash
前述のコマンドは、サブプロセスとして既存のシェルの上にBourne Againシェルを実行します。これには、より多くのリソースを使用するというデメリットがありますが、編集する必要はなく、特別な権限は必要ありません。たとえば、最近のKubuntuバージョンでは、デフォルトの/ bin / dashコマンドラインシェルインターフェイスの上で/ bin / bashセッションを開始します。
ただし、変更を永続化するには、/ etc / passwdファイルを編集し、ユーザーに対応する行の最後の「:」文字の後にデフォルトシェルを/ bin / bashに追加/編集/交換します。ただし、このファイルを編集するには、管理者権限が必要です。
「Gbnomeターミナル」は「xterm」を正確にエミュレートしません。
GNOMEターミナルはxtermターミナルエミュレータをエミュレートし、同じ機能のいくつかを提供します。
問題と解決策に関する論文はここにあります:
Linux Backspace / Delete mini-HOWTO
すべてのLinuxユーザーは、遅かれ早かれ、コンソールとXでBackspaceキーとDeleteキーを使用することが不可能に思われる状況に陥りました。このホワイトペーパーでは、これが発生する理由を説明し、解決策を提案します。ここで示されている概念は、本質的にディストリビューションに依存しません。各ディストリビューションのシステム構成ファイルの内容が大きく異なるため、必要に応じて読者に自分の修正を考えるのに十分な知識を与えようとします。
Backspaceキーは1文字戻り、カーソルの下の文字を消去する必要があると思います。一方、Deleteキーはカーソルの下の文字を移動せずに削除する必要があります。ほとんどのキーボードはBackspaceキーの左(←)を指す矢印を備えているにもかかわらず、2つのキーの機能を交換する必要があると思われる場合は、このペーパーではすぐに解決できるわけではありませんが、ここに記載されている説明が役立つ場合があります。
最も簡単な解決策(ここで機能する可能性があります)は、bash $ export TERM = gnomeを使用することです。
上記のすべてに加えて(このリンク)からのメモを試しましたが、成功しませんでした。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
これは、キーボードとの互換性の問題、つまりホストシステムでの解釈方法です。コマンドモードのviエディターで移動するには、jまたはhを使用する必要がある場合があります。矢印は機能しません。
その特定のユーザーのホストシステムのプロファイル設定->互換性を確認します。
さて、これは言うごとに「解決策」ではないことを知っています、そしてそれはあなたの多くを助けないかもしれませんが、うまくいけばそれはあなたの少なくとも1人を助けるでしょう。それは私の問題を解決しました。
私の6か月前はキーボードを叩き、矢印キーはDebianボックスへのパテセッションで動作しなくなりました。彼らは他のどこでも動作しました(パテ以外のすべてのプログラム)。グーグルで検索してここに着陸した後(このタブを閉じようとしていましたが、解決しませんでした)。私は何かを試しました。同じボックスへの新しい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 $ host:scp .terminfo / x / xterm-256color $ remote:/ usr / share / terminfo / x / xterm-256color
infocmpは、オプションなしで、環境変数$ TERMに端末のソースリストを作成します。したがって、infocmp -I $ TERMと同等です。
次に、結果のソースがチックを介してコンパイルされます。
最後に、対応するterminfo構成をリモートロケーションにインストールします。そのため、次に$ hostを介して$ remoteに接続すると、私の端末が認識されます。