LINUX.ORG.RU
ФорумTalks

Когда в линукс завезут нормальную консоль?

 


0

1

Казалось бы, консоль — это одна из самых главных фишек линукса. Но почему же, блин, терминал настолько убог? Что это такое? Я уже молчу про набивший оскомину двойной ESC.

На дворе 2016 год, какого хрена терминал не может рисовать символы без сдвига курсора?

Ескейп-последовательности в XXI веке? Вы это серьезно?

Почему я не могу увидеть символ 0x16 в консоли?

Какого фига терминал не видит нажатие модифицирующих клавиш?

И главное: почему windows-консоль все это умеет, а весь такой из себя CLI-linux никак ниасилит?


А какая консоль нужна?

А ты в курсе, что линукс ставится не только на пэка, а еще на серверы со всякими матроксами и эмбеддэд железки?

leg0las ★★★★★
()
Ответ на: комментарий от leg0las

И с каких это пор матроксы не умеют рисовать символы без изменения позиции курсора? А при выводе на экран символа 0x16 у них что, башню снесет?

Или какой-то из ембеддед-pi не может почувствовать нажатие CTRL?

Сколько можно тянуть эти лошадиные задницы?

quwy
() автор топика

Открываю я mc и вижу, что правый нижний символ вполне себе заполнен. Значит таки можно как-то выводить в угол без инициирования прокрутки. Тут все претензии к авторам установщика Debian (или что там у тебя на скриншоте).

Насчёт символа 0x16 не в курсе. Однако, в тех же языках программирования escape-последовательности позволяют удвоить спецсимвол и получить то, что нужно. Например, Си-строка «C:\\Windows\\cmd.exe» превратится именно в то, что нам нужно. Не умеет ли Linux-консоль что-то подобное? Если умеет, то ищи просмоторщик, который это поддерживает. Если нет, то соглашусь, что это пробел в стандарте, но никак не проблема самой концепции escape-последовательностей.

Да и вообще идея escape-последовательностей сама по себе очень удобна, ибо позволяет не плодить лишние сущности, а представлять терминал в виде простой текстовой трубы, что позволяет ему быть чем угодно, включая последовательный порт (и да, при работе с каким-нибудь одноплатником это можно очень активно использовать).

А зачем терминалу видеть нажатия модифицирующих клавиш? Это нужно в очень малом наборе приложений. И в большинстве таких случаев приложению лучше просто быть графическим.

KivApple ★★★★★
()
Последнее исправление: KivApple (всего исправлений: 1)
Ответ на: комментарий от quwy

Или какой-то из ембеддед-pi не может почувствовать нажатие CTRL?

А каким образом он его почувствует, если у тебя в качестве средства связи используется последовательный порт? Слать спецбайтики при каждом нажатии клавиш-модификаторов?

Касательно рисования символа без смены позиции курсора - mc как-то это делает, значит возможность есть, а ты просто выбрал для примера софт, авторы которого почему-то не воспользовались этой фичей.

KivApple ★★★★★
()
Ответ на: комментарий от KivApple

А каким образом он его почувствует, если у тебя в качестве средства связи используется последовательный порт? Слать спецбайтики при каждом нажатии клавиш-модификаторов?

И в чем проблема? Слать байтик при нажатии символьной клавиши — нормально, а для модификатора уже нет? Почему?

mc как-то это делает, значит возможность есть

Делает, и даже двойной ESC научился не требовать пару лет как, но это не освобождает меня от тугодумства других программ/авторов, которые, по-видимому, не в курсе новых возможностей.

quwy
() автор топика
Ответ на: комментарий от KivApple

Да и вообще идея escape-последовательностей сама по себе очень удобна

Я имел в виду ANSI-последовательности из эпохи прямых модемных соединений. Другого объяснения двойному эскейпу я просто не вижу.

quwy
() автор топика
Ответ на: комментарий от KivApple

если у тебя в качестве средства связи используется последовательный порт

Подходил к концу 2016й год. Езернету исполнилось уже 36 лет.

invy ★★★★★
()
Ответ на: комментарий от XShell

