Весёлая консоль

jzudfablaunivblfvzykzcnxgig.png

Сегодня 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

Кто сказал, что текст в эмуляторе терминала должен быть одноцветным? Пусть будет хоть всех цветов радуги сразу!

Страница проекта
tutylmnp2segxqp74bfgvxqqqws.png


FIGlet

Хотите получить слово или фразу с ASCII art оформлением? Нет ничего проще — достаточно воспользоваться утилитой figlet.

~ $ figlet <<< 'Habrahabr'
 _   _       _               _           _
| | | | __ _| |__  _ __ __ _| |__   __ _| |__  _ __
| |_| |/ _` | '_ \| '__/ _` | '_ \ / _` | '_ \| '__|
|  _  | (_| | |_) | | | (_| | | | | (_| | |_) | |
|_| |_|\__,_|_.__/|_|  \__,_|_| |_|\__,_|_.__/|_|


TOIlet

Ещё один вариант программы, рисующей строку в виде баннера.

~ $ toilet <<< 'Habr'

 m    m        #
 #    #  mmm   #mmm    m mm
 #mmmm# "   #  #" "#   #"  "
 #    # m"""#  #   #   #
 #    # "mm"#  ##m#"   #


CMatrix

Воспользовавшись программкой cmatrix поклонники мира «Матрицы» могут почувствовать себя героями любимой вселенной.

Страница проекта
cca161f725ec457a56bae3bfa3d93bb1.gif


SL

SL — он же steam locomotive. Один мой коллега ставил sl на все серверы, с которыми мы работали. Объяснял он это так: «Если ты опечатался даже в команде ls, значит тебе точно пора немного отдохнуть».
По умолчанию sl просто приведёт в движение анимированный псевдографический локомотив, пересекающий экран. Однако у программы есть ключи запуска, позволяющие изменить это поведение. Например, паровоз может отправиться прямо на небо, а пассажиры будут кричать о помощи!

Страница проекта
cjrj8dfc4ylngyfjommiuso8hq4.png


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  born in San Francisco, California, United States, 1958
Apr 01  Alexander V. Chernikov  born in Moscow, Russian Federation, 1984
Apr 01  Bill Fenner  born in Bellefonte, Pennsylvania, United States, 1971
Apr 01  Peter Edwards  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  born in Kiel, Schleswig-Holstein, Germany, 1958
Apr 03  Tong Liu  born in Beijing, People's Republic of China, 1981
Apr 03  Gabor Pali  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  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.

waxoelq3kwbvcp2j_yepivkrso0.png

Пожалуй, наиболее известный в мире 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, куда ж без него!

Страница проекта
mayw4kxrkjjdaeoukrq2-sldfts.png


nInvaders

Ещё одна легенда аркадных автоматов — Space Invaders.

Страница проекта
nhds5i7y2tftu3o36qnvgmyno4y.png


VITETRIS

Кто ж не знает Тетрис? Vitetris или Virtual terminal *tris clone — одна из его многочисленных «консольных» реинкарнаций с говорящим названием.

Страница проекта
xejmiru-qbpjtec7isqvb_2vxzm.png


nSnake

Snake, легендарная «змейка», безмерно популярная обитательница старых мобильных телефонов Nokia.

Страница проекта
oy0p6ffws1cj5duptpba7jsuen4.png

А какие забавные программки знаете вы? Делитесь в комментариях!

© Habrahabr.ru