Когда увидел в объявлении этот чёрно-зелёный венгерский терминал, то не смог устоять перед его магией. Тем более, что он был совместим с терминалом 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 рублей.
Комментарии (64)
w0lf
31.08.2022 12:18+12>> Кстати, на этой клавиатуре совершенно непонятно как ввести знак доллара, чтобы посмотреть статус переменной в bash
Насколько я понимаю, Shift-4 выведет «черепашку» которая на экране терминала отобразится как «черепашка» но в RS-232 уйдёт ASCII-код 36, который ОС интерпретирует как доллар. То есть проблем быть не должно. Или я что то не так понимаю?
ipekshev
31.08.2022 12:31+1Спасибо за статью! Всегда интересно почитать про ретро-железо! Теплое и ламповое!
EugeneVRN
31.08.2022 12:44>>К сожалению, кабель клавиатуры крошится от времени прямо на глазах. Стоит пошевелить проводом, как от него отваливаются куски, и как это спасти, пока не представляю.
Термоусадочная трубка черного цвета в магазине электроники поможет.
dlinyj Автор
31.08.2022 12:50+3Чтобы её надеть, нужно разрезать кабель. А в таком случае проще поменять его целиком.
NNMTM
31.08.2022 16:03+2DIN-разъём должен быть разборный - сбоку пластиковая нашлепка выковыривается и кожух снимается.
Ну и лучше не термоусадку, а черный кембрик или шланг чуть большего размера.dlinyj Автор
31.08.2022 16:03Всё литое. Ну и вы никогда не пробовали надеть кембрик на витой провод.
NNMTM
31.08.2022 16:48+1Я имею в виду эту вероятную заглушку. К сожалению сейчас сложно найти, но где-то были DIN5 вилки похожей конструкции. Именно венгерские,70-80 годов примерно.
А по проводу - вначале протягивается жесткий медный провод, а затем уже припаяные к нему гибкие провода.
iliasam
31.08.2022 12:51+1Интересно, а настройки в терминале как-то сохранялись?
Не верится, что там есть EEPROM.dlinyj Автор
31.08.2022 12:55+1Неа, не сохраняются. Но никто не мешает сделать SRAM+батарейку, как было в те времена в BIOS.
sergej_pipets
01.09.2022 23:24+1В те года даже в кассетах памяти для станков с ЧПУ стояли SRAM с аккумулятором 0.55А*ч. А ещё у меня был телефон с памятью номеров на целом поле из К561РУ2 - тоже статическое ОЗУ с подпиткой аккумулятором.
the_matrix
31.08.2022 13:02+2Про шнур
Просили передать, что есть такое вот решение с двухкомпонентным герметиком "жидкая изоляция":
На али гуглится по словам "Silicone Industrial Adhesive"
Dimsml
31.08.2022 15:37Я бы попробовал плетёный рукав для кабеля, как в новых БП.
Ещё есть т.н. жидкая изолента, но мне кажется это плохая идея.
MMik
31.08.2022 18:18+1Ещё вариант - обернуть лентой Tesa 51036 или подобной клейкой текстильной лентой, которыми провода в автомобилях в жгуты стягивают.
maikuss
31.08.2022 14:10+2Вообще-то, при работе с такими вот прекрасными терминалами опраторы больших ЭВМ испытывали в основном чувство усталости и резь в глазах.
pavel_raskin
31.08.2022 21:18Резь в глазах - моргать забывали. Чувство усталости - так с этой штукой работали они тогда, а не развлекались как сейчас :)
msdos9
01.09.2022 15:35+16 лет я работал за похожим изумрудом. Больше не хочу. ????
pavel_raskin
01.09.2022 18:33+2Видимо индивидуально всё. За собой не замечал подобного, не 6 лет конечно, но примерно год многие часы подряд за "зелёнкой" бывали.
nipper
31.08.2022 14:26Нутром чую, что
литрс локалью что-то не то и глючит из-за этого, но доказать не могу.Вывод locale посмотреть бы.
dlinyj Автор
31.08.2022 15:01Вывод locale посмотреть бы.
Это первое, что было исправлено. Для этого специально ставил систему на виртуалку. Локаль никак не влияет на вывод vi, tmux. Просто какие-то символы будут отображаться некорректно (знаем, плавали). Там банально не работает даже мой простенький пример, который я описывал в статье Терминальная графика. Даже такая примитивная графика не отображалась ни в каком виде.
В курсе про цвет, но проблема была не в цвете, потому что даже с «неверными» ESC-последовательностями и мусором, я должен был видеть фиксированную картинку, но наблюдал те же глюки, как и с vi.nipper
31.08.2022 15:35+1Если локаль в utf - то там и без esc-последовательностей старым терминалам крышу сносит, я на это натыкался потому про локаль и спросил. Странно конечно - vt52 довольно простой, интересно почему реализовали не полностью.
Kotofay
31.08.2022 18:29+1Ну это совместимый с VT52 а не полный аналог.
ESC последовательности в те времена никому были не нужны, т.к. задач под них не было.
UPD Ещё подозреваю, что на какие то последовательности были заточены специальные подпрограммы, вывод попадая на эти последовательности сбивает с толку алгоритмы заложенные в терминале, поэтому получается мусор на выводе и состояние блокировки номального ввода.
Нужно перенастроить вывод Linux в СОМ-порт таким образом, чтобы он вообще не использовал ESC последовательности.
dlinyj Автор
31.08.2022 18:34Вот картинки с терминалом выглядят следующим образом:
Не представляю как такое получить без ESC-последовательностей. Да и документация изобилует различным последовательностями, если не лень рекомендую поглядеть.Kotofay
31.08.2022 18:46+1Проще пареной репы. На 9600 бод не нужно заморачиваться особо.
Да и терминал на фото совсем не такой как у вас.
Скорее всего у вас для машин серии СМ, там ESC последовательности вообще не нужны были.
UPD
Почитал документацию на 52651 доступную в сети.
https://www.dropbox.com/s/aacqkwd4pgcabxp/VDX52651.pdf
Если вы про пункты 6.1-6.2, все эти ESC коды нужны для управления встроенным экранным редактором для режима оффлайн, когда нет соединения с ЭВМ. Т.е. вы набираете на клавиатуре эти последовательности нажимая клавишу ESC + символ. И встроенное в терминал ПО обрабатывает эти нажатия на экране, как то: установка печаных полей, подсветка символов, табулции и положение курсора.
Только к стандартным ESC-последовательностям эти команды не имеют никакого отношения.
Возможно что и в онлайн режиме эти коды обрабатываются но они не совместимы. Очень даже может быть, что средствами Linux возможно решить проблему, просто подставля нужные ему коды вместо стандартных.
mapnik
31.08.2022 23:35+2Очень даже может быть, что средствами Linux возможно решить проблему
В былые времена с этими целями писали свой файлик в termcap, сейчас вроде как пишут в terminfo.
mpa4b
31.08.2022 18:18А можно как-то переделать фотку всей клавиатуры сверху? Та что сейчас -- с бликами и надписей на некоторых кнопках в центре не видно.
MGolubev
31.08.2022 19:49+1В терминалах VIDEOTON была реализована система команд (Escape-последовательностей) терминала DEC VT52. Вроде-бы в UNIX для терминалов, подключенных по COM-портам была эмуляция системы команд DEC VT100 (у нас такие терминалы успешно работали с системой HP-UX). Символ доллара, как и у PC, - клавиша "4" с шифтом. Если терминал руссифицированный, то маленьких латинских букв у Вас не будет (вместо них - большие русские) - кодировка символов там 7-битная.
dlinyj Автор
31.08.2022 19:50Если терминал руссифицированный, то маленьких латинских букв у Вас не будет (вместо них — большие русские) — кодировка символов там 7-битная.
Да нет, прекрасно вводятся как большие, так и маленькие символы латиницы и кириллицы. Даже на фотографиях видно.
Kotofay
31.08.2022 22:55+1Кодировка то 7-ми битная но переключение языка потоковой командой (РУС/ЛАТ -- О16/О17) никто не отменял.
MGolubev
01.09.2022 23:04Такая функция точно была на 15ИЭ-00-013. Только для корректного отображения символов приходилось писать специальный драйвер (в оригинальных железе и ОС от DEC подобных функций не было). Насчёт VIDEOTON честно скажу - не помню.
Kotofay
02.09.2022 15:43Совершенно с вами согласен.
На видеотоне был переключатель с кои-7 на кои-8.
.HELLO HABR ?KMON-F-Illegal command
fk0
01.09.2022 01:12+1Когда у меня такой был, чтоб работал аппаратный flow control нужно было самому спаять нуль-модемный кабель, где пара RTS/CTS и DTR/DSR менялись местами.
И надо сказать так себе. Русские буквы только в KOI-7 (строчные русские, заглавные английские, или наоборот, не помню). Доллар вроде как-то вводился, вместо "знака валюты" вроде (такое "о" с черточками). Скорость прорисовки не комфортная даже для работы в vim (38400 максимум вроде). Это основная проблема. Причём там какой-то неполноценный VT100, скроллинг тоже тормозил, или вовсе VT-52, но короче работать невозможно читай. Просто медленно. Клавиши дубовые, руки обломаешь.
Единственное что порадовало: он мог в автономном режиме набрать страницу текста и распечатать на принтер. Но там тоже с кодировками проблемы.
PS: в ~2001 что ли году я его последний раз включал, но вот vim там в vt-52 тогда как-то запускался, видимо с тех пор линукс деградировал в худшую сторону...
dlinyj Автор
01.09.2022 08:30Судя по описанию, мы говорим о разных железках
fk0
01.09.2022 12:27Точно такая же железка, по внешнему виду и названию, и меню на экране (встроенное которое). Разве что версия ПО железки у меня могла быть другой.
dlinyj Автор
01.09.2022 12:52И надо сказать так себе. Русские буквы только в KOI-7 (строчные русские, заглавные английские, или наоборот, не помню).
У меня просто русские, английские заглавные, строчные. На фото даже видать.
И проблемы с vi. Но думаю да, не всё гладко. vt102 бы найти.
rostislav-zp
01.09.2022 09:45Может кто в курсе,как заставить старый монитор olivetti через vga конвертер работать?он точно работает через старую видеокарту и ее vga,но вот при любых попытках подключения к современному железу-серый экран.нашел пару обсуждений на старых форумах,но ссылки на схемы неактивны.
Kotofay
01.09.2022 11:31+1Нужно уменьшить частоту кадров принудительно в настройках драйвера видеокарты.
megasuperlexa
01.09.2022 10:07кстати по поводу телнетовских мультиков, киньте ссылок где их можно найти? старый добрый star wars на towel.blinkenlights.nl почему-то перестал у меня открываться некоторое время назад
artemisia_borealis
01.09.2022 13:36Последние две (3 и 4) ссылки в статье ведут в одно и то же место.
dlinyj Автор
01.09.2022 14:00Громадное спасибо за правки. Уже не ведут. Из пожеланий, присылайте, по возможности личным сообщением. Статью поправил, а комментарий уже не убрать. Спасибо ещё раз!
alef13
01.09.2022 21:01+2На таком-же я начинал свой путь в UNIX в 1994 году -- в машзалах где были ЕС-1066 и ЕС-1045 поставили два кубика HP 800 G30 и 800 G40. К ним электроны через мультипортовки и прицепили данные терминалы. Насколько помню, vi работал отлично. Ну а мусор на экране лечится командой reset (можно набрать вслепую).
dlinyj Автор
01.09.2022 22:51Ну а мусор на экране лечится командой reset (можно набрать вслепую).
когда запущен vi, не поможет. Потому, что из него нужно ещё выйти
Jorell
Какая приятная клавиатура.
BurguyMlt
И очень много не понятных кнопок