LINUX.ORG.RU

Обзор консольных утилит для украшения Linux

 


5

2

Эти утилиты не про “боевую” продуктивность. Они про настроение, демонстрацию возможностей терминала, эстетическое удовольствие, ASCII/ANSI-арт и тот самый эффект, когда у человека рядом возникает вопрос: «А что это у тебя там такое красивое в консоли?» Многие из них живут на GitHub, часть доступна через пакеты популярных дистрибутивов, а некоторые стали почти культовыми в мире terminal eye-candy.

Зачем вообще нужны такие команды

Условно их можно разделить на пять групп.

Первая — псевдо-рабочая активность: утилиты, которые имитируют “бурную деятельность” в терминале. Вторая — ASCII/ANSI-анимации и заставки: дождь символов, трубы, лава-лампы, глобусы и прочие движущиеся штуки. Третья — текстовый декор: баннеры, говорящие персонажи, декоративные шрифты. Четвёртая — игры: простые, но обаятельные терминальные аркады. Пятая — утилиты для работы с текстовой графикой: например, вывод изображений прямо в терминал.

1. Ретро-терминал и фальшивая “серьёзная работа”

cool-retro-term

Это не просто команда, а полноценный терминальный эмулятор, стилизованный под старые ЭЛТ-мониторы: зелёное или янтарное свечение, сканлайны, блики, виньетка, дрожание изображения. Проект позиционируется как красивый и настраиваемый терминал с CRT-эстетикой.

Чем хорош:

  • создаёт очень эффектный “вайб” ретрокомпьютера;
  • подходит для демонстраций, скриншотов и просто удовольствия;
  • настраиваются цвета, шрифты и эффекты.

Когда использовать: когда хочется не просто открыть shell, а играть в хакера из 80-х.

genact

genact — это генератор бессмысленной активности. Он делает вид, будто у вас идут брутфорс, майнинг, компиляция, хакинг и прочая “жутко важная работа”, хотя по факту это постановка. Авторы прямо описывают его как nonsense activity generator.

Пример:

genact

Почему это смешно:

  • идеально для “смотрите, у меня что-то очень серьёзное в терминале”;
  • годится для стримов, роликов, мемов и фона;
  • можно запускать несколько экземпляров одновременно.

Это, наверное, одна из самых честно бесполезных утилит в списке.

hollywood

hollywood делает примерно то же по духу, но масштабнее: разбивает экран на несколько панелей и наполняет их техноболтовнёй, бегущими логами, псевдо-мониторингом и прочим киношным “компьютерным драматизмом”. Проект прямо описывает себя как генератор technobabble для “голливудской мелодрамы”.

Пример:

hollywood

Где уместен:

  • на втором мониторе;
  • на фоне во время презентаций;
  • для розыгрышей коллег;
  • чтобы почувствовать себя оператором центра управления полётами.

Если genact — это один экран “я очень занят”, то hollywood — уже полноценная декорация.

2. Живые ASCII-анимации и терминальные заставки

cbonsai

cbonsai выращивает бонсай прямо в терминале. Это ncurses-программа на C, умеющая генерировать красивые ASCII-деревья в статическом или “живом” режиме.

Пример:

cbonsai

Чем цепляет:

  • медитативная штука;
  • отлично смотрится в большом терминальном окне;
  • даёт ощущение, что терминал — это место не только для логов и grep.

Это одна из самых уютных команд в подборке.

lavat

lavat симулирует лавовую лампу в терминале, используя метаболлы. По сути это живой “пузырящийся” ASCII-или Unicode-скринсейвер. Автор прямо описывает его как lava lamp simulation in the terminal.

Пример:

lavat

Что в нём классно:

  • необычная визуализация;
  • хорошо демонстрирует, что терминал может быть плавным и органичным, а не только “угловатым”;
  • подходит для фона.

pipes-rs

pipes-rs — Rust-переосмысление старой идеи pipes.sh: по экрану растут и поворачивают разноцветные трубы, образуя бесконечный анимированный узор. Проект прямо называет себя over-engineered rewrite of pipes.sh in Rust.

Пример:

pipes-rs

Это классика жанра “поставил и залип”. Подходит для:

  • фоновой анимации;
  • скринкастов;
  • украшения startup-скриптов.

cmatrix

Одна из самых известных терминальных игрушек вообще. cmatrix воспроизводит “цифровой дождь” в стиле фильма The Matrix: столбцы символов летят сверху вниз с настраиваемой скоростью и режимами прокрутки.