Тем, что использующий их терминал не может нормально распознавать одиночное нажатие ESC.

quwy
() автор топика
Ответ на: комментарий от invy

Ethernet-у требуется установленный и запущенный демон dhcp, либо предварительно прописанный статический IP. А ещё установленный и запущенный демон SSH (или как ты собрался работать по Ethernet). А ещё Ethernet ничего тебе не скажет при Kernel Panic.

В то же время последовательный порт включается опцией ядра (либо указываемой при компиляции, либо в параметрах загрузчика) и требует только запущенного getty, который есть даже в busybox. Больше никаких настроек не требуется (более того, эти настройки универсальны и их можно использовать в 99.9% сценариев использования системы - не думая сделать ttyS0 консолью ядра). В случае Kernel Panic ядро заботливо вывалит на последовательный порт полную информацию о случившимся.

KivApple ★★★★★
()
Последнее исправление: KivApple (всего исправлений: 3)

Почему я не могу увидеть символ 0x16 в консоли?

В виде чего ты хочешь увидеть символ с названием Synchronous idle?

Какого фига терминал не видит нажатие модифицирующих клавиш?

Терминал вообще ничего о клавишах не знает.

И главное: почему windows-консоль все это умеет, а весь такой из себя CLI-linux никак ниасилит?

Ну началось. То виндузятникам oss/alsa не такая, то в sysvinit сложные скрипты на шелле, теперь до терминала добрались? Ну пиши поцтерингу, он наверняка согласится ещё и терминал изговнякать.

ЗЫ: вендоконсоль - это ваще такой кромешный звездец, что даже если очень сильно захотеть создать какое-нибудь невообразимое угрёбище, то такого звездеца как у микрософта получился - вовек не придумаешь. Эти уроды только в десяточке сумели таки наконец ESC-последовательности освоить, и то через глубочайшую жопу.

Stanson ★★★★★
()
Последнее исправление: Stanson (всего исправлений: 2)
Ответ на: комментарий от Stanson

Ну пиши поцтерингу, он наверняка согласится ещё и терминал изговнякать.

Ты поаккуратнее с советами, а то вдруг так и будет.

Vsevolod-linuxoid ★★★★★
()
Последнее исправление: Vsevolod-linuxoid (всего исправлений: 1)
Ответ на: комментарий от Vsevolod-linuxoid

Ты поаккуратнее с советами, а то вдруг так и будет.

А и так так и будет, вне зависимости от. Вендузятники после выхода десяточки валом повалили на линуксы. Я думаю перебежчиков на порядки больше, чем когда виста вышла. Но при этом, они на порядки же тупее. Копрорациям типа редхата важен охват аудитории, а миллионы вендузятников, разумеется, будут стонать по любым поводам. Копрорации будут тратить бабло на удовлетворение вендузятников, чтобы увеличить пользовательскую базу АКА свою рыночную стоимость. А там и микрософт подключится, либо закопав, либо олинуксив винду окончательно.

Так что и реестр бинарный запилят, и терминал изговнякают, и шелл этот страшный-непонятный на какое-нибудь объектно-событийное говно поменяют... А, ещё же регэкспы - ужос-ужос, непонятно же, grep на собачку гуёвую заменят. man'ы ещё выкинут, чтобы ретрограды не умничали и их читать не посылали.

Тут радует только то, что из-за опенсурса и всего такого не все дистры оскотинятся, вменяемый народ на выжившие переползёт, и будет в итоге 3 системы на ядре линукса - нормальная, вендузятная для вендузятников и ведроид. Возможно, лет через 10-15 цикл повторится.

Stanson ★★★★★
()

И главное: почему windows-консоль

Вантусятнику прикипело. Вон лягушки пурхаются себе в своем болоте и не лезут на автострады. А ты вдруг такой вылез, у тебя сразу шкурка сохнуть начала и ты давай лепетать тут про какие-то свои душевные болезни.

Promusik ★★★★★
()

Потому что в линуксах всё, что касается повернутого лицом к пользователю, всегда в отстающих.

