Pull to refresh

Comments 247

Всё здорово, но вот одна вещь вызывает грусть:
Windows Terminal использует GPU для отрисовки текста, что обеспечивает повышенную производительность при использовании командной строки.

Куда мы катимся, что для текстового терминала может понадобиться аппаратное ускорение графики…
Не на электроне и уже спасибо.
Ничего странного, это сильно улучшает отзывчивость (хоть и повышает «глючность»).
Вот это для меня как раз и очень странно — что вывод текста без аппаратного ускорения может в принципе иметь плохую отзывчивость.
Так это не просто вывод текст.
Рендеринг шрифта, рендеринг окна, переключение вкладок, скролл. Всё это на видюхе делать быстрее. Пусть и для терминала это не настолько хорошо помогает, как для браузеров, например, но помогает.
Плюс на процессоре всегда куча прерываний, а видеокарта редко когда чем загружена.
Но ведь TrueType-шрифты появились в Windows в 1990-м году. И рендеринг шрифтов, окон и так далее работал без проблем с отзывчивостью на таких процессорах, что сейчас микроконтроллер в любой кофеварке шустрее.
> без проблем с отзывчивостью на таких процессорах
Это у вас просто в памяти так отложилось.
Я по случаю пересел с ~8550U на 6600U, и всё лагает. Проблемы с отзывчивостью видны прям сразу — я вот в браузере печатаю и чувствую задержку. И это не «самовнушение» — оба ноута рядом стоят, сравниваю.
А уж если сейчас пересесть с моего K1 (не самого быстрого телефона) на какой-нибудь Highscreen Zeus — там разница будет ещё ощутимее. Хотя в моей памяти зевс отложился как вполне шустрый телефон и тормозов на нём я тогда не ощущал.
Это у вас просто в памяти так отложилось.

Да не суть важно, даже если оно там притормаживало, минуточку, это был одноядерный процессор на 66МГц без всякой там суперскалярности, предсказания ветвлений и кучи исполнительных блоков. И такая же задача.
Я по случаю пересел с ~8550U на 6600U, и всё лагает

Ну так это у вас просто софт такой. У меня нет никаких лагов при наборе текста где-нибудь в Visual Studio, будь-то древний Core Quad 6600 в мастерской, более современный ноут на i7 4810MQ или Ryzen 7 2700 на работе. Но у меня и на последнем есть здоровенные лаги при вводе текста комментариев на Хабре в длинных ветках. И знаете, это тоже очень-очень грустно.
> Ну так это у вас просто софт такой.
Я про сравнение одного и того же софта всё же) И там, и там всё одной версии.

> И такая же задача.
Она на самом деле не такая же. Современный терминал состоит далеко не только из текста, иначе по функциональности он был бы как PTY, даже ctrl-f нельзя было бы сделать.
Или ребутаться нужно было бы, чтобы шрифт в терминале побольше сделать =)

> оно там притормаживало
Ох нет, оно там не притормаживало) Оно там буквы могло по полсекунды после ввода отрисовывать, если процессор хоть что-то делает — как сейчас по ssh в Китай сходить.
Она на самом деле не такая же. Современный терминал состоит далеко не только из текста

Так и я в качестве примера привожу отнюдь не текстовый зелёный терминал с символами из знакогенератора. Возьмите, например, Word четвертьвековой давности. Там задача рендеринга в разы сложнее, чем у этого терминала — не один моноширинный шрифт, а произвольное сочетание любых шрифтов, колонки, отступы, абзацы, кернинг, встроенные объекты. И всё это удобоваримо работало на 486-м процессоре, и молниеносно — на Пентиуме.
Ох нет, оно там не притормаживало) Оно там буквы могло по полсекунды после ввода отрисовывать, если процессор хоть что-то делает

Да не перегибайте. Это разве что если mp3 на 486 в фоне попробовать запустить :)
> Там задача рендеринга в разы сложнее
Там задача рендеринга решена «напрямую». Сейчас рендеринг всего продирается через кучу слоёв абстракций. Зато не нужно программировать рендеринг в каждой программе заново.

> И всё это удобоваримо работало на 486-м процессоре, и молниеносно — на Пентиуме.
Повторюсь — нет, не молниеносно)
Возьмите любое старое устройство и попробуйте поработать на нём на тех версиях софта — реальность окажется не такой радужной, как запомнилась. Да, возможно оно откровенно не тормозило, но скорость реакции была совсем ужасной по современным меркам. Были, конечно, оптимизированные программы, но в среднем по больнице всё там происходило очень медленно. Менюшки по 2 секунды открывались, буквы печатались по 150мс+, окна переключались по секунде, а программы запускались по 10-30 секунд (хотя стим у меня и сейчас полминуты на «игровом компутере» стартует, ага).

> Это разве что если mp3 на 486 в фоне попробовать запустить :)
Помнится, я на Celeron 667 ставил JetAudio, потому что это был единственный на тот момент проигрыватель, который не ставил колом всю систему )
UFO just landed and posted this here
> О чём и речь. Печаль.
Э нет, не печаль)
Вам правда не хочется писать вообще ВСЁ на С/С++ без сторонних библиотек =)

Для людей с десятилетними компьютерами — да, печаль, но все эти абстракции разгоняют скорость разработки в разы. Так что для остальных пользователей эти тормоза == новые фичи намного раньше.

Какой-то баланс, конечно, нужен, но в те века возвращаться точно никому не захочется)
Для людей с десятилетними компьютерами — да, печаль, но все эти абстракции разгоняют скорость разработки в разы

Понимаете, тут такой момент: это неправда и самообман. Не разгоняют. Есть какой-то предел сложности, навороченности абстракций, когда скорость разработки максимальная, и дальнейшее их усложнение не улучшает ситуацию, а может только ухудшить. Мы его давно прошли. Современные разработчики не реализуют фичи быстрее, чем, например, VB или Delphi-разработчики конца 1990-х. Может быть, даже медленнее :)
Ну как сказать не разгоняют. Сейчас «Hello, $name» бота для телеги можно написать за час на голом компьютере. Ботов для icq/irc/xmpp не все запустить за час готовых могли. А уж чтобы написать новую фичу — это нужно было душу дьяволу продать.
Сейчас «Hello, $name» бота для телеги можно написать за час на голом компьютере.

Поверьте, клиента для популярных 20 лет назад сетевых софтин точно так же можно было написать за час. Под ту же Delphi тогда было четыре десятка серверных и клиентских компонент под различные сетевые протоколы. Другое дело, что нам в нашей молодости на Delphi было писать западло, нам надо было чтоб обязательно ручками на С++ :) Но те, кто кому ехать было важнее, чем шашечки, брали и делали.
А уж чтобы написать новую фичу — это нужно было душу дьяволу продать.

В конце 90-х было уже всё то же, что и сейчас. Визуальная разработка, биндинги данных, ORMы и прочие приблуды. Единственное, что изменилось, это среда — раньше всё это делали на десктопе, сейчас перенесли в веб. И то, веб-разработка только относительно недавно доросла до того уровня продуктивности, который был на десктопе 20 лет назад.
UFO just landed and posted this here
Странно, странно. Я помню, как из-за winamp-а у меня всё тормозило, а самый слабый комп был именно 667 (да, это недо-P3). В итоге музыку я слушал с сидюка напрямую с audio-cd вплоть до покупки нормального компа.
Может с Винапом что-то не так было? Помню как играл в ГТА2, в которой у меня почему-то не работал звук, ставя параллельно плейлист в винампе с Наутилусами. Правда это был Duron 600.
UFO just landed and posted this here
Duron-ы быстрее были, на Duron с частотой ~700 у меня друг проходил GTA3 (камерой в пол, с тормозами, но играть можно было) и прошел ) На селероне я даже близко ничего запустить похожего не мог.

Winamp тормозил (заикался) с играми, конечно же.
дык винамп 5 это совсем не винамп 2.01

ISA-звуковая? Они были камнем на ногах еще у 486.

Да оно как бы и не мешало, на звуковую-то шли уже полностью декодированные сэмплы. Кроме того, звуковые со времен первых саундбластеров работают через DMA, поэтому она не сильно напрягала. У меня тоже была звукашка дешманская ESS 1869, и с mp3 в фоне я не расставался :)

Если каджиту не изменяет склероз, то DMA это EISA/VLB/PCI, а звучки не всегда были даже ISA16, для удешевления часто исполнялись как ISA8. Да и дисковая подсистема тоже могла быть в PIO, и запуск офиса или копирование файлов могли сделать систему крайне неотзывчивой.

Если каджиту не изменяет склероз
Изменяет. Вспомните строку инициализации Sound Blaster.
вучки не всегда были даже ISA16, для удешевления часто исполнялись как ISA8
Это совсем седая древность. Впрочем, DMA был и там.

Да, действительно, было и работало.
Правда, каждая операция должна была быть инициирована процессором (8237 был не то чтобы очень умен), но, таки серьезно сокращала IO нагрузку на CPU.

Pentium 166 mmx позволял играть mp3шки одновременно с игрой какой-нибудь.


Думаю это были не mp3шки. У меня был pentium mmx 2** (не помню), он не тащил mp3 с чем то еще. Да и просто так не особо тащил вроде. Зато midi шли, да.
На Celeron 300 уже игры со своей музыкой в MP3 шли (Serious Sam, Daikatana).
Для просто воспроизведения вполне хватало Pentium-100 (486 уже не хватало).
Да и просто так не особо тащил вроде
Это странно, у меня на 486DX в винампе отлично проигрывались mp3-шки в моно-режиме. Да, не стерео (там тормозило), но ведь и пень куда мощнее 486-го.

Уже на 5x86 mp3 224kbit joint stereo проигрывались нормально. Правда, проц подъедало почти полностью.

На Pentium 166 MMX проигрывание MP3 занимало около 20%.
Так что запросто всё работало.
Вот как раз JetAudio 4.7 и тащил mp3 на таких компах, по крайней мере до битрейта 128 кбит/с, тогда как прочие плееры лагали уже на 96 кбит/с.
У меня первый PC был на AMD 133 Мгц и это был единственный плеер, который позволял слушать музыку. Но на все остальное мощности ПК уже не оставалось. Даже во время работы в Word'97 уже звук прерывался. Про игры тем более речь уже не шла.
При загрузке на проигрывание mp3 порядка 10-15% на AMD-K5-100 (примерно аналог P1-90 по производительности) вполне себе удавалось параллельно с музыкой играть в какую-то виндовую гонку на машинах с большими колёсами (триальная версия, доставшаяся уже не помню откуда, но это первая виндовая игра, которую запустил на том компе). Похоже, у вас были какие-то проблемы с настройками или что-то типа видеокарты в isa…
на К 133 винамп норм работал. И еще чтото можно было делать. Правда версия 2. А вот потом начались винам 3-4-5 и он тормозил
У меня был 5х86-133, Винамп 2 не вытягивал воспроизведение mp3 даже 128kbit. Нашел какой-то плеер, умеющий воспроизводить с пониженным битрейтом но звук не понравился. В итоге гонял плейлисты в консольном плеере под DOS, там все работало.
Pentium 166 без MMX вполне тащил mp3 (WinAMP) + что-нибудь ещё, тот же ворд или Delphi 7. Фильмы в MPEG-2 тоже можно было смотреть, MPEG-4 конечно уже тормозил.
Pentium 166 mmx позволял играть mp3шки одновременно с игрой какой-нибудь.

У меня был AMD K5 PR133… при прослушивании mp3 больше ничего тяжелого делать было нельзя, иначе звук прерывался.
Только несжатый wav можно было слушать вместе с играми.
Там задача рендеринга решена «напрямую». Сейчас рендеринг всего продирается через кучу слоёв абстракций.

Скажите, вы правда считаете, что эти абстракции в графических ОС появились недавно, а не тогда же, в середине 90-х, на тех же медленных компьютерах? Системная компонента для визуализации сложного текста с разными шрифтами, параметрами, объектами и так далее, в Windows пришла с версии Win95.
Помнится, я на Celeron 667 ставил JetAudio, потому что это был единственный на тот момент проигрыватель, который не ставил колом всю систему

Не верю :) WinAmp на моём Pentium 150 вообще никак не мешал работать, останавливал только когда игры запускал, ибо FPS. А когда разжился P-III 450, там уже в реальном времени работала та красивенькая модная визуализация на основе моделирования потоков жидкостей. Ну и MPEG4 видео уже отлично воспроизводилось в любом плейере. А когда у меня был P-233MMX (собственно, апгрейд упомянутого выше Р-150), так я даже там ухитрялся смотреть фильмы MPEG4, но в винде оно было рывками, я нашел плейер под DOS, в котором работало нормально. Но так это фильмы, а музыка вообще была ерундовой задачкой.
Возьмите любое старое устройство и попробуйте поработать на нём на тех версиях софта — реальность окажется не такой радужной, как запомнилась.

Меня совершенно не смущает тот факт, что компьютер из 1990-х работает не очень гладко с программой из 1990-х. Меня смущает тот факт, что компьютер из 2020-х работает не очень гладко с программой, которая делает то же самое, что делала программа из 1990-х, которой для плавной работы было предостаточно в тысячу раз меньше ресурсов, чем ей дали сейчас.
во-первых, за 20 лет качество рендеринга текса очень сильно изменилось в лучшую сторону + сильно выросло разрешение экранов.
во-вторых, непонятно с чего вы решили, что терминал работает не очень гладко? Аппаратное ускорение получили просто потому, что используется D2D1 и DirectWrite, которые сейчас де факто стандартные апи для 2D графики в Windows. Я думаю даже в режиме программного рендеринга (не знаю есть ли опция в терминале, но D2D1 умеет) он будет прекрасно работать даже на очень слабых машинах.
> Системная компонента для визуализации сложного текста
Задача «рендерить текст» — очень малая часть в задаче «рендерить эмулятор терминала целиком». И даже в плане текста поменялось очень многое — шрифты на лету можно менять, масштабировать и так далее. iTerm2, например, на слабых макбуках не справляется с задачей масштабирования — если попытаться быстро сделать 500% ctrl-колесиком, он зависнет на полминуты.

> только когда игры запускал, ибо FPS.
Само собой, я говорил про ситуацию «winamp+игры», чему в то время ещё тормозить-то было) А вот jetaudio+игры — прекрасно уживались.

Я еще в то время не мог понять, почему winamp популярнее, чем jetaudio. Тем более, что тогда никто не парился, свободный это софт или платный. Разве что до 5 версии интерфейс был рассчитан на ворошиловского стрелка. До сих пор это мой любимый плеер.
Повторюсь — нет, не молниеносно
Году так в 1996 был администратором небольшого парка компьютеров в типографии. Типовая конфигурация: 486-й, Windows 3.11, Write (тот что в составе Windows), PageMaker, ATM (Adobe Type Manager).
Машинистки набирали текст в Write — как строчили из пулемета. И ничего, всё отрисовывалось. А вот в PageMaker — да, набирать было некомфортно, могли быть даже пропуски букв.
Возьмите любое старое устройство и попробуйте поработать на нём на тех версиях софта — реальность окажется не такой радужной, как запомнилась. Да, возможно оно откровенно не тормозило, но скорость реакции была совсем ужасной по современным меркам.

У меня как раз противоположное впечатление — под Windows скорость реакции интерфейса была существенно выше, а скорость работы — ниже. На 166 MHz вызов контекстного меню срабатывал молниеносно, а заливка выделенного пункта меню или отрисовка теней могла запаздывать — однако это не мешало выбрать нужный пункт. При изменении размеров окна (в тех случаях, когда было включено отображение содержимого при изменении размеров) его граница не отставала от курсора мыши, интерфейс был отзывчивым, а перерисовка окна (точнее, части (!) окна) была долгой. То же самое с перемещением окон. Да, во многих приложениях длительные операции выполнялись в одном потоке с message loop, приложение могло начать «лагать» — в какой-то момент побелеть, перестать обрабатывать ввод, а затем разморозиться и пачкой обработать всё, что успели натыкать, но в хорошо сделанном софте не было такого, чтобы текст отставал от курсора при наборе. В тех местах, где работать быстро на среднестатистическом железе было нельзя в принципе, предусматривали разного рода ухищрения либо практического характера (например, вместо редактирования текста с кучей эффектов in-place был отдельно режим ввода текста, а затем его отрисовка после подтверждения ввода), либо направленные на уменьшение субъективного времени ожидания (вроде анимированной рамки при zoom in/out в фотошопе вместо песочных часов).

Про современный веб лучше и не вспоминать, это уже просто дичь какая-то (ноутбук с Core i5)

UFO just landed and posted this here
Офис 97 — это же был bleeding edge, конечно он должен был тормозить на актуальном железе. Надо Word6 тестировать.
16 памяти было маловато, это был чуть ли ни минимум для работа вин 95, а вот офис 95 норм работал
UFO just landed and posted this here

А вот с хабром это какая-то странная проблема самого хабра. Какие-то js-хуки начинают тормозить.

Я по случаю пересел с ~8550U на 6600U, и всё лагает.

Это или самовнушение или электрон заело. Между ними нет настолько принципиальной разницы как даже между Celeron 533 (Cumine) и Celeron 1200 (Tualatin), на которых GDI абсолютно одинаково отзывчив, потому что для него хватает и гораздо более слабых камней.

> Это или самовнушение
Ну как самовнушение.
DDR3 против DDR4, ядер в 2 раза больше, всех кешей в 2 раза больше, одно ядро в тестах с плавающей точкой до +100% попугаев выбивает.

А ещё я 8650 с 8550 перепутал, мда.

Винды под руками нет, конечно.
Но единственный случай, когда именно лагал ввод за последние лет 20 это 5 языков проверки синтаксиса в хропере.


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


Sublime 3 на thinkpad T440s c i5-4300U при редактировании файлов через sshfs не тормозит.
Более того, там даже загрузки не видно. То же и с tilda, пока в ней tail'ятся логи.

Sublime не тормозит и на Thinkpad X40 (поработал за ним по случаю пару часов, жить можно, пока браузер не откроешь). Ну после того, как откроется, конечно.

Отзывчивость браузеров очень страдает, особенно Хромиума.

В краснопанде сотни полторы вкладок, полет нормальный.
Но, конечно, может сильно зависеть еще и от открытых страниц, некоторые любят кушать проц…
Отзывчивость, особенно, если речь идет от браузере, в общем случае больше страдает от недостатка памяти. Пока штатная 4ГБ-планка не уступила место 8ГБ было очень некомфортно и на убунте.

рендеринг шрифтов на экране компьютера 1990-го года и на современном 4k — кажется, все-таки немного разные вещи. Особенно когда надо как можно быстрее прокрутить до конца кучу текста с хинтингами, эмодзи, лигатурами, кастомными цветовыми схемами, и т.п.


Кстати, использовать gpu в терминале — не изобретение майкрософта. В linux такие эмуляторы уже давно есть и пользуются популярностью.

Разные, но именно немного. По крайней мере разница по сложности в разы, а производительность компьютеров выросла в тысячи раз. И я надеюсь, что в Windows Terminal всё-таки не встроили рендеринг эмодзи.

Почему не встроили? Встроили. Шрифты там рендерятся через DirectWrite, так что особая обработка там нужна только для двойной ширины emoji.


Imgur

О как… А лайкнуть понравившиеся команды там можно? Или в инсту запостить прикольный вывод какого-нибудь скрипта?
При фейлах сборки автоматически открывался issue на гитхабе, с копипастой списка ошибок.
Ага, и сглаживания мелких шрифтов не было от слова совсем.
UFO just landed and posted this here
Я знаю, что какой-то процент пользователей и в системе сглаживание шрифтов отключает (понять не могу, но принимаю). Но всё-таки большинство предпочитает смотреть на гладкие шрифты, а не на набор зазубрин.
UFO just landed and posted this here
UFO just landed and posted this here
Раньше шрифты были гладкими, без зазубрин и без красноты-синевы. Говорят, всё дело в hinting, на который сейчас в шрифтах забивают.
повышенную производительность при использовании командной строки

Хотелось бы представить use case, где производительности терминала не хватает… Но не могу. В старинном mplayer'е, который умел рисовать видео ASCII-символами, как-то получалось даже без GPU.

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

Вывод в stdout/stderr осуществляется с минимальной буферизацией, можно считать что синхронно. Современный «терминал» это довольно навороченное устройство вывода. Вам ведь нужны красивые шрифты с поддержкой юникода, 32 битный цвет, плавная прокрутка. Для ценителей — прозрачность и прочие спецэффекты. Поэтому для приложений, активно использующих ввод-вывод, тормоза очень даже заметны.

Есть варианты отладки высоко нагруженных приложений, которые выкидывают килотонны логов (если их включить) и соответственно задержки на вывод убивают всю производительность, для таких применений вполне =)

При отладке приложений которые выкидывают килотонны логов все как-то больше упирается в скорость восприятия человеком. 25 кадров в секунду. До сотни строк на кадр. Думаю, больше не потянет.

С чего вы взяли? Никто в реалтайме на эти килотонны при отладке не смотрит. Но вот когда дошли до точки останова, тогда уже и можно посмотреть, что оно туда выплюнуло (в том числе и больше 1000 строк назад иногда). И вот чтобы не ждать и так медленную отладочную версию часами, вывод и должен работать быстро. И сразу скажу, писать в файл, а потом его анализировать неудобно — потому как когда дошёл-таки до точки останова, удобнее видеть активность в консоли.

А как насчёт писать в файл, а потом тот файл читать через tail -f или аналог?

Ну сами подумайте, что проще для отладки: написать printf (Console.WriteLine, или ещё какие аналоги в разных языках), или создать файл и писать в него логи? А если приложение на миллион строк, и надо отследить взаимодействие между разными компонентами? Делать синглтон-логгер, который будет писать в файл? Во-первых, зачем мне это, если есть консоль. Во-вторых, зачем мне городить какие-то дополнительные сущности, если потом их надо будет удалять. Ну и в-третьих, если приложение многопоточное, то придётся пилить велосипед для синхронизации записи в файл. А в консоли эти проблемы решены изначально.

Существует такая штука, как перенаправление потока вывода.


Кстати, в многопоточном приложении при выводе логов в консоль может тормозить синхронизация этого вывода. То самое "решены изначально".

100500 этих логгеров… Умеющих и синхронизацию, и и разные уровни, и понимать release/debug…
Я просто забыл поставить тэг sarcasm. Не нужно воспринимать мой комментарии столь прямо. Это просто юмор)
UFO just landed and posted this here
Вот тут, например:
habr.com/ru/post/209776
утверждают что мозг обрабатывает картинку за 12 миллисекунд. Это примерно соответствует 80ти кадрам в секунду.
Однако, обрабатывать картинку и текст все-же задачи разной сложности.

Число 25 было взято относительно с потолка с отсылкой вот сюда:
ru.wikipedia.org/wiki/25-%D0%B9_%D0%BA%D0%B0%D0%B4%D1%80

В таких случаях стоило бы эти килотонны от приложения складывать моментально в «буфер экрана», а собственно выводить на экран в отдельной нити. Если не успели отобразить какие-то промежуточные кадры, то и хрен с ними.
Если высоконагруженное приложение может позволить себе рендеринг килотонны логов — это не очень высоконагруженное приложение ;)

Провёл небольшой тест: настроил тот же шрифт и размер терминала для Windows Terminal Preview и для PuttyTray, которым пользуюсь последние годы.


Сделал просто cat | grep одного лога. На одной и той же машине. По очереди.


Putty сделал это в 8 раз быстрее.


Скрин

image


Я бы не сказал, что это большая проблема в обычной жизни, но да, если бы у меня приложение выдавало в терминал больше текста, чем терминал может переварить, то это было бы в 8 раз медленнее. При этом видеокарту терминалы грузят одинаково, Geforce 1050 на 15-20%.


Второй пример: вывод лога на 22 000 строк. Слева новый терминал. Тут почему-то time у нового терминала показывает, как будто он всё мгновенно вывел, получается, команда уже выполнилась, а терминал всё ещё выводит.


Гифка


Заметил ещё одно: если во время вывода лога нажать Ctrl+C, то новый терминал принимает команду примерно через 2 секунды, а старый мгновенно. Во втором случае вообще не принимает, т.к. команда-то уже выполнилась.

Сделал просто cat | grep одного лога. На одной и той же машине. По очереди

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

Делал несколько раз то там, то там, ничего не перезагружал и не чистил, результаты не менялись. Тут в диск не упирается.


Лог на 100 000 строк и 13 Мб, грузится с SSD.


Если отправить его в /dev/null, то выполняется одинаково быстро в обоих терминалах, за 0.03 сек примерно.

UFO just landed and posted this here
На сколько я понимаю — это проблема операционки. Если делать без gpu — надо пройти слишком много слоев абстракции операционки.


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

Куда мы катимся, что для текстового терминала может понадобиться аппаратное ускорение графики…

Да оно же с самого начала использовалось. Текстовые режимы графических карт — это аппаратное ускорение отрисовки текста: пишем в память ASCII коды, карта делает всё остальное. Так что это возврат к основам — кидаем в шейдер code points и карта делает остальное.

Если что, аппаратное ускорение графики в винде было почти всегда. Всякие s3trio — уже умели копировать прямоугольники сами. Уж не знаю насколько оно использовалось и насколько без этого бы тормозило бы.

UFO just landed and posted this here
А есть, кстати, что почитать на эту тему? Как-то про эту часть не очень много написано — никто тогда не гонял бенчмарки особо, мало кто вообще знал что такое есть. Я точно знаю что ускоритель был, в датащитах по тем же s3 он есть, но вот как использовался и насколько он помогал — я не нарыл.

Вообще, я тут подумал что почти все компы, с самого начала, имели ускорение графики в каком-то виде — спрайты, текстовые/блочные режимы, ускорение записи в память в VGA (x-mode). Даже самый первый комп с UI — xerox alto, имел блиттер. Разве что в первых маках рисовалось все процом, и это дико тормозило.

Т.е. с чего вообще предположение что UI — это просто, и можно CPU-шкой рисовать — совершенно не ясно. Да и вообще желание юзать 60-ти ватный пепелац со всеми его branch prediction, чтобы копировать байтики — оно странное.
Я точно знаю что ускоритель был, в датащитах по тем же s3 он есть, но вот как использовался


Windows GDI вполне себе умел в аппаратное ускорение 2D графики, если драйвер видеокарты оное поддерживал.

почти все компы, с самого начала, имели ускорение графики в каком-то виде — спрайты, текстовые/блочные режимы, ускорение записи в память в VGA (x-mode)


Ключевое слово здесь — «в каком-то виде». Ибо назвать аппаратным ускорением графики запись сразу в несколько битовых плоскостей по заданной в управляющем регистре маске можно только с огромной натяжкой.

А те же аппаратные спрайты поддерживались далеко не на всех аппаратных платформах. На тех же PC, поддержки аппаратных 2D спрайтов в том виде, как это было сделано на Atari / Amiga, не было как таковой.
UFO just landed and posted this here
Вы небось не писали на каком-нибудь спектруме вывод текста на экран — вот где очень хотелось иметь аппаратное ускорение.
Так что пусть будет раз уж адаптер есть из коробки, а то индусы так напишут что никаких ядер не хватит даже на текст.
На спектруме стандартные ПЗУ-подпрограммы отрисовки символов были чудовищно тормозные. Самому можно было на порядок быстрее сделать.
стандартные ПЗУ-подпрограммы отрисовки символов
да нафиг они не нужны были, слишком крупные, делали 42 либо 64 лимвола в строке.
Первое самое комфортное, второе мелковато, зато помещалось больше и писАть легче.
На спектруме было ровно 32 стандартных символа (8×8) в строке. Конечно, там всё рисовалось в графическом режиме, можно было сделать любые символы, но это было намного сложнее.
Если уж на то пошло, на спекки был редактор с фреймовым скроллом (Storm Assembler). Без всяких разрывов и тормозов. Полная перерисовка экрана (для перелистывания страниц) ЕМНИП у нас занимала 3 фрейма (42 символа в строке).
В Винде даже настройки нет выставить репит > 20Hz.
Да даже с этой задачей она не справляется.
Как же смешно смотреть на дёрганый скролл на high-end компе.
Подождите, скоро получите «ваша видеокарта слишком устарела для запуска Windows Terminal, обновите видеокарту на современную»

Сглаженные шрифты с лигатурами на процессоре рисовать таки затратное дело. Учитывая что некоторые терминалы еще и под веб компилируются, то вообще ничего удивительного.

Есть unix-way. А есть M$-way (или windows-way, ну или уж совсем забытое слово маздай). Вот аппаратное ускорение для текстового терминала, а также всякие странные именно для текстового терминала фичи типа картинок и даже значков utf — это всё какой-то лукавый такой way. Шайтан короче! :-)
UFO just landed and posted this here
тогда можно использовать putty как и раньше
Как сделать, чтобы в Far Manager работала мышь?
События мыши не передаются в Far, вместо этого происходит выделение текста в самом терминале. У вас не так?
Хм… Вы меня поставили в тупик. Вроде работала, тоже смотрел FAR. Завтра проверю :)
Похоже, вообще в win-программах не работает (для пробы запустил mc из msys64).
У меня работает.
(порт под MacOS, запущенный в iTerm — эзотерической забавы ради поставил, а даже и вполне себе оказалось)
Вероятно, это от того, что у вас iTerm, а не windows terminal :)

Ну так тут обсуждается запуск в Windows Terminal, а не в iTerm.

Аналогичный вопрос про cygwin mc
Да, для всех программ, читающих ввод через консольные API windows (cygwin в том числе), мышь не реализована. Мышь работает только под WSL.

Ладно мышь, сочетания клавишь Ctrl+* не работает. Периодически появляется какое-то окошко, состоящее из 3 кнопок: свернуть, развернуть и закрыть.


К тому же настройка только через редактирования json. Это как вообще? Т.е. круто, что есть такая фича, но можно было бы и GUI сделать. А json для тонкой настройки. А так, открыл json и закрыл, потому что не знаешь что там можно писать.

Наверное, рановато они назвали релиз «версией 1.0».

А так, открыл json и закрыл, потому что не знаешь что там можно писать.
В json есть ссылка на документацию, в том числе на русском: docs.microsoft.com/ru-ru/windows/terminal

Если писать в VS Code, то даже работает автодополнение названий параметров.

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

Курите маны, они рулез :D
Это стало «модно-молодежно» потому, что имеет ряд плюсов в современном мире.

1) Конфигами и их частями можно делиться, класть их в систему контроля версий, публиковать на гитхабе.
2) Стандартизированный и документированный формат конфига позволяет любому написать к терминалу конфигуратор. Хоть GUI-приложение, хоть автоматические, которые будут настраивать его под определенное приложение или workflow.
3) Можно иметь несколько уровней конфигов. В терминале этого пока нет, но возможно, что со временем будет как в VS Code — системный, пользовательский, конфиг проекта.

Уверен, что со временем будут и репозитории готовых конфигов, и конфигураторы на любой вкус.
Всё это можно делать и имея нормальный GUI конфигуратор из коробки, это не взаимоисключающие понятия (см. iTerm2, например).
К тому же настройка только через редактирования json. Это как вообще?

Терминал — инструмент профессиональных «компьютерщиков», админов да программистов, средство доступа к консольным утилитами. Настройка через текстовый файл пугать таких людей не должна.

А так, открыл json и закрыл, потому что не знаешь что там можно писать.

Так как я поставил эту программу уже очень давно и формат файла конфигурирования уже изменился, то я поступил так — всё удалил оттуда.

Открыл еще раз — и файл уже заполнен дефолтными настройками и с комментариями что означает данная настройка.

Если чего не понятно — в этом же файле есть сылки на документацию.
Думаю, претензия была высказана не из-за невозможности разобраться. Разрабы пиарят программу делая акцент на оформление: красивые скины, возможность поставить картинку фоном, цветные профили и т.п. По факту, человек себе это все ставит, запускает, и… Та-дам — привет cmd.exe! При чем, в последнем, можно в пару кликов поменять шрифт и цвета на более приятные. Начинать первое знакомство с программой уровня «терминал» вдумчивым чтением мануала многим просто лениво, мы ведь про админов и программистов говорим.

Вы правы. Претензия как раз к тому, что с каким-то "терминалом" еще и разбираться надо. Т.е. можно разобраться, если захотеть это сделать. Но не хочется.

Настройка через текстовый файл пугать таких людей не должна.


json — формат сериализации, а не текст. Руками ковырять его немного удобнее, чем бинарник hex-редактором. Не пугает, но огорчает.
UFO just landed and posted this here

И есть редактор с подсветкой синтаксиса и автокомплитом.
Но, что самое забавное, это виндовый терминал.


В соседней теме некоторые от того, что им в не-винде галочек не сделали, кричали так, словно за ними сам Молаг Бал гонится, и тысяча Дочерей Хладной Гавани впридачу.

Просто программист очень сильно поленился. Сохранять-восттанавливать json — пару строчек кода. Читать-писать текстовый конфиг — каждую строчку со значением нужно уметь обрабатывать. GUI к конфигу в json — самое наипримитивнейшее формошлепство.
А GUI всё равно на порядок удобнее.

У VS Code тоже сначала было только через json, потом добавили GUI.


Я сегодня потыкал новый терминал, справка у него небольшая, я осилил, прочитал все настройки, ввёл нужные мне, да, чуть сложнее, но не намного.

Попробовал новый шрифт CascadiaСode в PyCharm/CLion (на Windows). Споткнулся о символ «4», откатился обратно на Consolas с лигатурами.
UFO just landed and posted this here
Попробуйте его использовать чуть подольше, лично мне тоже сразу совершенно не зашёл, но решил дать ему второй шанс — через пару дней использую везде. Своеобразный шрифт получился, с характером, теперь после него что Consolas, что Iosevka кажутся ужасно скучными.
Когда шрифт для программирования, он и должен быть скучным, не отвлекать от процесса. Но, это, так, а лично мне еще очень не понравилась его «жирность». Возможно, это следствие использования 30" Dell монитора 2560x1600 и настроек темной темы именно на consolas…
Уважаемые, а подскажите, что за шрифт такой(интересует символ перед «master»)?
Во многих шрифтах есть. Например, у меня в терминале стоит шрифт Meslo, вот точно так же выглядит
Так эта самая Cascadia (какая-то из 4x вариантов).
Спасибо!
Он был, оказывается, но стоял Menlo.
Это символы Powerline, изначально плагин для статусной строки Vim, теперь для многих оболочек (в том числе и powershell) есть дополнения, которые такие символы тоже используют.
Пока он выходил, я успел пересесть на linux.

нет, более того, оно не работает даже на Windows 10 LTSC, ибо устаревшее уже. Работает только начиная с 1903.

Вы шутите что ли? Всмысле устаревшее? 1903 был в марте 19 года. С каких пор совместимость десктопного ПО стала равна одному году? Кто то там считает что я буду преписывать дектопное ПО раз в год под их супер пупер виндовс? А не пойти ли им кудо то…
Я смотрю худшие тенденции веб разработки просачиваются в остальные сферы.

А кто заставляет вас что-то переписывать?


"Дектопное ПО раз в год под их супер пупер виндовс" переписывает Майкрософт. И больше никого это делать не заставляет. Вы можете продолжать писать свое десктопное ПО под XP. И десятка его запустит. И 1903 и 2004.

Я вас может расстрою, меня лично, индустрия… а кто заставляет переписывать проекты на новые версии фреймворков на том же js? Да никто, просто если ты не переделаешь то будет работать криво или вообще не работать, вы конечно можете не переписывать, но останетесь за бортом.
И чет меня не радует что такое же начинается с программами которые написаны на C++. Вы скажете — «Так это ж только в майкрософт и только в терминале», а я вам отвечу — «начало положено и не абы кем».

Переписывать чтобы не работало криво, звучит как путь в некуда. Возможно в таких случаях стоит уделить больше внимание проблемам, которые не были рассмотрены изначально, включая проблему подхода к выбору инструментов. В целом соглашусь с тезисом про веб разработку. Однако в моем понимании, именно этой "индустрии" удается навязывать инструменты только благодаря востребованности в кадрах. Использование актуального и популярного инструмента означает, что заказчик сможет легко найти разработчика, который максимально быстро включится в полноценный рабочий процесс.


Upd. Для меня переписывание приложений немного личная тема. И в последнее время пришел к выводы, что не существует никаких проблем для написания "не кривого" кода на старых инструментах. А вот рынок определяет, что стоимость разработчиков, готовых работать с таким кодом, растет с падением популярности этих самых инструментов. В итоге это становится требованием бизнеса в гораздо большей степени, чем просто желание разработчиков, и это вообще никак не связано с качеством кода как таковым.

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


Никто не дропает поддержку "программам на C++", написанных год назад. Терминал изначально, с самого своего появления, таргетировался на версию 1903. B более старые версии не поддерживал.


Еще раз: не windows перестал поддерживать терминал, написанный всего 2 года назад, а терминал с самого начала писался под windows 1903, а не более старые.


Продолжая вашу веб-аналогию, это не Chrome перестал поддерживать js код, написанный под IE6 и теперь всем нужно срочно обновлять свои сайты, "чтобы не остаться за бортом", а один единственный сайт решил использовать WebGL 2 и соответственно, таргетироваться на хром 65+. Заметьте, даже не мигрировать на WebGL 2 с более старой версии АПИ. Просто с самого начала писать с WebGL 2.


Ну типа как писать "программу на C++", но без поддержки Windows XP или Windows 3.1.

Этот Терминал написан с применением нового PTY Api, специально для этого созданном и появившемся в релизе 1809. На прочих версиях, соответственно, этого апи нет, и работать не будет.

в 1809 не работает, там ещё более новое API требуется

Попробовал Windows Terminal вместо ConEmu. Очень странный получился mvp. Нагородили какой-то космос, но пока не сделали даже элементарный quake mode github.com/microsoft/Terminal/issues/653. С клавиатурой тоже все не просто github.com/microsoft/terminal/issues/4999. Пока не вариант.

Для quake режима написал себе скрипт для autohotkey. В той ветке что вы скинули, тоже есть несколько решений. В целом это костыль конечно, но уже несколько месяцев пользуюсь, все устраивает. А вот на conemu больше недели просидеть не смог, лет 10 до этого пользовался линуксом.

Всё ещё интересует.
Вот target user group этого — это или продвинутые пользователи и разрабы. Последние сидят, часто (не всегда, ессно) в корпоративных сетках за всякими там домейн полисями. Как им поставить этот терминал, а? Собирать из сырцов?
Чего б дистриб не сделать?
Интересно, для продвинутых пользователей доступно скачивание с гитхаба github.com/microsoft/terminal/releases, или вы говорите о каком-то другом уровне продвинутости?
Слона я и не приметил. Осталось, чтобы админы не закрывали и это, чтобы в корпоративной сетке винда была нужного билда.
КМК, кто умеет в полиси, тому установить еще одну программу несложно.

Прошу опытных пользователей хабра объяснить — что эта статья делает в хабе "Настройка Linux"?
Специально ради этого почитал саму статью.
Даже на их гитхаб сходил.
И не понял.

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

А хаб "Системное администрирование" причем?
Типа если оторвал руку от мыша и набрал буквы в "страшном чОрном экране" ™, то уже — хобана! — Системный Администратор ™?
Ну тогда надо уточнять — "Системное администрирование Windows".
Ибо можешь в клавиатуру (хоть как-то).

Как прожженый линуксоид, кину еще пару лопат на крышку гроба стюардессы.
Да, и пошлю пару лучей не-скажу-чего тем афтырям чятега, из-за которых я не могу гойлосовать. Оно работает, я проверял...)))
UFO just landed and posted this here

Верной дорогой майки идут, вот бы они с сетями поработали ещё. А то как надо будет маршруты с интерфейсами крутить скриптами, так сразу слёзы. Впн поднять из консоли вообще невозможно на голом ps (openvpn ad credentials + otp при обращении по сетевому адресу или ssh подключении)

Так ведь они уже есть, в составе MSYS, cygwin и WSL.


И да, все три можно запускать в новом терминале, как и любую консольную программу. Откуда вообще вопрос?

UFO just landed and posted this here

Для того чтоб написать кроссплатформенный софт необязательно использовать электрон, достаточно писать на C# и не использовать winAPI чтобы получить mono совместимое приложение

UFO just landed and posted this here
Кстати, у кого-то из реальных приложений в реальном мире это получилось? Вот правда, чтобы была рабочая програма на шарпе и запускалась на всех ОС?
Я лично своими руками запускал на Mono на Linux написанную на C# программу распаковки резервных копий с телефонов Nokia. Причём, в той программе ещё и GUI был — и он работал под линухом.

Какой-то менеджер пакетов под Unity тоже вполне себе заводился на МакОС под Mono (.NET Core тогда был ещё только в проекте).
Нет, я понимаю, что при желании запустить можно много чего. Мне интересно, есть ли продукты (коммерческие или бесплатные), разрабатываемые на С# и официально декларирующие поддержку разных ОС. Есть очень большая разница между ситуациями, когда разработчик говорит «ну вы там попробуйте, может и запустится» и «мы даём полную официальную поддержку на таких-то ОС».
Не знаю как оно сейчас поживает, но был к примеру OPDS сервер для фб2 книг. Когда то запускал успешно lin/win TinyOPDS

Есть система резервного копирования Duplicati, которая официально поддерживается на Windows/macOS/Linux и содержит платформо-специфичный код для этих целей.

Я думаю все где в описании упоминается Xamarin будет запускаться везде, тк как я понял кросплатформенность ксамарина из моно и растет.
Но тут конечно есть ложка дегтя в том что майкрософт официально не благословил использование WinForms в моно, хотя при этом владеет ксамарином, который пилит моно.
Вторая ложка дегтя в том что разработчики зачастую используют готовые компоненты/библиотеки, которые в свою очередь могут использовать WinAPI, что рушит кроссплатформенность на корню. А убивать сотни человеко-часов для какой-то там абстрактной кроссплатформенности (которая может закончиться по первому письму из майкрософт) на свои собственные флексгриды и репорт дизайнеры — экономически неэффективно.
Добавили свистоперделок в виде цветовых схем, но банальный копипаст примеров схем из документации приводит к ошибкам в файле. Разбираться в файле настроек желания у меня лично не появилось. Зачем весь этот огород при наличии обычного терминала WSL — непонятно.
Единственное, что можно использовать, это вкладки.

Оно же вроде по-дефолту должно фокус окошек переключать. Ctrl+B+Alt+left/right/up/down про ресайзы.

Да, оно — сделал unbound и заработало.
Я, конечно, не самый опытный пользователь консоли, но, как по мне, выглядит очень достойно
А историю введенных команд добавили?
1. Сделайте настроки мигания курсора (не должен он мигать), выключать для всего windows не хочется, т.к. это влечет глюки, которые вы тоже править не хотите :)
github.com/microsoft/terminal/issues/1379

2. В Hyper-V, через который все это летает нет до сих пор возможности пробросить внутрь USB устройство! 2020 год на дворе!
Приходится пробрасывать отдельный PCI девайс — USB контроллер. У меня слотов мало на материнской плате, чтобы ими разбрасываться подобным образом.

Отсутствие проброса USB в Hyper-v это фича, а не баг, о чём MS многократно говорили.
Проброс USB ломает live migration, кластеризацию и всячески привязывает виртуалку к конкретному гипервизору. Используйте USB-over-IP.

В целом соглашусь, что лучше бы оно было, но хотя бы есть логическая причинае, почему этого нет.
Проброс USB ломает live migration, кластеризацию и всячески привязывает виртуалку к конкретному гипервизору. Используйте USB-over-IP.

Это мой ноутбук, какой там еще live migration и кластеризация?
Причем у VMWare это есть и в ESXi (про workstation молчу).

USB 3.0 over IP не взлетит нормально, у меня там хитрый SDR с большим потоком данных.
К сожалению старт батника все равно открывает отдельную командную строку(
Картинка в фоне и эмуляция ЭЛТ монитора это крутые фичи которые так нужны в терминале?
Ради этого стоило городить рендер на GPU?
Конечно, именно ради этого! :/
UFO just landed and posted this here
Товарищ по работе воспользовался сим терминалом. Цитирую:
"""
насчет скорости отрисовки через gpu — нагло тормозит при перемещении окна, перерисовывает медленно
"""

Подозреваю, что даже на GPU надо уметь что-то делать. Вобщем, я так и не понял шумихи с этим терминалом. Правда, справедливости ради, красивый бекграунд на терминале я видел в 1999-м на kde2, а несколько позднее — юникод с иероглифами в консоли, так что у меня было время отойти от вау-эффекта.
UFO just landed and posted this here

Скачал терминал, по тыкал в нём командную строку. Из плюсов терминала только вкладки, в остальном тоже самое что и cmd.exe.
Выделить текст и удалить его в один клик по прежнему нельзя, поставить курсор в любое место тоже нельзя, всё как в cmd.
Это я не разобрался или таких элементарных функций редактирования текста уровня блокнота в этот терминал не завезли?
Пользуюсь GUI, который вызывает cmd, вот это намного удобнее, никакой красоты нет, но зато возможностей редактирования текста больше чем у блокнота.

Похоже что Вы немного не разобрались. Это не редактор текста, а эмулятор терминала. Не уверен существуют ли какие-то стандартные инструкции для передачи информации о выделении текста, но если даже нечто подобное существует, то реализация удаления выделенного текста должна присутствовать в программе где вы этот текст вводили (cmd, powershell, bash, etc).

Так раз это эмулятор, то значит так же вызывает cmd.exe или не так?
Просто в диспетчере задач отображаются процессы именно cmd, поэтому предположил, что этот терминал просто вызывает cmd.
А раз он просто вызывает, то какие проблемы сделать текст редактируемым, в cmd он отправляется всё равно только после нажатия enter.

Нет, в cmd отправляется каждая нажатая клавиша. Иначе бы не работал автокомплит (который в cmd использует клавишу Tab).

Понял, спасибо, не знал об этом.
В cmd запускаю только консольные проги, и часто там по 3-4 строки параметров, и никакой автокомплит не нужен, но часто нужно изменить пару параметров в первой стоке, а передвигать курсор через все строки долго.

Даже при нажатом Ctrl долго? Попробуйте тогда кнопку Home использовать :-)

Долго, при нажатом ctrl перемещает по пробелам, а пробелов там куча.
Вот например кусок команды:
-v -s 5 -I 100 -i 1 -b 3000 -l 1000
И такого может быть 3-4 строки. А home это только в самое начало, а если в середину?
Всё же GUI удобнее в этом плане, тыкнул в любое место и изменяешь, выделить часть и удалить в 3 клика с зажатым shift.

А ещё решил проверить как он по производительности и что-то выходит медленее чем cmd. Так что похоже он просто не для меня.
Можно сделать обертку в виде .bat. Вместо GUI будет вам редактор, любой.
Знаю, но GUI мне пока хватает, есть кнопка run для запуска, а самое удобное — это добавление путей к файлам.
Использую ffmpeg и ещё некоторые кодеры.
Far Manager must have для игр с путями, файлами и папками.
Основная задача этого терминала — работа с WSL2 и попытки привести консоль в windows во вменяемое состояние, т.к. там было столько кривого legacy, что допиливать что-то было крайне сложно.

По моему мнению 90% его пользователей будут там пускать bash/zsh — даже для них еще пока маловато функционала, про пользователей cmd думают уже во вторую очередь, они то с windows все равно никуда не денутся.

Коротко это будет сложно объяснить. Грубо говоря данный софт реализует абстракцию над железками и генерирует различные последовательности байт, какие бы генерировали железки при осуществлении ввода пользователем. Вводом в данном случае можно считать даже замену перфокарт. А cmd.exe это просто интерпретатор, по смыслу тоже самое что и bash. И на вход он принимает последовательность байт, а не символы, слова или текст. И по большей части данному интерпретатору все равно, от эмулятора ему приходит эта последовательность или с каких-то древних железок напрямую. Если Вы про то почему они не добавят возможность редактирования в cmd, то это уже совсем другая и довольно длинная история, которая имеет к Windows Terminal лишь самое косвенное отношение.

Так раз это эмулятор, то значит так же вызывает cmd.exe или не так?
Просто в диспетчере задач отображаются процессы именно cmd, поэтому предположил, что этот терминал просто вызывает cmd.
А раз он просто вызывает, то какие проблемы сделать текст редактируемым, в cmd он отправляется всё равно только после нажатия enter.


Вы путаете shell и terminal. Ликбез:

Hello, World! Глубокое погружение в Терминалы

Выделить текст и удалить его в один клик по прежнему нельзя, поставить курсор в любое место тоже нельзя, всё как в cmd.
Это я не разобрался или таких элементарных функций редактирования текста уровня блокнота в этот терминал не завезли?


Это вопрос не к терминалу, а к тому софту, что в нем запускается.
Даже в старом терминале, который вы называете cmd.exe, не было никакой проблемы редактировать где угодно и поставить курсор куда угодно (в пределах логики работы программы, разумеется), если только запустить в нем не голый cmd.exe, а FAR Manager, к примеру.
P.S.:
В новый Терминал мышь еще не завезли полноценную. Но, судя по тому, что в старой реализации управление мышью было возможно, то будет и в новом.
В новый Терминал мышь еще не завезли полноценную.

Для использования с cmd.exe.
А с WSL он уже может использовать мышь.

А я заметил изменение в редактировании текста: по Ctrl+стрелочки можно по словам курсор переставлять, мечтал об этом много лет )


Ещё заметил, что в vim и в mc не работает мышка как надо, но мне и не особо надо.


Вообще да, я бы в презентации терминала делал акцент на:


  • профили
  • встроенные цветовые схемы
  • поиск по выводу

По-моему, этот новый терминал призван заменить ConEmu и у него получается.

Ctrl+стрелочки всегда работали

Круто, не знал ) Действительно, в cmd работает. Я всё с putty сравниваю, новый терминал первый, кто претендует на его замену

Они и в putty работают, если программа на той стороне умеет их обрабатывать. Говорят, это в ~/.inputrc настраивается.


Их работа находится в зоне ответственности консольной программы, а не терминала.

Спасибо, благодаря вам ещё раз погуглил, нашёл волшебную галочку в Putty: Terminal > Features > Disable Application cursor keys, если её поставить, начинают работать Alt+стрелочки!

Облом, эта галочка отключает управление с клавиатуры в псевдографике типа mc.

Анимированный бэкграунд, ретро-эффекты…

Вот честно скажите, в продакшите, в повседневной работе вы точно это будете использовать?
Не так, чтобы просто день-другой побаловаться, а так, чтобы постоянно.

А самой главной, рально удобной фичей, которая многим будет полезна — всплывающий терминал (ака quake style), несмотря на то, что уже год как баг заведен, кучу плюсов и лайков собрал, так и не завезли.

Куда уж там, анимированный бэкграунд куда полезнее. :(

Вот немного не понимаю подобных претензий. Практически на 99% уверен, что данные фичи реализуются на голом энтузиазме, и если угодно в свободное время. А попадают они в релиз и в подобные статьи только потому что это прикольно, а не ради какого-то высшего смысла. По крайней мере я легко могу себя представить на месте разработчика, который решил сделать нечто такое. И почему в этом случае я должен быть ограничен тем, что этим никто не станет пользоваться? Потому что Вы так сказали? А касательно фичи, возьмите и завезите, и если не для всех, то хотя бы для себя, тем более в треде, что Вы скинули, уже есть несколько решений.

Этот терминал нельзя использовать для серьёзной работы, потому что там даже transparent курсор не реализован. Т.е. когда курсор в виде закрашенного блока, то символы под ним не видно. Во всех нормальных терминалах символы под курсором видно, а в этом нет. Как так? Кто вообще его использует для работы?

UFO just landed and posted this here
Хм, а могу ли я не использую всякого рода извращения вроде Putty теперь «из коробки» подключиться к своему серверу на Linux или проще в Ubuntu это делать и дальше? ssh можно как то в cmd из коробки уже заюзать?:)
Не совсем понятно, что значит «из коробки»? Windows Terminal такая же отдельная программа как и Putty и не входит в состав ОС. SSH-клиент в свою очередь может представлять собой консольную утилиту, такую же как, например ping или diskpart(а вы не знали?). Можно добавить папку с консольной программой в переменные окружения и вызывать программу только по имени.
Про «из коробки» уже ниже ответили, что теперь в Windows есть ещё и ssh клиент, это хорошо.
Хм, а могу ли я не использую всякого рода извращения вроде Putty теперь «из коробки» подключиться к своему серверу на Linux или проще в Ubuntu это делать и дальше? ssh можно как то в cmd из коробки уже заюзать?:)


Зря вы так на Putty. По качеству реализации необходимых протоколов она впереди этого нового терминала.

Только это разные вещи. То о чем вы говорите — это отдельная от терминала программа клиента ssh.

Например, вот эту MS продвигает winitpro.ru/index.php/2020/01/22/vstroennyj-ssh-klient-windows
image

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

Но, если вам интересно получить и терминал и ssh в одном флаконе, то есть Fluent-teminal и Terminus. Могу ошибаться, но вроде бы в обеих этих программах есть встроенный клиент ssh.
Ооо, благодарю. Хорошо что MS продвигает клиент OpenSSH, это правильно.

Putty всем хорош был бы если бы не какой то левый формат ключей из-а которого мне проще пароль для root от сервера сохранить и забыть. Поэтому совсем хорошо через Ubuntu, благо в 10 теперь виртуалка не нужна и запускается Ubuntu мгновенно. Знаю что будет WSLv2, но я буду v1 использовать до упора.

В общем то я только в этом году окончательно переполз с 7 на 10 и пока не рад, чувствую что надо на Ubuntu переползать ибо без пакетного менеджера какой то гемморой по работе сплошной получается вместо работы. Добивает ещё постоянно виснущий SearchUI.exe, у меня и телеметрия включена и отчёты отправляются, но больше года эта проблема как была так и есть, уныло постоянно этот биоразложимый код из процессов убивать. Ещё по какой то причине на моей основной машине система не может обновится уже многие месяцы: Обновление функций до Windows 10, версия 1909 — ошибка 0x800f081f. В общем перестал радовать Windows стабильностью и отсутствием глюков, теперь такая же возня как с Linux, а местами даже хуже. Зря MS распустили отдел тестирования и перешли на выкатывания новых ОС раз в полгода, нестабильное оно всё, к сожалению, работать мешает. Даже откладывание настройками обновлений функций не спасает от глюков.
левый формат ключей


Формат как формат. В openssh и обратно конвертируются же?
Конвертируется, но лень.
На Ubuntu я просто жму:
ssh IP -p PORT
ssh-copy-id root@IP -p PORT

и всё, один раз и больше ничего не надо :) Никаких страданий, никакого конвертирования, с Putty я использую только пароль потому что его тоже без страданий сохранил один раз и пользуешься.

P.S. команды у меня в текстовичке сохранены потому что это делается раз в «вечность».
Конвертируется, но лень.


Понимаю ;) Пирожок не на той полке… Не очень то и хотелось ;)
Агу, просто очередное бесполезное знание, нужное раз в год-два, а нужно ли оно если в Ubuntu достаточно скопипастить команду? :) Мне и так хватает вещей выносящих мозг постоянно, уже книжки художественные почитать некогда )
очередное бесполезное знание, нужное раз в год-два


Большинство знаний такие ;). Мне достаточно знания о том, что формат даннных Х можно конвертировать в Y. Подробности, когда будет нужно, гуглятся, например.
Можно, но зачем если достаточно в Putty поставить галку «Save password»? :) Я то понимаю что разницы между паролем и ключом в плане безопасности ноль, вопрос лишь удобства. В Ubuntu удобно сохранить ключ, а в Putty удобно сохранить пароль. Вот и вся логика.

и для mayorovp тоже.
разницы между паролем и ключом в плане безопасности ноль


Неправда. Слабый пароль задать легко. Слабый ключ — сложнее. Пароли брутфорсят, ключи — нет.

В Ubuntu удобно сохранить ключ, а в Putty удобно сохранить пароль.


<zanuda>s/ubuntu/openssh/</zanuda>

Неправда. Слабый пароль задать легко. Слабый ключ — сложнее. Пароли брутфорсят, ключи — нет.

Ну я сторонник того что я не полный идиот и пароль длинной 63 рандомных символа ничем не хуже ключа. Это во первых, а во вторых у меня везде статические IP и про брутфорс сейчас вообще смешно было поскольку SSH пускает только с трёх IP на планете :) И да, на сервера я хожу под root-ом поскольку сервисы (демоны) либо снижают себе права до nobody после инициализации, либо работают под отдельными пользователями которым мало чего можно. Но я то захожу администрировать сервер ;)

P.S. на случай крайне маловероятной «внезапной смены статического IP» есть запасной вариант, называется админка хостера, там тоже есть доступ к консоли.
Можно ещё вспомнить про масштабируемость (добавить второго администратора в эту схему, а потом отозвать его полномочия без смены всех паролей), переносимость (на другой комп с windows настройки putty еще можно перенести. На android — не уверен. ).
На счёт маштабируемости, я опять же сторонник того что я не полный идиот и что на моих микросервисах второй администратор не будет нужен никогда, собственно с 2003 года он ни разу не понадобился, хотя сервера переезжали много раз. Все эти полтора сервиса даже на публику не светятся. Это мои личные сервера с нужными, буквально, только мне проектами ;)

P.S. и вообще я ни админ ни разу, просто вынужден это делать из-за фриланса и необходимости как то поддерживать инфраструктуру ибо нанять админа на зарплату «домой» денег нет.
Такое впечатление, что я пытался продать вам вашу ручку, но вы устояли ;)

Ну так, получается, проблема-то не в формате, а в отсутствии аналога ssh-copy-id в составе Putty.

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

puttygen умеет вроде конвертировать ключи. И, с другой стороны, ssh-keygen тоже умеет.
Здравствуйте
А как сделать автоматическое добавление выделенного в буффер обмена?
А то ведь как получается: если пользователь выделил текст — то с вернятностью 100% что он сделает?
— Скопирует?..
— Ну не знааааю… пусть тогда нажимает раскоряку Ctrl+C

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

… только не в системный, а в мышиный, как в X.

А то ведь как получается: если пользователь выделил текст — то с вернятностью 100% что он сделает?
Удалит, например.
Еще одним фаворитом пользователей является функция ретро-эффектов. Ironyman добавил поддержку эффектов, создающих ощущение работы за классической машиной с ЭЛТ-монитором. Никто в команде и подумать не мог, что эта функция появится на GitHub, но она была настолько хороша, что мы просто не могли не включить ее в Терминал

Не знаю, возможно, я слепой — но где эту тему брать?
Терминал огонь, уже давно им пользуюсь. Но очень огорчает, что в far теперь нельзя пользоваться кнопками контекстное меню на клавиатуре и, например, shift+enter чтобы открыть директорию в explorer.
Попробовал. Красиво, удобно. Заменил tmux этим терминалом, посмотрим как пойдет. Правда не понял как сохранять размеры и положение панелей, чтобы при новом входе восстановить всё как было. Такая фича реализована, или только с командной строки запускать со сплитом окна и последующей подгонкой размеров? В tmux мне для этого пришлось установить плагин resurrect.
Sign up to leave a comment.