Пример:

cmatrix

Почему до сих пор популярен:

  • это узнаваемая классика;
  • лёгкий и обычно доступный в репозиториях;
  • почти у каждого линуксоида был период “поставил cmatrix и почувствовал мощь”.

rusty-rain

rusty-rain — ещё одна вариация на тему Matrix rain, но уже на Rust и с упором на кроссплатформенность и кастомизацию: цвета, символы, скорость, направление. Проект описывает себя как fast, cross-platform Matrix-style rain effect for your terminal.

Когда выбрать его вместо cmatrix:

  • если хочется более современную реализацию;
  • если нужна дополнительная настройка;
  • если вам просто нравится Rust-экосистема.

unimatrix

unimatrix — ещё один “матричный” дождь, но с упором на Unicode, в том числе на японские полуширинные катаканы. Основан на идее cmatrix, но выглядит заметно богаче за счёт Unicode-символов и интерактивного управления.

Пример:

unimatrix

Если cmatrix — минималистичная классика, то unimatrix — более декоративная и выразительная версия.

mapscii

mapscii — почти магия: рендер OpenStreetMap в ASCII/Braille-стиле прямо в терминале. На вики OpenStreetMap проект описан как fun ASCII art zooming panning view of OpenStreetMap, а репозиторий говорит об ASCII/Braille world map renderer for your console.

Это уже не просто “прикол”, а демонстрация того, насколько далеко можно зайти с текстовой графикой.

Чем впечатляет:

  • карта мира в терминале;
  • перемещение и масштабирование;
  • отличный wow-effect для тех, кто такое видит впервые.

globe-cli

globe-cli рисует вращающийся ASCII-глобус в терминале. Проект adamsky/globe описывает себя как interactive ASCII globe generator, а crate globe-cli — как interactive ASCII globe in your terminal.

Пример:

globe-cli

Идеально для:

  • заставки;
  • оформления dotfiles;
  • просто красивого фона.

По впечатлению это что-то между screensaver и маленькой техно-скульптурой.

bb

bb — старая, но легендарная ASCII-demо-программа на базе AAlib. Debian до сих пор описывает пакет как high quality audio-visual demonstration of ASCII-art using AAlib, а репозиторий говорит об audiovisual demonstration for your text terminal.

Это уже почти демосцена в консоли:

  • абстрактные анимации;
  • визуальные эффекты;
  • дух старой школы Unix/Linux.

bb ощущается как музейный экспонат, который всё ещё умеет удивлять.

3. Работа с изображениями и терминальной графикой

chafa

chafa — уже не игрушка, а вполне практичная утилита. Она преобразует изображения, анимированные GIF и вообще графику в ANSI/Unicode-представление для терминала. Официальный сайт и GitHub описывают её как terminal graphics utility / command-line utility that converts image data into graphics formats or ANSI/Unicode character art suitable for display in a terminal.

Пример:

chafa image.png

Почему это полезно:

  • просмотр картинок по SSH;
  • вывод превью прямо в терминале;
  • поддержка разных режимов вывода, от старых text terminals до современных terminal graphics protocols.

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

4. Декоративный текст и “говорящие” персонажи

toilet

toilet — свободная замена figlet, предназначенная для вывода крупных декоративных надписей в терминале. Проект Caca Labs прямо говорит, что это free replacement for FIGlet и стремится к совместимости с ним; сторонние обзоры также отмечают поддержку цвета и разные форматы вывода.

Пример:

toilet "Hello, Linux"

Для чего годится:

  • красивые баннеры в shell-скриптах;
  • заставки в консоли;
  • оформление MOTD, README-демо и приветствий.

ponysay

ponysay — это cowsay, только с пони. Проект и man-страницы описывают его как pony rewrite of cowsay / cowsay but with ponies.

Пример:

ponysay "Добро пожаловать"

Это уже совсем нишевая эстетика, но если вам нравится культура terminal jokes, ponysay — классика.

charasay

charasay — более современная и цветная интерпретация идеи cowsay: персонажи, ANSI-арт, Rust-реализация. Репозиторий описывает проект как “The future of cowsay” и “display colorful ANSI arts saying something in your terminal”.

Чем он интереснее старых аналогов:

  • выглядит богаче;
  • использует цвет;
  • больше ощущается как terminal art, а не просто шутка.

5. Терминальное искусство со временем и ритмом