Кстате, поддержка emoji в популярных линуксовых эмуляторах терминала есть?

fornlr ★★★★★
()
Последнее исправление: fornlr (всего исправлений: 1)
Ответ на: комментарий от fornlr

О боже, какой ужас! Понечка, спаси мой мозг - не показывай мне это больше!

Promusik ★★★★★
()
Ответ на: комментарий от Vsevolod-linuxoid

вместо 100% работающего даже без видеодрайверов или с сломавшимися/глючащими драйверами текстового терминала изобретают какую-то kms console.

onon ★★★
()
Ответ на: комментарий от invy

Ты имеешь что-то против последовательного порта? Как эзернет тебе поможет, если машина в циклическом ребуте, например?

GoodRiddance
()
Ответ на: комментарий от onon

вместо 100% работающего даже без видеодрайверов или с сломавшимися/глючащими драйверами текстового терминала изобретают какую-то kms console.

подходил к концу 2016 года, а в линуксовой консоли ни сглаживания шрифтов, ни анимаций, ни теней, ни эмодзей! срамота!

der_looser ★★
()

фразу *я еблан* можно сказать куда меньшим количеством букв

buratino ★★★★★
()
Ответ на: комментарий от invy

Езернету исполнилось уже 36 лет.

Прочитал как «эрзенту», задумался.

inchallah
()

Консоль и так прекрасна многие десятилетия.

Что это такое?

Курсор.

терминал не может рисовать символы без сдвига курсора?

И это хорошо.

Ескейп-последовательности в XXI веке? Вы это серьезно?

Да.

Почему я не могу увидеть символ 0x16 в консоли?

Можно если сдампить текст в hex формат. Потому, что это управляющий символ: «Synchronous Idle (SYN) is the ASCII control character 22 (0x16), represented as ^V in caret notation.».

Какого фига терминал не видит нажатие модифицирующих клавиш?

Потому, что сами по себе они ничего не значат, а комбинации с ними нужно прописывать явно.

И главное: почему windows-консоль все это умеет, а весь такой из себя CLI-linux никак ниасилит?

Потому, что в винде костыли, а в Linux'е консоль лучше.

saahriktu ★★★★★
()
Ответ на: комментарий от der_looser

подходил к концу 2016 года, а в линуксовой консоли ни сглаживания шрифтов, ни анимаций, ни теней, ни эмодзей!

И это прекрасно! Растровых PSF шрифтов и KOI8-R хватит всем!

saahriktu ★★★★★
()

OMG, вендовая консоль всегда была говном, говном и остаётся до сих пор. В 21 веке не уметь юникод, нормальный копи-паст и ресайз окна вместе с контентом (да-да, даже в 10-ке)...

Black_Shadow ★★★★★
()
Ответ на: комментарий от tailgunner

Консоль это кажется что-то их архитектуры? https://upload.wikimedia.org/wikipedia/commons/3/36/Corbel_Venezia.JPG А вот разницу между терминалом и командным интерпретатором уловить и правда сложно. Upd: точнее даже не разницу, а границу.

d_a ★★★★★
()
Последнее исправление: d_a (всего исправлений: 1)
Ответ на: комментарий от quwy

Сколько можно сравнивать текстовый терминал с графическим?

Guest_now
()
Ответ на: комментарий от tailgunner

разницу между вороной и письменным столом

Ай, дяденька не бейте, я диалектику выучу!

d_a ★★★★★
()
Ответ на: комментарий от TheAnonymous

Ну, есть всякие black-screen, но они не настолько инновационные и даже работают, поэтому скучны.

x3al ★★★★★
()
Ответ на: комментарий от Stanson

Самое смешное, я всё собираюсь переехать на десяточку со встроенным линуксом, так как это удобно.

Shadow ★★★★★
()
Ответ на: комментарий от tailgunner

линуксоиды путают консоль и терминал

KDE подливает масла в огонь со своим Konsole.

nezamudich ★★
()

Потому что VT100 совместимость. Узнать, что такое VTxxx и зачем оно нужно, оставляю как домашнее задание.

