Зміна емуляторів терміналу


10

У мене є ssh доступ до віддаленої машини. У цій машині, якщо я запускаю, echo $TERMя потрапляю xterm.

Якщо я хочу змінити емулятор терміналу на інший емулятор (якщо припустити, що він встановлений на віддаленій машині), як би це зробити?

Відповіді:


15

Значення змінної середовища TERM використовується сервером (у системі V або BSD, похідних ОС) для управління тим, як вхід розпізнається системою та які можливості існують для виведення. Деякі типи терміналів досить схожі, що їх можна міняти, залишаючись корисними, а інші можуть зробити систему непридатною, поки ви не відкриєте нове з'єднання з підтримуваним значенням для TERM. Наприклад, від однієї системи Linux до іншої, ви, мабуть, відчуєте дуже невелику різницю між налаштуваннями vt100, vt220 та xterm. Більшість відмінностей полягають у тому, як відображається вихід, і чи доступні кольори або жирні шрифти для цього типу терміналу. У базі даних termcap перераховані всі типи терміналів з різними можливостями.

Поки ви не переключитесь на тип терміналу, з яким ваша клавіатура та екран не сумісні, ви будете добре.

читайте довідкову сторінку щодо терміна та термінакап у своїй системі для отримання додаткової інформації.

Щоб змінити тип терміналу:

в баші:

export TERM=vt100

в бурновій оболонці або ksh:

TERM=vt100
export TERM

в csh або tcsh:

setenv TERM vt100

vt100це досить безпечний термінал, з яким можна почати грати. він сумісний з xterm, але він не відображає кольори або жирних шрифтів і може не розпізнавати ваші клавіші F *, але ви навряд чи дійсно щось зіпсуєте за допомогою vt100.

Дуже багато людей використовують виявлення терміналу в персональних сценаріях init, щоб оптимізувати свою роботу користувачів залежно від того, як вони входять у сервер. Наприклад, встановіть звичайний PS1, якщо ви використовуєте vt100, використовуйте кольорові та динамічні змінні, коли використовуєте bash в xterm.

Успіхів у ваших дослідженнях.


3
@intrpc Зауважте, що досить рідко потрібно змінювати TERMзмінну; в основному це потрібно, коли ви входите в старішу систему, яка не знає назви нового терміналу (а останніх 15 років не було багато типів нових терміналів, як і більшість емуляторів терміналів xterm). TERMце те, що програми типу терміналу вважають, що вони розмовляють, це не змінює те, що термінал є насправді.
Жил 'SO- перестань бути злим'

9

Ти нерозумієш.

Ваша консоль, термінал або екземпляр PuTTY на стороні LOCAL - це власне "емулятор терміналу", хоча сьогодні ми просто скорочуємо до "терміналів". Використання пов'язане з того часу, коли люди фактично використовували термінали монітора та клавіатури для входу на сервер основного кадру, а не з використанням декількох консолей та графічних середовищ користувача.

Змінна $ TERM просто повідомляє віддаленій системі про те, які коди управління зрозуміє ваш термінал, коли він надсилає їх (наприклад, для генерування текстових меню або нічого, що базується на libncurses).

Я не впевнений, що саме ви хочете досягти, але зміна $ TERM, ймовірно, не допоможе.


Дякую @Shadur, це корисно. Я хотів би включити підтримку більшої кількості кольорів. У мене виникають проблеми із втеченими символами, як я пояснюю в оновленнях у цьому запитанні . Якщо це має значення, обидві машини / системи сучасні ( Ubuntu 11.10на моїй локальній машині та Red Hat Enterprise Linux Server release 5.4 (Tikanga)на віддаленій машині)
Amelio Vaqueque-Reina

Вибачте, посилання було на неправильне запитання. Я щойно відредагував свій коментар вище.
Амеліо Васкес-Рейна

Тоді ваша проблема все ще не є змінною TERM, оскільки мій вікно-термінал gnome, SSHed на віддалений сервер зі значенням $ TERM xterm не має проблем із передачею кольорів ansi. Можливо, буде краще, якщо ви поясните свою проблему, а не запитаєте, як реалізувати те, що, на вашу думку, повинно бути рішенням.
Шадур

Дякую, але я не сказав, що "моя проблема" була $TERMзмінною. Також я не задаю це питання єдиною метою пошуку рішення іншої проблеми / питання. Якщо що, моє інше питання мотивувало це питання. Нарешті, я не думаю, що немає нічого поганого в надії дізнатися більше про те, як працюють емулятори терміналів, задавши це запитання.
Амеліо Васкес-Рейна

До речі, не зрозумійте мене неправильно, я ціную ваші поради і, як я вже говорив раніше, ваша відповідь допомогла мені краще зрозуміти емулятори терміналів.
Амеліо Васкес-Рейна
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.