Сегодня 1 апреля и ежегодно в этот день разные Интернет-ресурсы публикуют вымышленные курьёзные "новости" а также просто всякие несерьёзные статьи. Вот и я решил в сей пятничный день немного приобщиться к этому весёлому многообразию. Сегодня мы обратимся к разным забавным, хотя и бесполезным программам, работающим в консоли эмулятора терминала. Видимо — ввиду несколько неформального начала UNIX (как известно, Кен Томпсон написал игру Space Travel для компьютера PDP-7) — различные "бестолковые" программки писались буквально с первых дней существования операционных систем. Что ж, давайте последуем за героем замечательных комиксов Дэниеля Стори и разнообразим жизнь в "скучной" консоли.
fortune
fortune
была написана Кеном Арнольдом аж в 1979 году. При запуске программка выводит случайный афоризм, цитату или шутку.
~ $ fortune
Patch griefs with proverbs.
-- William Shakespeare, "Much Ado About Nothing"
cowsay
Следующая программка, написанная Тони Монро, вполне может быть объединена с предыдущей в общем конвейере. И всё потому, что задача cowsay
— вывести в терминале корову (или другое существо — если указать соответствующий аргумент), произносящую переданную на stdin
фразу.
~ $ fortune | cowsay
_________________________________________
/ I reverently believe that the maker who \
| made us all makes everything in New |
| England, but the weather. I don't know |
| who makes that, but I think it must be |
| raw apprentices in the weather-clerks |
| factory who experiment and learn how, |
| in New England, for board and clothes, |
| and then are promoted to make weather |
| for countries that require a good |
| article, and will take their custom |
| elsewhere if they don't get it. |
| |
\ -- Mark Twain /
-----------------------------------------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
lolcat
Кто сказал, что текст в эмуляторе терминала должен быть одноцветным? Пусть будет хоть всех цветов радуги сразу!
FIGlet
Хотите получить слово или фразу с ASCII art оформлением? Нет ничего проще — достаточно воспользоваться утилитой figlet
.
~ $ figlet <<< 'Habrahabr'
_ _ _ _ _
| | | | __ _| |__ _ __ __ _| |__ __ _| |__ _ __
| |_| |/ _` | '_ \| '__/ _` | '_ \ / _` | '_ \| '__|
| _ | (_| | |_) | | | (_| | | | | (_| | |_) | |
|_| |_|\__,_|_.__/|_| \__,_|_| |_|\__,_|_.__/|_|
TOIlet
Ещё один вариант программы, рисующей строку в виде баннера.
~ $ toilet <<< 'Habr'
m m #
# # mmm #mmm m mm
#mmmm# " # #" "# #" "
# # m"""# # # #
# # "mm"# ##m#" #
CMatrix
Воспользовавшись программкой cmatrix
поклонники мира "Матрицы" могут почувствовать себя героями любимой вселенной.
SL
SL — он же steam locomotive. Один мой коллега ставил sl
на все серверы, с которыми мы работали. Объяснял он это так: "Если ты опечатался даже в команде ls, значит тебе точно пора немного отдохнуть".
По умолчанию sl
просто приведёт в движение анимированный псевдографический локомотив, пересекающий экран. Однако у программы есть ключи запуска, позволяющие изменить это поведение. Например, паровоз может отправиться прямо на небо, а пассажиры будут кричать о помощи!
calendar
Хотите узнать, какие примечательные события в прошлом были в этот день месяца? Ответ даст calendar
. Заодно всегда можно найти подходящий повод выпить :)
~ $ calendar
Apr 01 Yourdon, Inc. founded, 1974 (It figures.)
Apr 01 People of superb intelligence, savoir-faire, etc. born this day.
Apr 01 Youth Day in Benin
Apr 01* Hol hamoed Pesach
Apr 01 Sergei Rachmaninoff is born in Oneg, Russia, 1873
Apr 01 Scott Joplin dies in New York City, 1917
Apr 01 Ben Collins became Debian Project Leader, 2001
Apr 01 Primera misa en territorio argentino, 1520
Apr 01 World fair in Bruxelles : 45,000,000 of visitors, 1958
Apr 01 1 april
Apr 01 Matthew Jacob <mjacob@FreeBSD.org> born in San Francisco, California, United States, 1958
Apr 01 Alexander V. Chernikov <melifaro@FreeBSD.org> born in Moscow, Russian Federation, 1984
Apr 01 Bill Fenner <fenner@FreeBSD.org> born in Bellefonte, Pennsylvania, United States, 1971
Apr 01 Peter Edwards <peadar@FreeBSD.org> born in Dublin, Ireland, 1973
Apr 01 Votre fichier calendar est corrompu.
Apr 01 N'oubliez pas les Hugues !
Apr 01 Avril entrant,
Coucou chantant,
Sonnailles tintant.
Apr 01 Organisierter Boykott jüdischer Geschäfte, 1933
Apr 01 Sergej Rachmaninow in Oneg geboren, 1873
Apr 01 Hugó
Apr 01 Civil Service Day (วันข้าราชการพลเรือน) in Thailand
Apr 01 April Fool's Day
Apr 01 April Fool's Day
Apr 02 Hans Christian Andersen born, 1805, fairy tale author
Apr 02 Pope John Paul II (Karol Wojtyla) died in Vatican, 2005
Apr 02 Haile Selassie is proclaimed emperor of Ethiopia, 1930
Apr 02 Malvinas Day in Argentina
Apr 02 Pascua Florida Day in Florida
Apr 02* Hol hamoed Pesach
Apr 02 Marvin Gaye is born in Washington, D.C., 1939
Apr 02 Fuerzas militares argentinas intentan recuperar las Islas Malvinas, 1982
Apr 02 Bonne fête aux Sandrine !
Apr 02 Áron
Apr 02 Thai Heritage Conservation Day (วันอนุรักษ์มรดกไทย) in Thailand
Apr 03 Washington Irving born, 1783
Apr 03 IBM 701 introduced, 1953
Apr 03 First publication of the newspaper La Gazzetta dello Sport, 1896
Apr 03* Pesach VII
Apr 03 Johannes Brahms dies in Vienna, Austria, 1897
Apr 03 Ferde Grofe dies in Santa Monica, California, 1972
Apr 03* Daylight Savings Time ends in ACT, NSW, SA, TAS and VIC.
Apr 03 Hellmuth Michaelis <hm@FreeBSD.org> born in Kiel, Schleswig-Holstein, Germany, 1958
Apr 03 Tong Liu <nemoliu@FreeBSD.org> born in Beijing, People's Republic of China, 1981
Apr 03 Gabor Pali <pgj@FreeBSD.org> born in Kunhegyes, Hungary, 1982
Apr 03 Aujourd'hui, c'est la St(e) Richard.
Apr 03 Johannes Brahms in Wien gestorben, 1897
Apr 03 Buda, Richárd
Apr 04 Tandy Corp. acquires Radio Shack, 1963 (9 stores)
Apr 04 Martin Luther King assassinated in Memphis, Tennessee, 1968
Apr 04 NATO established, 1949
Apr 04 Gandalf visits Bilbo
Apr 04 Ching Ming Festival in Hong Kong
Apr 04 Liberation Day in Hungary
Apr 04 National Day in Senegal
Apr 04 Muddy Waters (McKinley Morganfield) is born in Rolling Fork,
Mississippi, 1915
Apr 04 Jason Unovitch <junovitch@FreeBSD.org> born in Scranton, Pennsylvania, United States, 1986
Apr 04 N'oubliez pas les Isidore !
Apr 04 Bonne fête aux Benoît !
Apr 04 Izidor
funny-manpage
Порой имеющейся в системе документации может оказаться недостаточно. Скажем, вы когда-нибудь слышали про uubp
— Unix-to-Unix beer protocol? Пакет funny-manpage
даст исчерпывающее описание! Кроме того, он дополнит ваш man
и по другим важнейшим темам: попробуйте выполнить man sex
, man condom
или man baby
.
Пасхальные яйца
Пожалуй, наиболее известный в мире GNU/Linux пример "пасхального яйца" содержит в себе старый добрый apt-get
.
~ $ apt-get moo
(__)
(oo)
/------\/
/ | ||
* /\---/\
~~ ~~
..."Have you mooed today?"...
А вот aptitude
мычать категорически не желает. Но если проявить настойчивость, строптивая утилита готова предложить альтернативу — только бы отстали!
~ $ aptitude moo
There are no Easter Eggs in this program.
~ $ aptitude -v moo
There really are no Easter Eggs in this program.
~ $ aptitude -vv moo
Didn't I already tell you that there are no Easter Eggs in this program?
~ $ aptitude -vvv moo
Stop it!
~ $ aptitude -vvvv moo
Okay, okay, if I give you an Easter Egg, will you go away?
~ $ aptitude -vvvvv moo
All right, you win.
/----\
-------/ \
/ \
/ |
-----------------/ --------\
----------------------------------------------
~ $ aptitude -vvvvvv moo
What is it? It's an elephant being eaten by a snake, of course.
sudo
Вряд ли это можно считать "пасхальным яйцом", но вместо скучного сообщения о неудачной аутентификации sudo
может оставлять едкие комментарии. Чтобы в случае ошибок при вводе пароля получать саркастические замечания, достаточно добавить строку Defaults insults
в конфигурационный файл sudoers
.
~ $ sudo -i
[sudo] password for a1ef:
I'm very sorry, but I'm not allowed to argue unless you've paid.
[sudo] password for a1ef:
Игры
И напоследок посмотрим во что можно поиграть в эмуляторе терминала. Конечно, их гораздо больше, чем я привёл ниже. Это лишь малая часть того, что можно найти на ресурсах вроде https://ttygames.wordpress.com/
pacman4console
Старый добрый Pac-Man, куда ж без него!
nInvaders
Ещё одна легенда аркадных автоматов — Space Invaders.
VITETRIS
Кто ж не знает Тетрис? Vitetris или Virtual terminal *tris clone — одна из его многочисленных "консольных" реинкарнаций с говорящим названием.
nSnake
Snake, легендарная "змейка", безмерно популярная обитательница старых мобильных телефонов Nokia.
А какие забавные программки знаете вы? Делитесь в комментариях!
Комментарии (10)
GooG2e
01.04.2022 10:02+1Практический вопрос - как-то можно сделать запуск команды, если пользователь неактивен какое-то время в консоли? Запуск матрицы был бы офигенным хД
aik
01.04.2022 14:02+2Как вариант — screen умеет скринсейверы запускать. Но вам придётся тогда всегда в нём работать.
kmandla.wordpress.com/2009/05/05/at-long-last-a-console-screensaver
aik
01.04.2022 13:37Матрица — это хорошо, буду в неактивных сеансах запускать.
А то пока что использую там бесполезный htop или bashtop
JerleShannara
01.04.2022 14:52Давным давно был жив telnet gw.boston.ru (18+ при поиске в картинках). Ещё есть классный консольный шутер 0verkill.
railsfun
Спасибо, хорошо подобраны команды. Не безучастная копипаста а живой рассказ.
p.s. Телнетовский Star Wars все еще работает, хотя пишут что это не так ))
UnknownErrror
Работает только IPv6 версия
telnet -4 towel.blinkenlights.nl
выдаёт ошибкуСоотвтетственно, те у кого нет IPv6 адреса, не могут посмотреть звёздные войны в теминале
vesper-bot
У меня ругается именно на -4 (Windows 8.1) и на подключении IPv6 отсутствует. Всё прекрасно подключается, выдает "переходите на IPv6, там больше картинок" :) Возможно, у вас какие-то проблемы с DNSv4.