Периодически на канале выходят статьи, посвященные нестандартным вещам, которые можно делать в терминале Linux-дистрибутивов. Напомню, что в последней заметке мы узнавали с вами про прогноз погоды посредством консоли.
На этом многоообразие того, что можно вытворить в этом черном окошке, которое так пугает новичков и владельцев Windows, не заканчивается и ниже расскажу, а также покажу то, как при помощи терминала Linux можно изучать географию.
Что такое mapscii?
mapscii представляет собой интерактивную карту мира в формате ASCII, которая доступна прямо из терминала. В основе лежат данные, получаемые при помощи OpenStreetMap: некоммерческого веб-картографического проекта по созданию силами сообщества участников подробной географической карты мира.
На словах все выглядит просто: разработчики mapscii взяли данные из OpenStreetMap и представили его в форме консольной графики при помощи ASCII. На деле же, все гораздо масштабнее и сложнее и это далее мы увидим.
Установка mapscii
Существует два варианта использования mapscii: установить непосредственно на компьютер или ноутбук или использовать при помощи утилиты telnet (название происходит от сетевонр протокола для реализации текстового терминального интерфейса по сети). Проще выглядит второй вариант, так как для него достаточно открыть терминал и выполнить там команду:
telnet mapscii.me
В моем случае данный вариант не сработал, так как никакой карты не прогрузилось.
Вполне возможно это произошло потому, что я использую терминал Konsole, который не имеет каких-либо встроенных функций для отображения карты через telnet. В интернете написано, что идеально для этого подойдет терминал xterm, который я не поленился установить и попробовать команду там, но результат был таким же.
Безустановочный вариант не сработал, поэтому я перешел на страницу проекта в GitHub и посмотрел какие альтернативные варианты предлагают разработчики. Этих вариантов оказалось два: установить вначале NodeJS на устройство и потом установить mapscii при помощи команд:
npx mapscii (написано, что это современный способ установки)
npm install -g mapscii (видимо, способ для олдов)
Будучи обладателем Manjaro Linux и имея на борту Pamac решил установить все из AUR, откуда подтянулся все тот же NodeJS с нужным сервисом.
Вишенкой на торте вариантов установки стало то, что mapscii имеется в варианте SNAP-пакета установить который можно (но не нужно) при помощи команды:
sudo snap install mapscii
Как понимаете, этот вариант удобен для тех, кто пользуется дистрибутивом Ubuntu. Другие варианты утилиты в виде AppImage и Flatpak на официальной странице проекта не нашел, хотя подозреваю, что они наверняка есть.
Запуск mapscii
Запускается утилита через терминал при помощи одноименной команды mapscii. После установки в дистрибутив все запустилось и я увидел то, что вы видите на скриншоте внизу.
Навигация осуществляется при помощи клавиш-стрелок, приближение/отдаление происходит мышью. Попробуем, например, найти столицу России и посмотреть, как она выглядит в терминале.
Как наблюдаем из скриншотов, можно подробно рассмотреть улицы города, причем названия географических объектов при приближении оказываются написанными на русском языке. Причем детальность настолько подробная, что можно рассмотреть вплоть до названий конкретных заведений.
Побродив по карте Москвы, решил отправиться в Исландию и перешел к Рейкьявику.
Прокручивается карта словно глобус, то есть при зажимании стрелок влево или вправо перемещение зациклиться и вы будете пролистывать карту мира без остановки. Для выхода из просмотра можно нажать клавишу Q.
Подведем итоги
Как уже говорил выше, проект mapscii только с виду кажется забавной программкой для терминала, тогда как на деле представляет собой масштабную разработку, основанную на открытых данных.
Из недостатков бы выделил только сложности с установкой и отсутствием доступа по telnet, но опять-таки, вполне возможно, что это я какой-то криворукий и что-то не там нажал и не то ввел. Отпишитесь в комментариях те, кто попробовал запуск карт через telnet, сработало ли у вас.
Что касается сценариев использования mapscii, то честно говоря, сложно представить, что кто-то застрял в огромном городе с разряженным телефоном, но с ноутбуком в руках и воспользовался mapscii, чтобы найти дорогу к отелю. Поэтому данная утилита является, в первую очередь, демонстрацией возможностей терминала и свободного ПО, а уже во-вторых, это что-то интересное, что можно потыкать в терминале на протяжении нескольких дней. Хотя, не исключаю варианта, что у кого-нибудь могут возникнуть иные реально работающие идеи применения этого сервиса.
Расскажите в комментариях, хорошо ли вы знаете географию и часто ли путешествуете? Если часто находитесь в пути, то какими картами предпочитаете пользоваться: отечественными от Яндекс или 2ГИС или предпочитаете разработки от Google и Apple.