• про screen и golded

    From Nil A@2:5015/46 to Evgeny Chevtaev on Sun Jul 13 19:08:26 2025
    * Originally in ru.unix.bsd
    * Crossposted in ru.linux
    * Crossposted in ru.golded
    Hello, Evgeny!

    Sunday July 13 2025 20:46, from Evgeny Chevtaev -> All:

    После недавнего обновления screen до 5-ой версии, что-то поломалось и golded стал показывать какую-то хрень вместо русских букв. Откат на
    4.9 всё починил. Hикто не сталкивался?

    Это не конкретно проблема BSD, ровно такое же и на Linux.
    Screen 5.x - полная поддержка юникода и собирается он с ncursesw (libncursesw). Возможно 4.9 ещё с однобайтовым ncurses собран (libncurses)

    Вроде недавно были какие-то вялые попытки собрать golded с ncursesw, но не делая при этом полноценную юникод поддержку. Я не знаю чем это закончилось.

    Собственно вариантов два
    1. Сделать golded юникодным
    2. Откатиться на старый screen, или tmux.

    Best Regards, Nil
    --- GoldED+/LNX 1.1.5-b20240306
    * Origin: ChatGPT can make mistakes. Check important info. (2:5015/46)
  • From Rinat Sadretdinow@2:5020/620.1 to Evgeny Chevtaev on Sun Jul 13 19:32:48 2025
    * Originally in ru.linux
    * Crossposted in ru.golded

    Hello Evgeny!

    13 Jul 25 19:08, Nil A wrote to you:

    После недавнего обновления screen до 5-ой версии, что-то
    поломалось и golded стал показывать какую-то хрень вместо русских
    букв. Откат на 4.9 всё починил. Hикто не сталкивался?

    Я сталкивался. Ещё 25 апреля в ru.golded жаловался с $Subj "Почему такая бОПЯ образовалась?" и даже скриншот показывал:

    http://pics.rsh.ru/img/Screenshot_2025-04-25_13-18-03_y447qcis.png

    Это не конкретно проблема BSD, ровно такое же и на Linux.

    Именно так, у меня это было на Linux.

    Screen 5.x - полная поддержка юникода и собирается он с ncursesw (libncursesw). Возможно 4.9 ещё с однобайтовым ncurses собран
    (libncurses)

    а screen 4.06.02 всё нормально, а на screen 5.0.0 уже полная бОПЯ.

    Собственно вариантов два
    1. Сделать golded юникодным
    2. Откатиться на старый screen, или tmux.

    Есть третий вариант который меня и спас. Раньше было:

    ===
    rhs@sys3175:~/fido$ cat .screenrc
    startup_message off
    defencoding koi8-r
    screen /bin/sh -c "LANG=ru_RU.KOI8-R gedlnx -C/home/rhs/fido/etc/golded+/golded.cfg"

    rhs@sys3175:~/fido$
    ===

    но после обновления screen перестало работать. Теперь стало:

    ===
    rhs@sys3175:~/bin$ cat golded
    #!/bin/sh

    LANG=ru_RU.KOI8-R luit -encoding koi8-r -x -- gedlnx -C/home/rhs/fido/etc/golded+/golded.cfg

    rhs@sys3175:~/bin$
    ===

    То есть отказываемся от screen и используем luit. И волосы снова становятся мягкими и шелковистыми.

    За оригинальную подсказку спасибо Alexey Khromov (2:5030/723).

    Bye!

    --- GoldED+/LNX 1.1.5-b20250409
    * Origin: -= Thunder Bird @ home =- (2:5020/620.1)
  • From Nil A@2:5015/46 to Evgeny Chevtaev on Sun Jul 13 20:35:14 2025
    * Originally in ru.unix.bsd
    * Crossposted in ru.golded
    Hello, Evgeny!

    Sunday July 13 2025 22:12, from Evgeny Chevtaev -> Nil A:

    2. Откатиться на старый screen, или tmux.
    Именно так и сделал. Это первое, что пришло в голову.

    Если ты используешь screen только для перекодировки, то проще отдельный терминал настроить для фидо, и в нём выставить Koi8r, а не utf8.

    А как оно у меня работает и почему, я вообще не помню и разбираться
    сил нет. ;)

    В двух словах. GoldED не знаком с юникодом, а только с однобайтовыми кодировками (SBCS - single-byte character set). Для перекодирования у него есть таблицы, но они все один-байт в другой-байт. В utf8 один символ может кодироваться как один байт, так и до 4х. Также один визуальный символ может кодироваться двумя и более utf8 последовательностями, короче это всё сложно. аибольшая проблема вкорячить юникод в голдед - его редактор. Редактору надо бегать по символам, надо знать сколько символов в строке и т.д. Сегодня он думает, что один байт - это один символ.

    Для вывода на экран, точнее терминал, в юниксах голдед использует библиотеку ncurses. Эта библиотека знает, как перемещать курсор, как отображать разные цвета, и пр. на твоём терминале. Ещё в голдеде есть возможность сразу в ANSI терминал выводить, т.е. этими экскейп последовательностями, но это не универсально.
    Со временем даже весь TUI софт постепенно стал юникодным, и всё больше и больше программ стало линковаться с ncurses, который собран с --enable-widec.

    Best Regards, Nil
    --- GoldED+/LNX 1.1.5-b20240306
    * Origin: ChatGPT can make mistakes. Check important info. (2:5015/46)
  • From Nil A@2:5015/46 to eugen@grosbein.net on Sun Jul 20 02:52:22 2025
    * Originally in ru.unix.bsd
    * Crossposted in ru.golded
    Hello, eugen!

    Saturday July 19 2025 14:27, from Eugene Grosbein -> Semen Ilinskii:

    Сейчас Женя Гр. подключится к дискуссии и вежливо, но
    убедительно, объяснит всем, что таблица замены для ввода у screen
    ограничена размером в пару десятков записей, и самое простое
    решение в этом случае не насиловать screen (это очень непростой
    путь), а в Putty создать отдельную новую запись для входа на тот
    же сервер и в свойствах этой записи выставить перекодировку из
    CP866 (если речь про перекодировку). Я лично screen не использую,
    фряха 14.2, голдед и всё прочее обновляю из пакетов, если что.

    Теперь я делать этого не буду (c)

    Если отбросить личные непрязни. Пока голдед всё ещё SBCS (Single-byte Character Sets) - вопрос только какой компонент тебе будет в юникод перекодировать, в котором у тебя, скорее всего, сегодняшняя ОС живёт.
    * Я поступаю просто - у меня терминал спецом настроен на фидо, и он в koi8-r. Голдед делает из cp866 в koi8r. Почему я не могу сразу в cp866 сидеть? Сходу не знаю, возможно исторические причины.
    * Можно через screen/tmux перекодировать, но они termcap/terminfo должны читать, через ncurces, и там всё сложно, с какого-то года всё на wide-characters переехало
    * Можно через luit перекодировать, им проще, потому что он не знает про терминалы, он знает про кодировки stdin/stdout.
    * Можно самим голдедом, но тут есть нюансы.
    - можно просто utf8 как есть пихать в utf8 консоль/терминал, и у тебя прям голдед юникодный (хаха)
    - можно таблицами из однобатной кодировки в utf8 пихать (вроде он умеет один байт мачить на несколько), вуаля, голдед читает в utf8
    - хер ты из utf8 обратно в однобайтовую, но есть нюанс, в голдеде спрятали libiconv поддержку, но там ещё копать и копать.

    Best Regards, Nil
    --- GoldED+/LNX 1.1.5-b20240306
    * Origin: ChatGPT can make mistakes. Check important info. (2:5015/46)
  • From Stas Mishchenkov@2:460/5858 to Nil A on Sun Jul 20 14:52:18 2025
    Hi Nil!

    20 Jul 25 02:52, Nil A -> eugen@grosbein.net:

    Голдед делает из cp866 в koi8r. Почему я не могу сразу в cp866 сидеть? Сходу не знаю, возможно исторические причины.

    Вот мне ни один линуксоид пока внятно не ответил, почему сразу не сидеть в cp866. У меня это прекрасно получается.

    Have nice nights.
    Stas Mishchenkov.

    --- Не мотай на ус то, что тебе вешают на уши!
    * Origin: Lame Users Breeding. Simferopol, Crimea. (2:460/5858)
  • From Cheslav Osanadze@2:6078/80 to Stas Mishchenkov on Sun Jul 20 15:21:20 2025
    Привет Stas!

    20 Июл 25 14:52, Stas Mishchenkov -> Nil A:

    Голдед делает из cp866 в koi8r. Почему я не могу сразу в cp866
    сидеть? Сходу не знаю, возможно исторические причины.

    Вот мне ни один линуксоид пока внятно не ответил, почему сразу не
    сидеть в cp866. У меня это прекрасно получается.

    Уже давно забросил секс с линуксами, но помню смутно, что смена системной кодировки, вела к квадратикам в названиях окон и прочем.

    е считать за Аналитику! :) Просто вспомнилось, про борьбу с кодировками в там.:)



    Cheslav.


    ... Вот почему на лошадей ставят, а на людей кладут
    ---
    * Origin: ,,, (2:6078/80)
  • From Nil A@2:5015/46 to Stas Mishchenkov on Sun Jul 20 23:11:08 2025
    Hello, Stas!

    Sunday July 20 2025 14:52, from Stas Mishchenkov -> Nil A:

    Голдед делает из cp866 в koi8r. Почему я не могу сразу в cp866
    сидеть? Сходу не знаю, возможно исторические причины.

    Вот мне ни один линуксоид пока внятно не ответил, почему сразу не
    сидеть в cp866. У меня это прекрасно получается.

    Если представить, что на дворе ещё 90е, то есть два варианта.
    а. Ты сидишь под вендой, и у тебя все файлы русские в кодировке win1251.
    б. Ты сидишь под линуксом/бсд, и у тебя все файлы русские в кодировке koi8-r
    в. Ты _уже_ не сидишь в ДОСе, поэтому ты забыл про cp866, про редактор Лексикон, и пр.

    Best Regards, Nil
    --- GoldED+/LNX 1.1.5-b20240306
    * Origin: ChatGPT can make mistakes. Check important info. (2:5015/46)
  • From Konstantin Simonov@2:5000/118 to Nil A on Mon Jul 21 06:56:25 2025

    Hi, Nil!

    Sunday July 20 2025 23:11, Nil A (2:5015/46) => Stas Mishchenkov:

    а. Ты сидишь под вендой, и у тебя все файлы русские в кодировке
    win1251.

    Все русские файлы в альтернативной кодировке AKA CP866.
    Если что попадается в 1251, то сразу перекодирую.


    Sincerely yours, Konstantin.

    --- GoldED+/W32-MINGW 1.1.5-b20250409 WinNT 6.2.9200 iP-III
    * Origin: Something 2:5000/100.99 2:5000/115.15 2:5000/111.11 (2:5000/118)
  • From Nil A@2:5015/46 to Konstantin Simonov on Mon Jul 21 03:44:52 2025
    Hello, Konstantin!

    Monday July 21 2025 06:56, from Konstantin Simonov -> Nil A:

    а. Ты сидишь под вендой, и у тебя все файлы русские в кодировке
    win1251.
    Все русские файлы в альтернативной кодировке AKA CP866.
    Если что попадается в 1251, то сразу перекодирую.

    Что я тут могу сказать - первый сексуальный опыт накладывает свой отпечаток. Почему бы не utf8?
    Оффтопим, конечно, по-чёрному.

    Best Regards, Nil
    --- GoldED+/LNX 1.1.5-b20240306
    * Origin: ChatGPT can make mistakes. Check important info. (2:5015/46)
  • From Stas Mishchenkov@2:460/5858 to Cheslav Osanadze on Mon Jul 21 08:03:06 2025
    Hi Cheslav!

    20 Jul 25 15:21, Cheslav Osanadze -> Stas Mishchenkov:

    Голдед делает из cp866 в koi8r. Почему я не могу сразу в cp866
    сидеть? Сходу не знаю, возможно исторические причины.

    Вот мне ни один линуксоид пока внятно не ответил, почему сразу не
    сидеть в cp866. У меня это прекрасно получается.

    Уже давно забросил секс с линуксами, но помню смутно, что смена системной кодировки, вела к квадратикам в названиях окон и прочем.

    Видимо, ты что-то делал не так.

    е считать за Аналитику! :) Просто вспомнилось, про борьбу с
    кодировками в там.:)

    Оно везде секас. Ты попробуй в маздайке сменить кодировку...

    Have nice nights.
    Stas Mishchenkov.

    --- Хороший собеседник не только внимательно слушает, но и вовремя наливает.
    * Origin: Lame Users Breeding. Simferopol, Crimea. (2:460/5858)
  • From Konstantin Simonov@2:5000/118 to Nil A on Mon Jul 21 15:01:04 2025

    Hi, Nil!

    Monday July 21 2025 03:44, Nil A (2:5015/46) => Konstantin Simonov:

    Все русские файлы в альтернативной кодировке AKA CP866.
    Если что попадается в 1251, то сразу перекодирую.
    Что я тут могу сказать - первый сексуальный опыт накладывает свой отпечаток. Почему бы не utf8?

    utf8 появилась позже. Была основная, болгарская и альтернативная, понятия CP866 еще не было. У нас в основном применялась альтернативная, которая и стала использоваться в русском Фидо.


    Sincerely yours, Konstantin.

    --- GoldED+/W32-MINGW 1.1.5-b20250409 WinNT 6.2.9200 iP-III
    * Origin: Something 2:5000/100.99 2:5000/115.15 2:5000/111.11 (2:5000/118)
  • From Rinat Sadretdinow@2:5020/620.1 to Konstantin Simonov on Mon Jul 21 13:24:30 2025
    Hello Konstantin!

    21 Jul 25 15:01, you wrote to Nil A:

    Все русские файлы в альтернативной кодировке AKA CP866.
    Если что попадается в 1251, то сразу перекодирую.
    Что я тут могу сказать - первый сексуальный опыт накладывает свой
    отпечаток. Почему бы не utf8?

    utf8 появилась позже. Была основная, болгарская и альтернативная,

    Именно! Помню, помню 1988 год, болгарские компьютеры "Правец-16", аналоги IBM PC-XT, платы CGA на них и ПЗУ с ультрафиолетовым стиранием на этих платах и как я, тогда "техник II-й категории", на всех коомпах родного КБ обнулял эти ПЗУ лампой для загара чтобы записать в них новую прошивку с именно с "альтернативным" знакогенератором вместо "болгарского", который там был изначально.

    понятия CP866 еще не было.

    Да, ни про какие CPxxx тогда и слыхом не слыхивали. а IBM-совместимых была "болгарская" и "альтернативная", а на ДВК и Роботронах была, как бы это сказать, фонетическая (???), когда "Й=J", "Ц=C", "В=W", "Ж=V"? "Г=G" и так далее.

    У нас в основном применялась альтернативная, которая и стала использоваться в русском Фидо.

    Так оно и было, вернее стало. Потому как в 1988 я ни про какое FIDO не знал, да и никакого FIDO в России, вернее в СССР тогда ещё не было. Зато были экземпляры журнала "СОФТПАОРАМА" на дискетах, и они все были именно в альтернативной кодировке.

    Bye!

    --- GoldED+/LNX 1.1.5-b20250409
    * Origin: -= Thunder Bird @ home =- (2:5020/620.1)
  • From Konstantin Simonov@2:5000/118 to Rinat Sadretdinow on Mon Jul 21 18:08:32 2025

    Hi, Rinat!

    Monday July 21 2025 13:24, Rinat Sadretdinow (2:5020/620.1) => Konstantin Simonov:

    У нас в основном применялась альтернативная, которая и стала
    использоваться в русском Фидо.
    Так оно и было, вернее стало. Потому как в 1988 я ни про какое FIDO не знал, да и никакого FIDO в России, вернее в СССР тогда ещё не было.
    Зато были экземпляры журнала "СОФТПАОРАМА" на дискетах, и они все
    были именно в альтернативной кодировке.

    Это оффтопик. См. рис. 1.

    У меня сохранилось из Софтпанорамы и я дал кому-то, а он выложил в инет. http://nightbbs.ru/comphum/ris1.html

    ---------------------------------
    ! _ !
    ! { } !
    ! | | !
    ! | | !
    ! .-.! !.-. !
    ! .-! ! ! !.-. !
    ! ! ! ! ; !
    ! \ ; !
    ! \ ; !
    ! ! : !
    ! ! | !
    ! | | !
    ! !
    !_______________________________!
    Pис. 1


    Sincerely yours, Konstantin.

    --- GoldED+/W32-MINGW 1.1.5-b20250409 WinNT 6.2.9200 iP-III
    * Origin: Something 2:5000/100.99 2:5000/115.15 2:5000/111.11 (2:5000/118)
  • From Stas Mishchenkov@2:460/5858 to Nil A on Mon Jul 21 18:28:00 2025
    Hi Nil!

    20 Jul 25 23:11, Nil A -> Stas Mishchenkov:

    Вот мне ни один линуксоид пока внятно не ответил, почему сразу не
    сидеть в cp866. У меня это прекрасно получается.

    Если представить, что на дворе ещё 90е, то есть два варианта.
    а. Ты сидишь под вендой, и у тебя все файлы русские в кодировке win1251. б. Ты сидишь под линуксом/бсд, и у тебя все файлы русские в кодировке koi8-r в. Ты _уже_ не сидишь в ДОСе, поэтому ты забыл про cp866, про редактор Лексикон, и пр.

    е угадал. Я под OS/2 до этого сидел.

    Have nice nights.
    Stas Mishchenkov.

    --- В моём возрасте торопиться - опасно, доверять - глупо, а бояться - поздно!
    * Origin: Lame Users Breeding. Simferopol, Crimea. (2:460/5858)
  • From Konstantin Kuzov@2:5019/40 to Stas Mishchenkov on Fri Aug 1 16:00:06 2025
    Hello Stas!

    20 Июля 2025, Stas Mishchenkov wrote to Nil A:

    Голдед делает из cp866 в koi8r. Почему я не могу сразу в cp866
    сидеть? Сходу не знаю, возможно исторические причины.

    Вот мне ни один линуксоид пока внятно не ответил, почему сразу не
    сидеть в cp866. У меня это прекрасно получается.

    В основном по историческим причинам. Во времена 8битных кодировок бсдяшники и линуксойды в основном жили под KOI8-R, так что перекодировка KOI8-R<->CP866 средствами деда была вполне естественной. Когда же пошел движняк с переползанием всего на юникод CP866 оказалась уже слишком нишевой. Поддержку перекодировки в популярные до сих пор перекодировщики luit и screen не завезли из коробки и нужно было их патчить. В luit-таки где-то уже аж в середине 2010х-таки добавили поддержку в апстриме, а вот screen нужно патчить до сих пор... Плюс стандартная инерция - уже так настроено и привычно, так нечего и ломать. Да и все доки с примерами часто так и остались со старых времен с расчётом на KOI8-R...

    Если кому-то нужны патчи поддержки CP866 на screen, то вот для 4.x версий: http://mirror.ganjanetwork.ru/linux/archlinux/nosferatu/src/screen-nosferatu/screen-4.6.2-cp866.patch
    А вот для 5.x: http://mirror.ganjanetwork.ru/linux/archlinux/nosferatu/src/screen-nosferatu/screen-5.0.1-cp866.patch

    Дополнительно нужно закинуть таблицу перекодировки bd в src/utf8encodings перед сборкой (чтобы оно при установке скопировалось в /usr/share/screen/utf8encodings или сделать это самому)
    http://mirror.ganjanetwork.ru/linux/archlinux/nosferatu/src/screen-nosferatu/bd

    P.S. у и на 5.x версиях ещё дополнительно откатить вот этот патч чтобы починить сломанную перекодировку между UTF-8 и восьмибитными кодировками в апстриме:
    https://cgit.git.savannah.gnu.org/cgit/screen.git/patch/?id=7fc842ddc6e5905da2c5961547e3ff7385bbcc44

    Best of luck, Konstantin.

    ... GoldED+/LNX 1.1.5 (Linux 6.12.40-1-lts CPU UNKNOWN)
    --- #[EMail: Master.NoSFeRaTU[@]Gmail.com] [Team Nyaa]#
    * Origin: GaNJaNET STaTi0N (2:5019/40)
  • From Semen Panevin@2:5025/121 to Konstantin Kuzov on Fri Aug 1 19:38:44 2025
    Доброго здоровьица тебе, Konstantin!

    Friday August 01 2025 16:00, Konstantin Kuzov писал Stas Mishchenkov:

    Вот мне ни один линуксоид пока внятно не ответил, почему сразу не
    сидеть в cp866. У меня это прекрасно получается.

    В основном по историческим причинам. Во времена 8битных кодировок бсдяшники и линуксойды в основном жили под KOI8-R, так что
    перекодировка KOI8-R<->CP866 средствами деда была вполне естественной.
    Вы вообще в курсе, в чём фишка KOI8-R и почему она была так популярна в nix сообществе?

    Если отрезать восьмой бит и оставить только семь, то русские буквы в KOI8-R попадают в большинстве своём на английские аналоги, и текст остаётся вполне читабельным.
    Чем не может похвастаться ни одна другая 8-битная кодировка, насколько я ничего не знаю...

    С наилучшими пожеланиями, Семён.

    ... Трудно все время быть человеком. Люди мешают... (c)...
    --- GoldED+/LNX 1.1.5-b20250409 (Linux 6.12.31-gentoo iF6M10)
    * Origin: IceLAN (2:5025/121)
  • From Nil A@2:5015/46 to Semen Panevin on Fri Aug 1 20:08:10 2025
    Hello, Semen!

    Friday August 01 2025 19:38, from Semen Panevin -> Konstantin Kuzov:

    Вы вообще в курсе, в чём фишка KOI8-R и почему она была так популярна
    в nix сообществе?

    Если отрезать восьмой бит и оставить только семь, то русские буквы в KOI8-R попадают в большинстве своём на английские аналоги, и текст остаётся вполне читабельным. Чем не может похвастаться ни одна другая 8-битная кодировка, насколько я ничего не знаю...

    Оффтоп, конечно, н о все 3 русские кодировки имели свою фишку.
    cp866 - всевдографика на тех местах, где текстовой режим в видеокарте отрисовывался линиями без разрыва
    win1251 - легко переводить из нижнего в верхний регистр, просто прибавить или вычесть константу
    koi8-r - можно читать на терминалах, где нет русского шрифта, или на 7ми битном терминале

    Mac Cyrillic (x-mac-cyrillic) - была и такая, но супер редкость, как и количество маков у населения в 90х. Фишка этой кодирови, что как-то Маковские шрифты её отрисовывали нативно.

    Best Regards, Nil
    --- GoldED+/LNX 1.1.5-b20240306
    * Origin: ChatGPT can make mistakes. Check important info. (2:5015/46)