Backspace, Tab, Del и клавиши со стрелками не работают в терминале (с использованием ssh)

Я думаю, вы правы. Он уничтожит доступное дисковое пространство, а не системные файлы или личные файлы. Если очистка не изменилась со дня 9.10, это «должно» быть хорошим в использовании. В качестве побочной заметки в репозиториях есть другие утилиты, которые работают как bleachbit, если безопасность для вас является фактором.

1
задан 31 October 2012 в 02:42

9 ответов

Следующие изменения решили проблему для меня. Во-первых, я проверил, какая оболочка была запущена:

$ echo $0

, которая вернулась:

/bin/sh

Как я читал в этом сообщении в Ubuntuforums, смена оболочки на /bin/bash решение. Поэтому я отредактировал свои пользовательские настройки в /etc/passwd, чтобы:

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

Я вышел из системы, а затем снова вошел в систему. Как ни странно, мне пришлось вручную переключать оболочку (возможно, какой-то кеш был активен), введя это:

/bin/bash

Voila! [Проблема возникла из-за обновления распространения.]

16
ответ дан 25 May 2018 в 08:39

, когда вы впервые входите в ssh, попробуйте эти две команды

stty sane
export TERM=linux

Я должен сделать это на некоторых машинах, на которых я вхожу, чтобы исправить эту проблему

11
ответ дан 25 May 2018 в 08:39
  • 1
    Я пробовал это, но проблема сохраняется – Mateng 26 October 2012 в 18:44
  • 2
    вы пробовали термин как VT100 вместо linux? как насчет stty erase <backspace> (& lt; backspace & gt ;, где вы на самом деле нажали клавишу) – Drake Clarris 26 October 2012 в 20:57
  • 3
    С помощью (Стрелка вверх): $ stty erase '^[[A' stty: invalid integer argument '\033[A'. С [Backspace]: $ stty erase '^?' он работает. С [Tab]: $ stty erase ' ' нет ошибки, но затем [Backspace] возвращается к нечетному поведению. – Mateng 26 October 2012 в 21:10
  • 4
    Я попробовал export TERM=VT100, но безуспешно. – Mateng 26 October 2012 в 21:15
  • 5
    stty tab0 не помогает. Я предполагаю, что какая-то общая реконфигурация xterm необходима. Или ключевая карта просто ошибается? – Mateng 29 October 2012 в 22:02

Один из самых простых способов исправить эту проблему - ввести / bin / bash в командной строке командной строки:

$ / bin / bash

Вышеупомянутая команда будет выполните оболочку Bourne Again Shell поверх существующей оболочки в качестве подпроцесса. Это представляет собой недостаток использования большего количества ресурсов, но ничего не нужно редактировать и специальных разрешений не требуется. Например, в последних версиях Kubuntu он запускает сеанс / bin / bash поверх интерфейса оболочки командной строки по умолчанию / bin / dash.

Однако для сохранения изменений одна из возможностей заключается в редактировании / etc / passwd и добавьте / отредактируйте / замените оболочку по умолчанию на / bin / bash после последнего символа «:» в строке, соответствующей пользователю. Однако для редактирования этого файла потребуются права администратора.

2
ответ дан 25 May 2018 в 08:39

«Терминал Gbnome» не точно эмулирует «xterm» ..

из: Wikipedia >> Терминал GNOME

Терминал GNOME эмулирует эмулятор терминала xterm и предоставляет некоторые из тех же

GNOME Terminal эмулирует эмулятор терминала xterm и предоставляет некоторые из тех же функций.

Wikipedia> > GNOME Terminal

Каждый пользователь Linux рано или поздно оказался в ловушке ситуации, когда работа с клавишами Backspace и Delete на консоли и на X казалась невозможной. В этой статье объясняется, почему это происходит, и предлагает решения. Представленные здесь понятия по существу не зависят от распределения: из-за очень различного содержания файлов конфигурации системы в каждом дистрибутиве я постараюсь дать читателю достаточно знаний, чтобы придумать свои собственные исправления, если это необходимо. Я предполагаю, что клавиша Backspace должна возвращать один символ, а затем стирать символ под курсором. С другой стороны, клавиша Delete должна удалять символ под курсором, не перемещая его. Если вы считаете, что функция двух ключей должна быть заменена, несмотря на то, что на большинстве клавиатур есть стрелка, указывающая влево (←) на клавишу Backspace, тогда эта статья не даст вам немедленных решений, но, безусловно, вы могут найти объяснения, приведенные здесь полезными.