beastie ★★★★★
()
Последнее исправление: beastie (всего исправлений: 2)

Не удивлюсь, если этот тред перенесут из толксов в технический раздел.

utf8nowhere ★★★
()

Но почему же, блин, терминал настолько убог? Что это такое? Я уже молчу про набивший оскомину двойной ESC.

Первое - проблема Debian installer, в других приложениях нет. Второе решенная проблема.

И главное: почему windows-консоль все это умеет

Windows-сосноль всё ещё требует кучи извращений со стороны разработчика, чтобы выводить в неё юникод (и то работает это с проблемами, и далеко не весь юникод можно выводить и вводить... а IME с их соснолью в принципе не работают), только недавно научилась esc-последовательности, а в GUI (то, что в линуксе называлось бы эмулятор терминала) только в Windows 10 сделали нормальную, не требующую недефолтных настроек и лишних кликов, копипасту и возможность ресайзить окно мышью.

Deleted
()
Ответ на: комментарий от der_looser

Используй эмулятор терминала, будет и сглаживание шрифтов, и анимация, и тени, и эмодзи.

Deleted
()
Ответ на: комментарий от x3al

==> зависимости black-screen:
- electron (пакет найден)

Дожили =_=

najlus ★★★★★
()
Ответ на: комментарий от Stanson

Так что и реестр бинарный запилят

Можно подумать, что это в принципе что-то плохое, а текстовые конфиги это рай на земле. Не обязательно делать один в один, как в винде.

Я тут всё контейнерами балуюсь последнее время. И возникла задача поправить во всех контейнерах конфиги у разных софтин. Так это просто праздник какой-то, что у всех свой текстовый формат. Где-то они ini-образные, где-то секции обозначаются через «{}», у других вообще вместо секций «ifndef». Красота! Как это автоматизировать? Чтобы админу было не скучно, можно поразвлекаться с sed, awk, grep и т.п. А ещё у баша чудестный синтаксис. Конечно, можно взять любой нормальный ЯП. Но! Всё равно надо написать маленький парсер, чтобы просто внести несколько изменений.

Теперь представим сферический реестр в вакууме:

# registry --host=container.lxc addString /soft/softName/section/subSection paramName "str value"
Не обязательно, как в винде, все ветви разных софтин пихать в один файл. Вполне может быть несколько файлов, с подгрузкой при первом обращении. А ещё могут быть схемы для проверки корректности. Например, после выполнения команды выше, выводится ответ: «String paramName too long». И ты понимаешь, что надо поправить конфиг без перезапуска демонов. Что очень удобно, если они в данный момент используются. Можно с мануалом подружить:
# registry --host=container.lxc help /soft/softName/section/subSection
А оно тебе открывают справку на нужном месте.
И баш скриптами можно ворочить, если захочется:
list=`registry list /soft/softName/section/subSection`
for l in list
do
  registry getAsText /soft/softName/section/subSection/$l|grep bla-bla-bla...
done
Бинарный формат? Ну, будет какая-то утилита для редактирования. Слышу возгласы: «Вот! Утилита! Без неё не отредактировать!». А без текстового редактора текстовый файл тоже не отредактировать. Ещё орут: «Бинарный формат - плохо! При ошибках ФС его починить сложнее!». А что мешает добавить туда избыточной информации для восстановления? Кроме того, концепция реестра (с некоторыми ограничениями) ложится на файловую систему, поэтому можно использовать и привычные echo, cat, etc.

ls-h ★★★★★
()
Последнее исправление: ls-h (всего исправлений: 1)

почему windows-консоль все это умеет

В винде опять появилась консоль? Со времен 3.11 там её не видел. MS-DOS 10 называется?

ashot ★★★★
()
Последнее исправление: ashot (всего исправлений: 1)
Ответ на: комментарий от ls-h

Я тут всё контейнерами балуюсь последнее время. И возникла задача поправить во всех контейнерах конфиги у разных софтин.

http://www.confd.io/

Eshkin_kot ★★
()

Там же написано - Unpacking systemd. После этого тебе жаловаться на консоль как-то нехорошо.

Quasar ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.