arttime

arttime — очень необычный проект: он совмещает ASCII/текст-арт с функциями часов, таймера и time manager. Описание на GitHub и в man-тексте именно так его и характеризует: clock / timer / text-art viewer for the terminal.

Это уже почти “арт-оболочка” для пауз, работы по таймеру и созерцания.

Подходит для:

  • pomodoro-подобных сценариев;
  • красивого idle-режима в терминале;
  • тех, кто любит смешение утилитарности и эстетики.

6. Игры в терминале

ascii-patrol

ascii-patrol — ASCII-игра, вдохновлённая аркадой Moon Patrol. Репозиторий и официальный сайт именно так её и описывают.

Это уже не просто “красиво бегают символы”, а полноценная игра:

  • ретро-ощущение;
  • настоящая аркадная динамика;
  • очень приятный пример того, что терминал остаётся живой игровой платформой.

ninvadors

ninvadors — терминальный клон Space Invaders на базе ncurses/ASCII. В описаниях проекта он прямо называется Space Invaders clone based on ncurses for ASCII output.

Если хочется не смотреть на анимацию, а нажимать клавиши и проигрывать пришельцам, это хороший выбор.

Что из этого действительно стоит попробовать первым

Если хочется быстро понять вкус всей подборки, я бы рекомендовал начать так:

  • для вау-эффекта: hollywood, cool-retro-term, mapscii, globe-cli;
  • для залипания: cbonsai, lavat, pipes-rs, cmatrix;
  • для пользы: chafa, toilet;
  • для юмора: genact, ponysay, charasay;
  • для игр: ascii-patrol, ninvadors;
  • для олдскульного демосценического духа: bb.

Небольшие замечания по установке

У части этих программ есть пакеты в популярных дистрибутивах или community-репозиториях. Например, cmatrix, hollywood и chafa встречаются в пакетной инфраструктуре openSUSE; bb есть как минимум в Debian; некоторые Rust-проекты ставятся через cargo, а часть более нишевых вещей — из GitHub-репозиториев вручную.

Поэтому универсальный совет такой:

  1. сначала проверить пакетный менеджер дистрибутива;
  2. затем посмотреть GitHub/официальный сайт;
  3. для Rust-утилит — не забывать про cargo install.

Итог

Все эти команды вместе показывают важную вещь: терминал в Linux — это не только рабочий инструмент, но и культурная среда. Здесь есть свои шутки, свой визуальный стиль, свои аркады, свои “демосцены” и свой способ делать красоту из простых символов.

Если смотреть прагматично, из списка действительно полезнее всего chafa и частично toilet. Если смотреть с точки зрения удовольствия — тут царят cool-retro-term, hollywood, cbonsai, pipes-rs, cmatrix и mapscii. А если хочется полностью принять абсурд терминальной эстетики, запускайте genact, рядом ponysay, а на фоне пусть крутится globe-cli.

★★

Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 2)
printf '\e[0;33;5m' ; hexdump -C /dev/urandom
firkax ★★★★★
()

Всё, теперь у меня передоз «ненужно».

Нельзя же так, надо дозировать :)

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

Не, ну chafa, ninvadors и ascii-patrol прикольные. Но о двух из них я уже знал.

CrX ★★★★★
()

А если вместо «бесполезных…» мы напишем «…консольных утилит для украшения Linux»?

hobbit ★★★★★
()

текст на уровне чат-гопоты модели 3.2-турбо

gagarin0
()
Последнее исправление: gagarin0 (всего исправлений: 1)

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

idoffront
()
Ответ на: комментарий от hobbit

Если уж что решил, то точно выпьет подтвердит

unclestephen ★★
() автор топика

Поставил hollywood, полюбовался две минуты, снёс. А этот гад мне включил цветную раскраску приглашения шелла. Причём всем пользователям:)

Beewek ★★★
()

Статья сгенерирована ИИ.

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

Да щас куда не зайдёшь, везде этот стиль, при чем непонятно, что хуже: или это ИИ, или это уже люди сами пишут в этом стиле, и им норм.

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

у меня ничего не поломалось, кста, именного его я ставил и запускал

просто некоторые вещи ломали зависимости или отсутствовали в репах

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

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

Что касается этого «автора», то он недавно выдал вообще очевидные помои: www.linux.org.ru/forum/talks/18259434

Раньше за ним такого не замечалось. Возможно, на него повлияли какие-то события во время его отсутствия в феврале.

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

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