Самое простое решение (которое может работать здесь) заключается в использовании: «Терминал Gbnome» не совсем эмулирует «xterm» ..

1
ответ дан 25 May 2018 в 08:39

Как пользователь root редактирует файл / etc / passwd для вашего пользователя и меняет / bin / sh на / bin / bash

hdfs: x: 1020: 1001 :: / home / hdfs: / bin / sh to hdfs: x: 1020: 1001 :: / home / hdfs: / bin / bash

Это сработало для меня.

1
ответ дан 25 May 2018 в 08:39

Это проблема совместимости с клавиатурой, то есть как она интерпретируется в хост-системе. Возможно, вам придется использовать j или h для перемещения в редакторе vi в командном режиме. Стрелки не будут работать.

Проверьте настройки профиля -> совместимость в главной системе для этого конкретного пользователя.

0
ответ дан 25 May 2018 в 08:39

Я пробовал все вышеупомянутые плюсовые заметки (эта ссылка) без успеха. Вы можете проверить, установлен ли vim.

Обычно я использую vi not vim. Поэтому я установил 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
0
ответ дан 25 May 2018 в 08:39

Хорошо, я знаю, что это не «решение» для каждого, и это может не помочь многим из вас, но, надеюсь, это поможет хотя бы одному из вас. Это устранило мою проблему.

Мой шестимесячный старик ударил меня по клавиатуре, и мои клавиши со стрелками перестали работать на моей сессии шпатлевки в поле Debian. Они работали везде (все остальные программы за пределами шпатлевки). После Googleing и даже приземления здесь (я собирался закрыть эту вкладку, это не решило для меня). Я что-то пробовал. Я открыл новую сессию ssh в том же поле, и мои клавиши со стрелками работали. Я присоединился к сеансу экрана, и они не сработали. Так что что-то только что произошло, связанное с текущей сеансом экрана, отключение клавиш со стрелками. К сожалению, я был (я) в середине большого проекта, на моем сеансе экрана открылось 28 окон, и я не хотел закрывать сеанс, теряя место на всех 28 окнах.

Итак ..

Находясь в оболочке bash, я пробовал все комбинации, о которых я мог думать, CTRL + вверх, вниз, влево, ALT + вверх, вниз, влево, правый, SHIFT + вверх, вниз, влево вправо, CTRL + ALT + вверх, вниз, влево вправо, CTRL + SHIFT + вверх, вниз, влево вправо и т. д. Все еще не повезло, я также пробовал окна меню и клавиши приложения Windows с , вниз, влево вправо.

Теперь мои стрелы снова работают! Что-то в одной из комбинаций того, что выше, и клавиши со стрелками зафиксировали его.

0
ответ дан 25 May 2018 в 08:39

Ни один из ответов выше не исправил мою идентичную проблему, т. е. не может использовать backspace или подобные ключи после sshing на удаленный от Ubuntu (здесь ubuntu-17.10 с ncurses-6.0).

проблема с terminfo. В принципе, мой гном-терминал говорит, что это терминал xterm-256color (через переменную TERM, которая экспортируется ssh на удаленный), но у удаленного не было конфигурации terminfo для xterm-256color.

Выполнение следующего исправлено:

$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.

Затем результирующий источник скомпилирован через tic.

Наконец, установите соответствующую конфигурацию terminfo в удаленное местоположение. Итак, в следующий раз, когда я подключусь к $ remote через $ host, он будет знать о моем терминале.

0
ответ дан 25 May 2018 в 08:39
  • 1
    Что делает ваш блок кода? создать термин config как-то? Было бы неплохо иметь какое-то объяснение, запуск тайного кода - не самая лучшая идея, даже их страницы-сотрудники не очень понятны по умолчанию для infocmp или как это полезно – Xen2050 21 December 2017 в 05:02
  • 2
    @ Xen2050: Я добавил объяснение для каждой команды. infocmp без какой-либо опции эквивалентен infocmp -I $ TERM. Это описано на странице руководства, но в двух частях: «Если не заданы никакие параметры и не заданы нулевые или одно имя термина, будет считаться опция -I. [...] Параметры -I, -L и -C создадут список источников для каждого указанного терминала. -Я использую имена terminfo. Если никакие термины не указаны, переменная среды TERM будет использоваться для имени терминала. & Quot; – user1448926 7 March 2018 в 19:59

Другие вопросы по тегам:

Похожие вопросы: