PuTTY: підключений до якогось сервера Ubuntu, іноді припиняє переходити до нового рядка при натисканні клавіші Enter


16

Я використовую PuTTY для SSH на якомусь сервері Ubuntu 14.04.4 LTS x64. Натискання клавіші ENTERпризводить до переходу терміналу на новий рядок. Однак час від часу частина програми виводить текст, а потім натискання клавіші ENTERбільше не змушує термінал переходити до нового рядка (див. Демонстрацію нижче).

введіть тут опис зображення

Чи є спосіб запобігти тому, або принаймні натискання клавіші ENTERбільше не змушує термінал переходити на новий рядок, чи все-таки слід скинути термінал, щоб ENTER змусити термінал знову перейти до нового рядка?


2
Франк - Коли це станеться, натисніть Ctrl+C, а потім введіть resetі натисніть Enter. Дайте мені знати, якщо це допомагає.
Pimp Juice IT

@Facebook Спасибі, введіть resetі натисніть Enterроботи!
Франк Дернонкур

Крім того, подайте звіт про помилку проти цієї glancesпрограми щодо залишення терміналу у поганому стані після збоїв;)
marcelm

За збігом обставин, подібне питання щойно з’явилося на Unix & Linux Stack Exchange: unix.stackexchange.com/questions/398291
JdeBP

Подумайте про використання cygwin та встановлення терміналу. Шпаклівка дуже жахлива. Наприклад, mc не відобразиться правильно і не дозволить вам вибирати файли зі зрушенням.
JorgeeFG

Відповіді:


25

Ви можете скористатися командою скидання , ввівши resetпотім клавішу, Enterколи виникає, щоб скинути термінал, щоб він перейшов у новий рядок при Enter повторному натисканні .

Командування

ubuntu@db200krctc:~$ ubuntu@db200krctc:~$ ubuntu@db200krctc:~$ ubuntu@db200krctc:~$
ubuntu@db200krctc:~$ reset
ubuntu@db200krctc:~$
ubuntu@db200krctc:~$
ubuntu@db200krctc:~$

Подальші ресурси

  • скинути

    Коли викликається як скидання, tset встановлює приготовлені та ехорежими , вимикає режими зриву та необробленого режиму, включає переклад нового рядка та скидає будь-які невідомі спеціальні символи до їх значень за замовчуванням перед тим, як зробити ініціалізацію термінала, описану вище. Це корисно після вмирання програми, залишаючи термінал у ненормальному стані.


16

У resetцій конкретній справі команда робить більше, ніж вам дійсно потрібно, оскільки ваша проблема полягає лише в тому, що відлуння було вимкнено. resetнасправді випромінює послідовності управління, щоб скинути сам термінал, коли все, що вам потрібно, це перенастроїти лінійку дисципліни в ядрі операційної системи, увімкнувши ехо-режим і зовсім не торкаючись терміналу .

Для цього просто використовуйте:

stty sane
або навіть просто:

stty echo

resetрозглядає ситуації, коли фактично власне стан терміналу потребує перезавантаження, а не (просто) стан лінійної дисципліни; тобто стільниці вкладки були стерті, термінал залишається переключеним на альтернативний буфер екрану, замінено незручний 8-бітний набір символів тощо.

Подальше читання


Як насправді в ядрі є дисципліна ліній? Ця відповідь звучить мені правильно, за винятком тієї частини, в якій я дуже сумнівна.
Стівен Остерміллер

@StephenOstermiller: Де б це було ще?
psmears

3
Лінія дисципліни насправді є одним з перших драйверів ядра, які колись можна було налаштувати з простору користувача, Unix мав sttyі gtty(встановлював та отримував) системні виклики задовго до того, як їх замінили більш загальні ioctlвиклики.
Гунтрам Блом підтримує Моніку

6
Це має сенс, тому що він не залежить від оболонки, тому він працюватиме і в інших програмах. А в перші дні не було термінальної програми, так би мовити - послідовні консолі безпосередньо взаємоділи б з ядром (і справді все ще можуть).
Muzer

1
Для уточнення: За старих часів тильною стороною / dev / tty був фізичний серійний порт. Лінія дисципліни керувала драйвером ядра tty. З фальшивим сеансом терміналу або сеансом мережевого терміналу / dev / tty є psuedo-терміналом, і його зворотною стороною є не фізичний послідовний порт, а інший головний пристрій пседуо, з якого дані сеансу зчитуються / записуються та передаються в мережевий сокет або термінальний емулятор Сторона / dev / tty в псевдотерміналі поводиться так само, як і / dev / tty зі сторони реального послідовного порту. en.wikipedia.org/wiki/Pseudoterminal
Сем Ліддікотт
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.