telnet console-cinema.ltd 23

telnet console-cinema.ltd 24

и т.д.

gagarin0
()

chafa

все остальное либо мусор либо в репе нет

amd_amd ★★★★★
()

Есть ещё sl - прога, чтобы когда ты опечатывался при быстром наборе «ls» у тебя перед экраном пробегал аскии паровозик, и пока он не доедет, ты не сможешь ничё писать. Ни ctrl+c, ни насколько помню ctrl+z не помогают.

daniyal
()

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

dmitry237 ★★★★★
()

Киберпанком повеяло. Запустила genact в coolretroterm, любуюсь эффектами, и вдруг строка: «compiling josephine_derive». Полезла смотреть, что это за Жозефина такая, а ИИ мне выдает крипоту "По запросу «josephine derive» наиболее вероятным результатом является Жоржетт Жермен Жозефин Дерив (Georgette Germaine Josephine Derive), французская женщина, скончавшаяся 1 мая 2008 года в Эво-ле-Бен, регион Крез. Место смерти: Эво-ле-Бен (Évaux-les-Bains), Крез, Новая Аквитания, Франция. Источник данных: Национальный институт статистики и экономических исследований Франции (INSEE).

По-моему, не такая уж безобидная утилитка, и лезет куда не просили.

Irma ★★★
()

Афигеть, целая статья про скучные скринсейверы

daniyal
()
Ответ на: комментарий от gagarin0

Это какая-то вебня в альтернативном измерении, где гуи не победил, но веб приложения всё равно умудряются гадить.

daniyal
()

Ошибка кстати а уровне названия - это не утилиты Linux, а утилиты для любой posix совместимой оськи

daniyal
()
Ответ на: комментарий от Aceler

Выглядит прикольно. Не прикольно(я бы сказал печально) что заработало только через квн.

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

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

Стиль довольно-таки устоявшийся: связный, глагольный, основанный на фактах. Так писали по-английски, а следом и по-русски задолго до нейронок.

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

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

Даа, особенно «хорош» корпоративно-обезличенный стиль вот тут:

Почему это смешно:
Где уместен:
Чем цепляет:
Что в нём классно:

Машина нам будет в виде списка по пунктам рассказывать, «где смеяться», и что классно. Удивительная антиутопия. Это очень хороший пример, в котором видно отсутствие у машины квалиа, первичного опыта.

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

Я уже кидал эту ссылку где-то на форуме, но повторю. Вот тут - https://habr.com/ru/articles/1009228/ - очень неплохо описано, что собой представляет «ценность информации» в ракурсе субъективного опыта человека.

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

Совсем глобально и совсем локально ты прав. Но вот средняя перспектива:

ЛОР загибается: падает количество контента, падает посещаемость, падает активность. Появился пользователь, склонный к attention whoring и любящий нейросети, нагенерил приемлемого качества статью, дружественную для поисковых систем, получил порцию внимания. ЛОР получил как минимум контент и активность. А не было бы attention whoring и любви к нейросетям - не было бы вообще никакой статьи. Честное оригинальное исследование потянуло бы на неделю труда в свободное время.

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

А зачем мне выхлоп нейросети на ЛОРе, у меня покуда и так доступ к ИИ не забанен? Если результат точно такой же, как можно получить промптом, то…?

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

Честное оригинальное исследование потянуло бы на неделю труда в свободное время.

Может быть. И не факт, что дошло бы до релиза. Так может быть в этом и дело, что если бы оно не дошло, то значит по теме и нечего сказать существенного.

Ну или вот:

Написал статью про архитектуру GPT

Два с половиной дня с перерывами на прочую работу.

Первый день на черновик и диаграмму, второй на исправление очевидных косяков, третий на правку орфографии нейронкой и публикацию.

Вспоминается… Еще в нулевых был у меня один приятель, который любил повторять: «Можешь не писать код — не пиши». Сейчас применительно к любой писанине это стало очень актуально.

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

Сейчас, когда кругом сплошное ИИ, как раз выросла ценность штучного, уникального опыта.

Она не выросла, она всегда была, а помои всегда были ненужными. Просто автоматические генераторы помоев раскрыли кому-то глаза на их ненужность.

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

Я ещё сделал у себя alias ды=sl, так как это оказалось более частой проблемой для меня, чем перепутанные буквы.

Werenter ★★★
()
Последнее исправление: Werenter (всего исправлений: 1)
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.