Запустите командную строку Linux на вашем iPad

Мы предоставляем услуги удаленного администрирования серверов

Запустите командную строку Linux на вашем iPad

Поделиться

Знаете ли вы, что вы можете запустить командную строку Linux на своем устройстве iOS? Вы можете спросить: «Зачем мне использовать текстовые приложения на моем крошечном iPhone?» Хорошо, достаточно честно. Это вполне разумный вопрос. Вы, вероятно, знаете ответ: пользователи Linux хотят иметь возможность использовать любое устройство, и они также хотят использовать свои собственные настройки.

И больше всего им нужен вызов.

У меня есть iPad 2 Mini семилетней давности, который все еще отлично подходит для чтения электронных книг и других задач. Но я также хочу использовать его для доступа к командной строке для приложений и моего набора программ и скриптов, без которых я не могу обойтись. Мне нужна среда, к которой я привык, а также стандартная среда разработки. Вот как я это сделал.

Подключиться к клавиатуре

Использование командной строки для программирования на экранной клавиатуре телефона или планшета не так уж и весело. Я рекомендую подключить внешнюю клавиатуру либо через Bluetooth, либо с помощью адаптера комплекта подключения камеры для подключения проводной клавиатуры (я предпочитаю). Подключение моей разделенной клавиатуры Kinesis Advantage к моему iPhone 6 создает странную оптику, как корпоративная кибердека из классической ролевой игры Shadowrun.

Получите оболочку на iOS

У вас есть два варианта запуска полной системы Linux на iOS:

  • Безопасная оболочка (SSH) в компьютере с Linux
  • Запустите виртуализированную систему с помощью Alpine Linux с iSH, который является открытым исходным кодом, но должен быть установлен с помощью проприетарного приложения Apple TestFlight.

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

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

Вариант 1. Оболочка в песочнице

Один из самых простых способов начать работу — использовать приложение LibTerm для iOS . Это изолированная оболочка командной строки с открытым исходным кодом с более чем 80 командами, объединенными в приложение за $ 0. Он поставляется с Python 2.7, Python 3.7, Lua, C, Clang и другими.

В том же духе находится  a-Shell , описываемый как «текстовый пользовательский интерфейс для экранной платформы». a-Shell является открытым исходным кодом , находится в активной разработке, предоставляет доступ к файловой системе и поставляется с Lua, Python, Tex, Vim, JavaScript, C и C ++, а также с Clang и Clang ++. Он даже позволяет вам устанавливать пакеты Python с помощью pip.

Вариант 2: SSH где угодно

Один шаг до загрузки приложения — это настройка клиента SSH. Уже давно можно использовать одно из многих клиентских приложений SSH на iOS для подключения к серверу, на котором запущен дистрибутив Linux или BSD. Преимущество использования SSH заключается в том, что на вашем сервере может быть запущен любой дистрибутив с любым программным обеспечением, которое вам нравится. Вы работаете удаленно, и ваш вывод просто передается в эмулятор терминала вашего устройства iOS.

Blink shell — популярное платное SSH-приложение с открытым исходным кодом . За пределами маленького экрана использование этого программного обеспечения похоже на подключение к серверу через любую другую командную строку. Терминал Blink выглядит красиво, с рядом включенных тем и возможностью создавать свои собственные темы, включая настройку и добавление новых шрифтов.

Вариант 3: запустить Linux

Использование SSH для подключения к серверу под управлением Linux — отличный способ получить доступ к приглашению, но для этого требуется доступ к внешнему серверу и соединение. Это не самый плохой барьер для входа, но им нельзя пренебречь, и вы можете использовать Linux без этого требования к серверу.

Если это ваш случай, вам придется придумать что-то более передовое. TestFlight — это проприетарный сервис для развертывания приложений, находящихся в стадии разработки, перед их отправкой в ​​Apple App Store. Вы можете загрузить приложение TestFlight из магазина, а затем подписаться на ряд тестовых приложений. Приложения в TestFlight позволяют использовать ограниченное количество внешних бета-тестеров (обычно до 10 000) в течение ограниченного времени. Чтобы загрузить тестовое приложение, вы должны получить доступ к ссылке прямо со своего устройства, которая обычно находится на веб-сайте разработчика тестового приложения.

Запускаем Alpine Linux с iSH

iSH  — это приложение TestFlight с открытым исходным кодом, которое запускает виртуальную машину с дистрибутивом Alpine Linux из коробки (но вы можете запускать другие дистрибутивы, немного повозившись).

Важный нюанс: это экспериментально . Поскольку iSH в настоящее время является тестовым приложением, не ожидайте постоянного или надежного обслуживания. Приложения TestFlight ограничены по времени. Моя текущая сборка длится 60 дней. Это означает, что через 60 дней я буду заблокирован, и мне придется вернуться к следующему этапу тестирования iSH. Кроме того, я потеряю свои файлы, если не экспортирую их с помощью файлов на iOS или не сохраню их на хосте Git или с помощью SSH . Чтобы было ясно: не полагайтесь на это, чтобы продолжить работу! Не кладите сюда ничего важного! Сделайте резервную копию своей работы в другом месте!

Установить iSH

