Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Эмулятор терминала и CP866  (Прочитано 1789 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн It_Is_Me

  • Автор темы
  • Новичок
  • *
  • Сообщений: 10
    • Просмотр профиля
Эмулятор терминала и CP866
« : 15 Июня 2020, 23:20:10 »
Добрый день, господа.
Ребятенок заниматся паскалем. Поэтому есть такая надобность запускать терминал в Geany с ДОС кодировкой. С Вин. кодировкой получается:
xterm -geometry 130x40 -en cp1251 -e "/bin/sh %c"Но вот с ср866 - ну никак.
Может это как-то по другому нужно?

PS. На ноутбуке только Линукс. Windows нет - поставить-то можно, но жить в ней - нет. Машинка только Win XP потянет. Или Линукс.

Пользователь добавил сообщение 15 Июня 2020, 23:29:04:
Вдогонку. Интересует вариант с любым терминалом, а не только с указанным в примере.

ТС не появлялся на Форуме более трех месяцев по состоянию на 19/03/2021 (последняя явка: 26/06/2020). Модератором раздела принято решение закрыть тему.
--zg_nico
« Последнее редактирование: 19 Марта 2021, 14:19:41 от zg_nico »

Оффлайн MooSE

  • Старожил
  • *
  • Сообщений: 1116
    • Просмотр профиля
Re: Эмулятор терминала и CP866
« Ответ #1 : 16 Июня 2020, 05:56:55 »
За терминал в 866 не скажу. Но у меня есть подозрение что изначальный посыл не совсем верный.

Я так понимаю что преподаватель даёт примеры кода в 866, вы открываете их в Geany и запускаете с помощью Free Pascal? Может стоит просто перекодировать пример?


Оффлайн It_Is_Me

  • Автор темы
  • Новичок
  • *
  • Сообщений: 10
    • Просмотр профиля
Re: Эмулятор терминала и CP866
« Ответ #2 : 16 Июня 2020, 15:26:09 »
У преподавателя ПК только с Windows. Консоль в Windows изначально в ДОС-кодировке. И никто ничего из-зи одного ученика менять не будет.
Паскаль по умолчанию "работает" с ДОС-кодировкой. А в линукс "царит" UTF8. Которая, кстати, в паскале (по крайней мере) премерзко "работает с кириллицей. Например, длина слова в UTF8 - 2 за каждый символ (кроме пробела). Тем более символы псевдографики возможно выводить ТОЛЬКО в ДОС-кодировке.
Если перекодировать, то кроме меня никто ничего не поймет.

PS. Я не предлагаю обсудить некую проблему, а прошу помочь решить конкретную мою. Меня не интересует чье-либо мнение, как и кого-либо мое. Если сказать нечего или нет желания, то после карантина предлагаю идти гулять лесом, а не прикидываться умным.

PSS. Какой дебил придумал этот маразм с загадками?

Оффлайн Azure

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: Эмулятор терминала и CP866
« Ответ #3 : 16 Июня 2020, 15:52:33 »
предлагаю идти гулять лесом, а не прикидываться умным.
Прежде чем хамить, вспомните что именно Вы пришли за помощью, а не к Вам. Тем более предложили вполне работающее решение перекодировать-сделать что надо-перекодировать обратно. У Вас же не гигабайты текста? iconv выполнит эту манипуляцю за секунду.
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн zg_nico

  • Заслуженный пользователь
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 3513
  • Nil mortalibus arduum est
    • Просмотр профиля
Re: Эмулятор терминала и CP866
« Ответ #4 : 16 Июня 2020, 15:57:23 »
Тем более символы псевдографики возможно выводить ТОЛЬКО в ДОС-кодировке.
Не припомню, справедливости ради, чтобы pascal так уж активно пользовал псефдографику через символы. Там как бы TurboVision, ЕМНИП все пользовались, потому как лепить интерфейс через псефдографику - сие есть боль.
Я не предлагаю обсудить некую проблему, а прошу помочь решить конкретную мою. Меня не интересует чье-либо мнение, как и кого-либо мое. Если сказать нечего или нет желания, то после карантина предлагаю идти гулять лесом, а не прикидываться умным.
Перефразирую исходно заданный Вам вопрос
Я так понимаю что преподаватель даёт примеры кода в 866, вы открываете их в Geany и запускаете с помощью Free Pascal?
таким примерно образом:
Цитировать
конечная цель какая у Вас?
Причем замечу, что "переделать кодировку в терминале так, чтобы работала *программулина*" - это НЕ ЦЕЛЬ, а выбранный Вами способ решения. Поясняю: цель - забить гвоздь. Способ - ударить микроскопом. Микроскопом ведь тоже можно гвозди забивать (только молотком-то поудобнее). Если Вам, к примеру, необходимо чтобы сын мог писать код дома, а после способен был бы показать преподавателю по информатике на месте в школе - то проще и дешевле будет после отладки брать код в UTF-8 и перегонять его через *любимый текстовый редактор* (или через утилиту todos, которая, как ни странно, по дефолту вроде как стоит, но если не стоит - пакет tofrodos вроде как называется) в произвольную кодировку, и уже эту произвольную кодировку нести в школу на флешке (совместимость можно проверить, передав несколько файлов - какой откроется лучше, с тем и нет проблем). Так меньше шансов систему покрошить в попытках "привнести" другую кодировку (свеж в памяти опыт по изгнанию неUTF8 из knoppix). А вообще как показывает практика, тема эта весьма неблагодарная в том смыле, что решениями гугл не фонтанирует. Я бы начал с просмотра вывода apt search 866на Вашем месте. Там как минимум console-cyrillic/bionic,bionic 0.9-17 all
  Cyrillic fonts and keyboard layouts for Linux console
...
xfonts-terminus-dos/bionic,bionic 4.40-2 all
  Fixed-width fonts for DOS encodings
могут вызвать интерес на фоне имеющегося пустого выводаcat /etc/locale.gen | grep 866Но предостерегаю: я не пробовал ставить эти пакеты. И не знаю поможет ли это вообще. Я лишь показал в данном случае два направления, в которых можно копать. Первое (перекодировка файла) мне кажется лучшей перспективой. Если есть желание есть во второе - не смею Вас задерживать.
(Нажмите, чтобы показать/скрыть)
Thunderobot G150-D2: Intel SkyLake Core i7-6700HQ 2.60GHz, 8Gb DDR4 2133 MHz, Intel HD530, NVidia GeForce GTX 960M 2Gb.  Ubuntu 16.04 64x [Unity], KUbuntu 18.04 64x.

Оффлайн It_Is_Me

  • Автор темы
  • Новичок
  • *
  • Сообщений: 10
    • Просмотр профиля
Re: Эмулятор терминала и CP866
« Ответ #5 : 16 Июня 2020, 22:08:37 »
Чтобы не писать много букв. Вот тут знаки псевдографики начиная с 176-го по 223-й символы. Они отображаются ТОЛЬКО в ДОС-кодировке.
Пример (только что придумал):
var i:byte;
begin
for i:=1 to 10 do
write(chr(179));
end.
В ДОС-кодировке выведет 10 вертикальных линий/палочек. А в Юникоде - крякозябры.

Пока поставил и назначил любимой женой терминалом по умолчанию mate-terminal. В Xfce. А Xfce'шному установил СР866 "родной" кодировкой. Ибо mate-terminal не умеет (или я не понял как).

PS. И таки да. Приходится с ребятенком учить уроки и паскаль тоже. А на удаленке учителя как озверели. Хорошо, что каникулы начались, но досдавать "хвосты" приходится. У ребенка с преподавателем по информатике и так напряженные отношения. Ребенок малость понимает в Линукс, а он нет.

Пользователь добавил сообщение 16 Июня 2020, 22:12:43:
таким как Вы проще было информацию искать, чего такие как Вы не делают самостоятельно, предпочитая задавать вопросы.
Я спрашиваю только не найдя решения. Чтобы таким, как Вы меньше давать повод сделать вид многознающего.
И это не первый форум, где я пытался найти решения, казалось бы, простой задачи.
« Последнее редактирование: 16 Июня 2020, 22:12:43 от It_Is_Me »

Оффлайн SergeyIT

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5589
  • Все по палатам!
    • Просмотр профиля
Re: Эмулятор терминала и CP866
« Ответ #6 : 16 Июня 2020, 22:42:19 »
В ДОС-кодировке выведет 10 вертикальных линий/палочек. А в Юникоде - крякозябры.
Это дибилизм нашего образования. cp(IBM)866 кодировка уже давно не актуальна, а наши деятели от образования отстают от жизни в данной теме, можно сказать, навсегда.
Интересно, каким софтом пользуется преподаватель...
Кстати, а какой это класс?
Я бы научил ребенка кодировкам (как я и сделал, когда-то, когда сын учился на ДВК (бейсик, фортран) и IBM (Си)), и вопрос снялся бы сам.
Только при перекодировке надо проверять еще то, что в Вин/ДОС, Линукс, Мак конец строки имеет разные кодировки.
 
Извините, я все еще учусь

Оффлайн It_Is_Me

  • Автор темы
  • Новичок
  • *
  • Сообщений: 10
    • Просмотр профиля
Re: Эмулятор терминала и CP866
« Ответ #7 : 16 Июня 2020, 23:16:45 »
В школах по прежнему Turbo Pascal. К стати, по крайней мере в Вин 7 консоль до сих пор по умолчанию в СР866.
Это еще хорошо, что паскаль, а не ассемблер или вообще не машинные коды. А класс 7-й. Закончили почти. Надеюсь.

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6725
  • 20% Cooler
    • Просмотр профиля
Re: Эмулятор терминала и CP866
« Ответ #8 : 16 Июня 2020, 23:18:46 »
It_Is_Me, что мешает накатить виртуалку/WINE и втыкнуть TurboPascal? Вот вам и CP866, и
псевдографика, и совместимость.

(Нажмите, чтобы показать/скрыть)


 
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн SergeyIT

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 5589
  • Все по палатам!
    • Просмотр профиля
Re: Эмулятор терминала и CP866
« Ответ #9 : 16 Июня 2020, 23:35:30 »
It_Is_Me, вот интнресное
"выполнять кодирование и декодирование текстовой информации, используя кодовые таблицы (Юникода, КОИ-8Р, Windows 1251);"
Отсюда-
Так что преподаватель урод, если не знает того, что должен преподавать.
Извините, я все еще учусь

Оффлайн It_Is_Me

  • Автор темы
  • Новичок
  • *
  • Сообщений: 10
    • Просмотр профиля
Re: Эмулятор терминала и CP866
« Ответ #10 : 16 Июня 2020, 23:45:30 »
что мешает накатить виртуалку/WINE
Ноутбук.
Он уже старичек. 2006 года. Win XP со скрипом. Только Дебиан с Xfce и бегает. У ПК материнка чуток пригорела... Ну как малость. Сгорела нахрен.
А с карантином особо не по ремонтируешься.


Пользователь добавил сообщение 16 Июня 2020, 23:50:52:
Я к тому, что нельзя быть спецом во всём. Ваше чадо знает линукс лучше преподавателя? Замечательно! Только вот специалистом не является. А преподаватель - специалист в своей узкой конкретной области. Linux ему не нужен.

Так она и в информатике, которую поручили преподавать, не так, чтоб супер. Строго по учебнику. И ни в коем случае ни одного уточняющего вопроса. Они весь 6-й год создание презентации учили.
« Последнее редактирование: 16 Июня 2020, 23:50:52 от It_Is_Me »

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6725
  • 20% Cooler
    • Просмотр профиля
Re: Эмулятор терминала и CP866
« Ответ #11 : 16 Июня 2020, 23:57:36 »
(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 16 Июня 2020, 23:59:46 от ALiEN175 »
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн MooSE

  • Старожил
  • *
  • Сообщений: 1116
    • Просмотр профиля
Re: Эмулятор терминала и CP866
« Ответ #12 : 17 Июня 2020, 10:21:38 »
PS. Я не предлагаю обсудить некую проблему, а прошу помочь решить конкретную мою. Меня не интересует чье-либо мнение, как и кого-либо мое. Если сказать нечего или нет желания, то после карантина предлагаю идти гулять лесом, а не прикидываться умным.

PSS. Какой дебил придумал этот маразм с загадками?

Давайте вы извиняетесь за своё хамство, а я вам рассказываю что вы пропустили, настраивая 866-ую локаль?

Оффлайн It_Is_Me

  • Автор темы
  • Новичок
  • *
  • Сообщений: 10
    • Просмотр профиля
Re: Эмулятор терминала и CP866
« Ответ #13 : 17 Июня 2020, 22:43:23 »
Цитата: ALiEN175
Ни в интернет, ни офис, ни видео. Только в консольке копаться...
Медленно дышит.
Машинка Asus S6F. В Debian 10 Xfce именно бегает и довольно быстро дышит. Не только в консольке копаться, но и интернет - только после 5-й кладки начинает притормаживать. И офис - LibreOffice. И кино, и музыка, и прочая.

Про мой вопрос... Да, как-то справились. Костыльно.

Тему можно закрывать нерешенной. Я вижу, что решения/желания нет ни у кого. Того, кто смог бы помочь, я бы отблагодарил. И финансово тоже. А просто чье-то мнение меня не интересует.

Оффлайн andytux

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6901
    • Просмотр профиля
Re: Эмулятор терминала и CP866
« Ответ #14 : 18 Июня 2020, 04:28:38 »
Цитировать
запускать терминал в Geany с ДОС кодировкой
А может вместо этого использовать Midnight commander. Кодировки легко переключаются, подсветка синтаксиса паскаль есть.

 

Страница сгенерирована за 0.034 секунд. Запросов: 25.