Изумрудный венгерский терминал Videoton VDX 52600
Администрируем сервера с настоящего аппаратного терминала.
Когда увидел в объявлении этот чёрно-зелёный венгерский терминал, то не смог устоять перед его магией. Тем более, что он был совместим с терминалом vt52. Мне всегда хотелось испытать то самое чувство, которое испытывали операторы больших ЭВМ при работе с такими вот прекрасными терминалами. И, наконец, настало то удивительное время, когда подобный терминал могу иметь дома и подключать его к своему домашнему ПК.
Мне было по-настоящему интересно попробовать использовать его для реальной работы с удалёнными серверами, для которой они и были изначально предназначены. Всё это попробую реализовать в рамках данной статьи.
▍ О железке
Модельный ряд терминала этого типа достаточно разнообразен, отличается внешне только клавиатурой и расположением клавиш, хотя, как я понял, ПО достаточно разнообразно. Конкретно на мой терминал Videoton VDX 52600 документации найти не удалось вообще, даже на венгерском.
Поэтому какой-то функционал узнавал буквально методом научного тыка (тыкая на клавиши). Но кое-что было найдено на форумах и эта информация оказалась полезной.
Фотография терминала в «живой природе». С сайта.
Вообще, впервые встречаю, когда в гугле вбиваешь запрос по железке, а там буквально три страницы и ничего полезного. Похожий терминал есть у sfrolov, однако у него другая клавиатура с другими функциональными клавишами, да и работа с терминалом внешне отличается от моего. Поэтому документация от его железки к моей не подошла.
Внешний вид.
Выглядит этот терминал, даже по сегодняшним меркам, просто фантастически. Будто сошёл с экрана какого-то фильма или игры про космос 80-х годов.
Чёрно-зелёный монитор изумрудного цвета выглядит просто завораживающе-мистически. Именно этот цвет и влюбил меня с первой фотографии в эту железку. К сожалению, как я не бился, так и не смог сфотографировать этот изумрудно-зелёный цвет свечения монитора.
Даже тумблер включения реализован в той же цветовой гамме, как и цвет свечения люминофора. Тут над дизайном реально думали.
Следом, что бросается в глаза — это необычная клавиатура. Обратите внимание, что есть клавиша возврата каретки Return и клавиша новой строки Enter. Это многое объясняет, откуда на обычных клавиатурах две клавиши Enter. У них даже код разный ('\r'
и '\n'
соответственно, как и должно быть в правильном мире).
Клавиатура очень удобная, и клавиши невероятно приятные на ощупь, в работе. Удивительно то, что за столько лет ничего не сломалось.
Из забавного: в этой клавиатуре использована фонетическая раскладка для латиницы. И могу сказать, что она добавляет некоторое неудобство для работы, но после «Микроши» мне уже не привыкать.
Часть функциональных клавиш так и не раскрыли свой богатый потенциал, и я так и не понял как же их использовать.
Неизвестные науке клавиши.
Кстати, на этой клавиатуре совершенно непонятно как ввести знак доллара, чтобы посмотреть статус переменной в bash
. В общем, есть некоторые неудобства в работе.
Сам терминал в профиль смотрится просто невероятно. Серый, глубокорябой пластик и интересные формы, придают внешний вид просто космического изделия.
Подвижное основание позволяет вертеть его во всех направлениях и под любым углом.
С тыла находится разъём для подключения клавиатуры, принтера (на COM-порт), и 25-пиновый COM-порт для подключения к ЭВМ или модему.
Самое сложное было найти нульмодем 25F-9F. Стандартный кабель от внешнего модема тут не подходит, я уже пробовал. На удивление, мне удалось его найти в каком-то нашем интернет-магазине за вполне сносные деньги.
К сожалению, кабель клавиатуры крошится от времени прямо на глазах. Стоит пошевелить проводом, как от него отваливаются куски, и как это спасти, пока не представляю.
▍ Невероятные поиски настроечного меню
В этом терминале есть конфигурационное меню, которое на других моделях вызывалось специальной клавишей, как гласит документация. Но у меня такой клавиши нет. И однажды, когда чистил клавиатуру кистью, каким-то чудом смог попасть в это меню.
Сколько после этого не тыкал по клавишам, долгое время так и не мог найти той волшебной комбинации клавиш. В результате снова взял кисть, и в течение часа елозил ей по клавишам, пока меню не появилось на экране. Итак, результатом стала комбинация: ctrl-lock:
Комбинация для запуска настроечного меню.
В меню можно выбрать настройки СОМ-порта. В настройках порта всё стандартно, тип передачи: дуплес, полудуплес; скорости, старт, стоп бит, аппаратный контроль передачи данных, как в любой терминалке. Самое главное — это тип эмулятора терминала: NAT
или VT52
. Первый тип никогда не встречал, и с ним мне не удалось подружиться, а вот с VT52
всё более-менее даже работало.
Остальные настройки не такие интересные: это настройка дисплея, клавиатуры и принтера. В целом, ничего там фантастического в них нет, и я их не трогал. Там можно выбрать тип ввода латинца / кириллица, инвертировать цвета у дисплея.
Остальные настройки
▍ Подключаем к ЭВМ
Настала пора подключить этот терминал к настоящей живой ЭВМ. Для этого на ней должен быть СОМ-порт, и на моей материнской плате есть таковой. Но вообще, для опытов рекомендую использовать USB-COM шнурок. Во-первых, это более безопасно с точки зрения подключения-отключения проводов. Во-вторых, когда будете настраивать, часто будет возникать необходимость «аппаратной» перезагрузки самого порта (чтобы очистить буфера ядра), и самый простой выход из ситуации — вынуть провод из разъёма USB.
Прежде чем я начал настраивать диалог логина на СОМ-порту, решил проверить работает ли вообще передача данных на терминал и обратно. Для этого запустил мою любимую терминальную программу minicom
с параметрами:
minicom --color=on -s
И настроить порт следующим образом:
После этого можно початиться туда-сюда, проверив корректность работы. Следите, чтобы настройки порта терминала и системы были одинаковыми.
Если сие удалось, то можно переходит к более тяжёлой артиллерии, и уже заводить логин на СОМ-порту.
Поскольку данный терминал не поддерживает кодировку UTF-8, рекомендую использовать систему с системной локалью в латинице.
Для того чтобы на каком-то СОМ-порту открыть логин, необходимо их связать между собой. Для этого существует программа getty, или её более новая версия agetty.
agetty — это такая программа, которая открывает порт tty, выдаёт prompt для аутентификации и передаёт последующее управление другой программе — login.
Отсюда.
Вообще, можно просто открыть последовательное устройство для логина командой:
systemctl start serial-getty@ttyUSB0.service
Но это не очень удобно, потому что нет возможности управлять строкой параметров, и придушить процесс в нужный момент. Поэтому значительно проще использовать следующую строку записи, которую я позаимствовал прямо из этого сервиса.
sudo /sbin/agetty -o '-p -- \\u' --keep-baud 115200,38400,9600 ttyUSB0 vt52
Поскльку мне не требуется такой широкий набор опций и скорости, достаточно её упростить до совсем короткой записи.
sudo /sbin/agetty 9600 ttyUSB0 vt52
К сожалению, выполнение команды нельзя завершить ctrl-c, и можно только убить этот процесс (что приводит ко всяким неприятным последствиям в виде оставшихся символах в буфере ядра). Для того чтобы очистить буфер ядра, физически приходилось отключать СОМ-порт из USB-порта (варварство да, но метод рабочий).
Чтобы при всех экспериментах была возможность придушить неугодный процесс, запускал всё в tmux, в одном окне которого работал agetty, а в другом я смотрел, где этот процесс обитает, и прибивал его по мере надобности.
Из-за того, что мне не удалось нагуглить список всех возможных терминалов, которые поддерживает linux, мне пришлось довольствоваться теми, что я знаю, и настройками самого терминала Videton.
Рубрика «Эксперименты».
В результате остановился на строке выше. И да, оно таки работает!
Теперь достаточно ввести свой логин, пароль и начать работать. Но не всё так гладко, как оказалось.
▍ Нерешённые проблемы
Мне удалось подключиться по ssh к удалённому серверу, позапускать там пинг, посмотреть файлы командой ls
, посмотреть содержимое файла командой cat
, но не более. Прекрасно работают комбинации ctrl-c, ctrl-d, ctrl-l, и выполняют те функции, которые и должны.
Реальный коннект к удалённому серверу.
Как уже сказал выше, не нашёл способа ввести знак доллара. Может быть это и не самая страшная проблема, которая постигла эти эксперименты. Самое неприятное началось, когда попробовал использовать программы, использующую текстовую псевдографику и неканонический ввод в терминале: vi, mc, tmux и иже с ними.
При запуске такой программы аппаратный даёт ошибку ввода, и ничего ввести или вывести уже невозможно. На экране печатается какая-то лабуда.
Запуск «vi wrw».
Как можно видеть, идёт вывод «Input error». После этого из vi
никаким образом выйти не удаётся. При нажатии на любые клавиши (в т.ч. ESC) на экран выводится разнообразный мусор.
Мусор.
Всё это говорит о том, что это устройство не полностью соответствует стандарту VT52, и некоторые управляющие ESC-последовательности им не поддерживаются. И это было очень обидно, ибо очень хотелось иметь настоящий живой аппаратный терминал.
▍ Заключение
Это потрясающая игрушка, очень красивая. В целом, можно достаточно много применений найти для неё в быту: подключить ардуину, малину, или ещё какое-то устройство, использующее тёплый ламповый вывод. sfrolov реализовал плату с бейсиком, использующую в качестве вывода аналогичный терминал.
Можно смотреть телнетовские мультики. Но полноценно работать, без нахождения нужного эмулятора терминала, который будет давать необходимые ESC-последовательности — невозможно. В целом можно потратить время, сделать реверс протокола, подобрать необходимые последовательности, в общем провести полноценный ОКР. Но мне как-то лениво, хотелось подключить и работать.
Вот такой вот ты, венгерский изумрудный терминал.
▍ Ссылки по теме:
- Описание аналогичного терминала, на форуме призраков.
- Статья про аналогичный терминал (англ.).
- Хорошая статья по настройке терминалов на СОМ-портах.
- Единственный более-менее вменяемые ресурс, где хоть какая-то информация об этих терминалах (венгерский).
Конкурс статей от RUVDS.COM. Три денежные номинации. Главный приз — 100 000 рублей.