Начните с установки TestFlight через App Store. Затем установите iSH, получив ссылку для установки на его веб-сайте. Есть еще один метод установки, использующий AltStore, но я его не пробовал. Или, если у вас есть платная учетная запись разработчика, вы можете загрузить репозиторий iSH с GitHub и развернуть его самостоятельно.

Используя ссылку, TestFlight устанавливает приложение iSH на ваше устройство. Как и любое другое приложение, оно отображается на вашем экране со значком.

Управлять пакетами

iSH запускает эмулятор x86 с Alpine Linux. Alpine — это крошечный дистрибутив размером менее 5 МБ. Это был мой первый запуск Alpine, и я подумал, что меня не расстроит такой минималистичный дистрибутив, но на самом деле он мне очень понравился.

Alpine использует диспетчер пакетов apk , который проще, чем даже apt или pacman.

Чтобы установить пакет:

apk add package

Чтобы удалить пакет:

apk del package

Найдите другие команды и информацию с помощью:

apk --help

Обновите менеджер пакетов:

apk update apk upgrade

Получите текстовый редактор

Текстовым редактором Alpine по умолчанию является Vi, но я предпочитаю Vim, поэтому я установил его:

apk add vim

Вы можете установить Nano или Emacs, если хотите.

Сменить оболочку

Не знаю, как вы, но мне нужна  fish shell . Другие предпочитают Bash или Zsh . Но Alpine использует Ash! Ash — это ветка оболочки Dash, которая сама по себе является вилкой оригинальной оболочки Ash или Almquist . Он разработан для скорости. Я решил обменять скорость в пользу встроенного автозаполнения, цвета, управления Vim-key и подсветки синтаксиса, которые я знаю и люблю в fish shell.

Установите fish:

apk add fish

Если вместо этого вам нужен Bash, его дополнения и справочные страницы, вам нужно установить их и некоторые дополнительные вещи:

apk add bash bash-doc bash-completion

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

Изменить оболочку по умолчанию

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

Для начала узнаем, где установлена ​​fish:

which fish

Мой вывод:

/usr/bin/fish

Затем отредактируйте оболочку входа, чтобы использовать fish. Вы можете использовать любой удобный вам редактор. Если вы новичок, установите Nano (с apk add nano), чтобы вы могли редактировать файлы конфигурации и сохранять их с помощью CTRL + X, подтверждения и выхода.

Но я использовал Vim:

vim /etc/passwd

Моя первая строка была:

root:x:0:0:root:/root:/bin/ash

Чтобы использовать fish по умолчанию, измените эту строку на:

root:x:0:0:root:/root:/usr/bin/fish

Затем сохраните и выйдите.

Я уверен, что есть хороший способ переустановить оболочку, чтобы вы могли сразу начать ее использовать. Но я не уверен, поэтому я рекомендую вернуться в браузер приложения, принудительно закрыть оболочку и, для хорошей меры, выключить и перезагрузить iPad или iPhone. Снова откройте iSH, а теперь в дополнение к «Добро пожаловать в Alpine!» сообщение и информация о начале работы с apk, вы увидите приветственное сообщение для входа в систему по умолчанию: Добро пожаловать в Fish, дружественную интерактивную оболочку . Ура!

Настроить Python и pip

Я решил добавить  Python (версия 3.x) не только для того, чтобы писать код, но и потому, что полагаюсь на несколько программ Python. Установите его:

apk add python3

Хотя Python 2.x устарел, вы все равно можете его установить:

apk add python

Установите менеджер пакетов Python, pip и setuptools :

python3 -m ensurepip --default-pip

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

Затем вы можете загрузить  curl , инструмент передачи данных по сети:

apk add curl

Прочтите руководство

Fish использует встроенное автозаполнение на основе страниц руководства. Как и другие пользователи командной строки, я полагаюсь на manруководство, а в Alpine оно не установлено. Итак, я установил его вместе с пейджером less :

apk add man man-pages less less-doc

В дополнение к man я использую великолепный проект tldr Pages , который предоставляет упрощенные, управляемые сообществом man-страницы.

Я установил его с помощью pip:

pip install tldr

Команда tldr подключается к Интернету для получения страниц всякий раз, когда встречает запрос на создание новой. Если вам нужно научиться использовать команду, вы можете просто ввести что-то вроде, tldr curlчтобы получить объяснение на простом английском языке и хорошие примеры того, как использовать команду.

Вы, конечно, можете автоматизировать всю эту установку с помощью точечных файлов или сценария установки, но это не соответствует способу Alpine настроить минимальную установку точно в соответствии с вашими требованиями. Кроме того, это не заняло так много времени, не так ли?

Учить больше

Вики iSH содержит страницу « Что работает » с отчетами о том, какие пакеты в настоящее время работают. Следует отметить, что в настоящее время npm не работает.

На другой странице вики объясняется, как получить доступ к файлам iSH из приложения iOS Files. Это один из способов перемещения и передачи файлов.

Вы также можете установить Git (да! apk add git) И отправить свою работу в удаленное репо или перенести ее на сервер по SSH. И, конечно же, вы можете загрузить и запустить любое количество потрясающих проектов с открытым исходным кодом с GitHub в своей системе.

 2019-2020 © linuxadmins all rights reserved

Facebook Twitter Vkontakte