當前位置: 首頁>>技術教程>>正文


退格鍵,製表符,刪除鍵和箭頭鍵在終端中不起作用(使用ssh)

, , ,

問題描述

當我使用我的帳戶(具有sudo權限)ssh到另一台Ubuntu計算機時,我的退格鍵在按下時會生成一些尷尬的符號。 Tab鍵,Del鍵和箭頭鍵也不起作用。

另一方麵,我在同一台機器上也有另一個帳戶。當我通過這個帳戶,它的終端工作得非常好。我無法弄清楚為什麽會這樣。

最佳解決辦法

編輯:參考:Mateng的answer

Mateng很接近,我認為你可能正在運行Bourne Shell。但是您不應該直接編輯/etc/passwd文件。請嘗試使用chsh命令:

chsh -s /bin/bash

-s標誌將使新的shell(在本例中為Bash)成為您的登錄shell,繼續前進。

次佳解決辦法

以下更改為我解決了問題。首先,我檢查了哪個shell正在運行:

$ echo $0

返回:

/bin/sh

正如我在此post in Ubuntuforums中讀到的那樣,將shell更改為/bin/bash會帶來解決方案。所以我在/etc/passwd中將我的用戶設置編輯為:

johndoe:x:1001:104:John Doe:/home/johndoe:/bin/bash

我退出了,然後再次登錄。奇怪的是,我必須通過輸入以下命令手動切換shell(可能有些緩存處於活動狀態):

/bin/bash

瞧! [問題是由於分發更新引起的。]

第三種解決辦法

當你第一次進入ssh時,嘗試這兩個命令

stty sane
export TERM=linux

我必須在一些機器上執行此操作,以便解決此問題

第四種辦法

解決此問題的最簡單方法之一是在命令行界麵提示符下鍵入/bin /bash:

$ /bin /bash

上述命令將在現有shell的頂部執行Bourne Again Shell作為子進程。這帶來了利用更多資源的缺點,但不需要編輯任何內容,也不需要特殊權限。例如,在最近的Kubuntu版本中,它將在默認的/bin /dash命令行shell接口上啟動/bin /bash會話。

但是,要保留更改,一種可能性是編輯/etc /passwd文件,並在與用戶對應的行中的最後一個’:’字符之後添加/編輯/替換默認shell到/bin /bash。但是,為了編輯此文件,需要管理員權限。

參考資料

本文由Ubuntu問答整理, 博文地址: https://ubuntuqa.com/zh-tw/article/2114.html,未經允許,請勿轉載。