Вы открыли терминал Linux, чтобы создать файл сценария, но терминал продолжает зависать или не распознает то, что вы печатаете? Использование команд терминала — наиболее эффективный способ навигации по всем дистрибутивам Linux.
Даже самые лучшие инструменты имеют свои недостатки. В этой статье будут рассмотрены простые способы устранения проблемы с вводом текста в терминале на устройствах Linux.
Почему вы не можете печатать в терминале Linux?
Оболочка BASH, предоставляемая Linux, является самым мощным из когда-либо существовавших терминалов и имеет больше возможностей, чем Microsoft PowerShell.
Опытные пользователи Linux сталкиваются с проблемами, когда некоторые клавиши клавиатуры не распознаются или разные управляющие символы неуместны при использовании терминала.
Изучив некоторые из лучших ответов на ветку вопросов, предоставленных онлайн-сообществом, вот несколько причин, по которым проблема «Не удается ввести в терминале» возникает в Linux:
- Окно терминала может быть не выбрано или запущено в режиме только для чтения, пока вы вводите команды.
- Из-за какой-то неизвестной записи в файлах конфигурации терминала терминал может игнорировать любое нажатие клавиши или неправильно понимать управляющий символ.
- В качестве меры безопасности курсор терминала не будет отображать символы клавиатуры при вводе паролей в оболочке входа в систему.
- Фоновые процессы или задачи, запущенные в другом окне терминала, могут привести к зависанию текущего из-за интенсивного использования жесткого диска.
- Некоторые встроенные текстовые редакторы Linux, такие как vim, не отображают то, что вы вводите в командном режиме.
- Неисправная клавиатура или другие аппаратные сбои могут привести к невозможности печатать на терминале в Linux.
Как исправить проблему с набором текста в терминале в Linux?
- Проверьте, находится ли окно терминала Linux в фокусе
- Проверьте, вводите ли вы пароль при входе в систему
- Перезапустите терминал Linux.
- Проверка на прерывание от фоновых операций
- Отключить режим только для чтения
- Проверка на сбой при использовании Linux через SSH-соединение
- Проверьте и отредактируйте системный файл. inputrc
- Закройте другие запущенные приложения, чтобы снизить нагрузку на жесткий диск.
- Убедитесь, что ваша клавиатура и другое устройство ввода правильно подключены
- Файлы конфигурации терминала аппаратного сброса
- Перезагрузите операционную систему Linux
1. Проверьте, находится ли окно терминала Linux в фокусе
Во время многозадачности вы можете столкнуться с проблемой «Невозможно ввести терминал в Linux» просто потому, что окно терминала, в которое вы собираетесь отправить сигнал клавиатуры, не выбрано / не в фокусе.
- Прежде чем вводить какие-либо команды, щелкните один раз в окне терминала, чтобы выбрать его и дать Linux правильное объяснение того, где вы хотите написать.
- Другой вероятной причиной этой проблемы является постоянное вмешательство некоторых приложений, работающих в фоновом режиме. Узнайте, удерживает ли всплывающее окно терминал не в фокусе.
- Из-за невидимых правил управления окнами терминалы KDE часто сталкиваются с проблемой Cant Type in Terminal в Linux.
- Такое правило никогда не сможет дать вашему терминалу фокус, поместить его в предустановленное место или автоматически свернуть.
- Чтобы просмотреть эти правила, щелкните правой кнопкой мыши строку заголовка окна терминала > Дополнительные действия > Параметры приложения.
- Убедитесь, что все флажки на вкладке «Размер и положение» сняты.
- Перейдите в раздел «Внешний вид и исправления» и включите «Предотвращение кражи» и «Защиту фокуса».
- Выберите Запомнить для каждого.
- Нажмите OK, чтобы выйти.
2. Проверьте, вводите ли вы пароль при входе в систему
Столкновение с проблемой «Невозможно ввести терминал» в Linux является нормальным явлением, если вы вводите пароль:
- Из соображений конфиденциальности Linux не отображает пароль на терминале, когда вы пытаетесь использовать команду с аутентификацией root, например, sudo nano /etc/hosts.
- В то время как ввод пароля в другом месте может отображать звездочки или точки, терминал Linux не будет отображать ничего в качестве надежной меры безопасности.
- Чтобы обойти эту ситуацию, введите пароль в оболочке входа и нажмите Enter.
- Если ваш пароль неверный, нажмите Ctrl + Z или Ctrl + C, чтобы остановить процесс в терминале любого типа.
3. Перезапустите терминал Linux.
Проблема «Невозможно ввести терминал» может возникнуть при эмуляции терминала Linux через подсистему Windows для Linux (WSL). Простой перезапуск терминала решит эту проблему:
- Закройте окно терминала, нажав кнопку «Выход» в правом верхнем углу.
- Вы также можете ввести exit в терминале и нажать Enter.
- Перезапустите терминал с помощью команды wsl в PowerShell или запустите установленное ядро Linux из меню «Пуск».
4. Проверить прерывание фоновых операций
Мы часто недооцениваем, сколько времени потребуется для выполнения конкретных задач. Если после выполнения команды ваш терминал завис и больше не реагирует на сигналы клавиш, возможно, он не выполнил свою предыдущую задачу:
- Нажмите на неотвечающий терминал и одновременно нажмите клавиши Ctrl + Z, чтобы приостановить любую запущенную или ожидающую задачу.
- Если ваш терминал восстанавливается после зависания, запустите команду bg, чтобы возобновить выполнение задачи в фоновом режиме.
- Вы также можете нажать Ctrl + C, чтобы остановить запущенный процесс и выйти из приложения. Принудительное закрытие удалит всю несохраненную работу.
5. Отключить режим только для чтения
Терминал gnome, используемый Ubuntu, обеспечивает режим только для чтения, что может привести к проблеме Cant Type in Terminal в Linux:
- Включение режима только для чтения отменяет любой сигнал клавиатуры на терминале.
- Вы можете отключить его, щелкнув значок «Меню» в строке заголовка терминала и отключив функцию «Только чтение».
6. Проверьте наличие сбоев при использовании терминала через SSH-соединение.
При удаленном использовании оболочки Linux через соединение SSH любые сбои в сети или резкое завершение сеанса могут привести к зависанию терминала Linux или невозможности увидеть, что вы печатаете:
- Выполнить «~». или используйте комбинацию Ctrl + D, чтобы завершить активный сеанс SSH. Войдите снова, используя свои учетные данные.
- Введите stty sane и нажмите Enter. Эта команда stty вернет все настройки терминала к значениям по умолчанию.
- Если терминал по-прежнему зависает, перезагрузите хост-компьютер или маршрутизатор.
- Обратитесь к своему интернет-провайдеру, чтобы найти любую проблему с подключением, если терминал ведет себя резко или коротко отвечает.
7. Проверьте и отредактируйте системный файл. inputrc
Если вы можете печатать в терминале, но некоторые символы не отображаются, ваш файл конфигурации терминала «.inputrc» может быть поврежден.
- В прошлом вы могли случайно отфильтровать некоторые символы из-за неверного ввода параметра.
- Например, использование bind TAB:menu-complete вместо просто TAB:menu-complete будет игнорировать сигналы клавиатуры с буквой «b», потому что «bind» не является распознаваемым ключевым словом в файле. входной код.
- Используйте любой редактор Linux, чтобы проверить «~/.inputrc» и «/etc/inputrc». Удалите все, что вы ранее набрали, или любой символ, который кажется вам необычным, и сохраните его.
8. Закройте другие запущенные приложения, чтобы снизить нагрузку на жесткий диск.
Многозадачность на устройстве Linux может показаться простой, но одновременный запуск многих ресурсоемких приложений может вызвать проблему «Невозможно ввести текст в терминале» в Linux.
- Вы всегда можете выйти из задач, которые не отвечают или выполняются слишком долго, нажав сочетания клавиш Ctrl + C.
9. Убедитесь, что ваша клавиатура и другое устройство ввода правильно подключены
Трудно поверить в наиболее правдоподобное объяснение, но невозможность ввода текста в терминале Linux может быть связана с неисправным соединением между клавиатурой и последовательным портом USB или поврежденными клавишами клавиатуры:
- Подключите любую внешнюю клавиатуру и попробуйте ввести текст в терминале.
- Проблема в неисправной клавиатуре, если вы можете успешно печатать сейчас.
- Обратитесь к специалисту по ПК, чтобы найти проблемы с внутренней клавиатурой.
10. Файлы конфигурации терминала аппаратного сброса
Сброс настроек терминала до значений по умолчанию часто является лучшим решением для устранения проблемы с набором текста в терминале в Linux.
- Когда терминал открыт, введите reset и нажмите Enter.
- Вы также можете запустить команду reset -c, чтобы просто сбросить символы, ответственные за эту проблему.
11. Перезагрузите операционную систему Linux.
Как последний вариант, полностью перезагрузите Linux. Проблема может быть не связана с терминалом. Что-то еще могло вызвать зависание системы. Если все другие решения не помогли, перезапустите всю систему, а не только экземпляр терминала.
- Введите reboot в терминале и нажмите Enter.
Заключение
Хотя проблема «Невозможно ввести текст в терминал» в Linux может показаться сложной для решения, мы надеемся, что решения, представленные в этой статье, помогут вам быстро вернуться к задаче написания сценариев.