Как запустить оболочку Linux на iOS – CloudSavvy IT

2 min


Иллюстрация со значком iSH

iSH – активный проект по запуску оболочки Linux на iOS. Он предлагает среду Alpine Linux в комплекте с apk менеджер пакетов. Приложение использует эмуляцию пользовательского режима x86.

Вы можете скачать iSH из App Store. Новые установки включают полностью функционирующую apk по умолчанию. Существующим пользователям приложения может потребоваться установить вручную apk следуя шагам в документации.

Начиная

Начните с установки iSH из App Store. Запустите приложение, и вы попадете прямо в терминальную среду Alpine Linux.

Вы можете запускать знакомые команды Linux! Вы можете использовать все утилиты Unix, предоставляемые BusyBox, включая cat, grep, ls, sed и wget.

iSH предоставляет собственную полосу значков клавиатуры, чтобы упростить использование терминала с сенсорным экраном. Четыре кнопки слева от полосы – это Tab, Control, Escape и клавиши со стрелками соответственно. Проведите кнопкой со стрелкой в ​​том направлении, в котором должен перемещаться курсор.

Три кнопки справа открывают интерфейс настроек, вставляют текст из буфера обмена iOS и скрывают клавиатуру. Коснитесь в любом месте, чтобы вернуть клавиатуру после ее скрытия.

Настройки iSH

Меню настроек позволяет настроить несколько параметров. Страница «Внешний вид» позволяет вам установить шрифт и переключаться между светлыми и темными темами. На странице значков приложения вы можете выбрать один из нескольких значков приложений. Этот выбор позволяет вам согласовать iSH с визуальным стилем других приложений на главном экране iOS.

Внешняя клавиатура позволяет вам контролировать, как iSH должен обрабатывать физическую клавиатуру, подключенную через Bluetooth или USB-адаптер. В дополнение к встроенным параметрам переназначения iOS вы можете переназначить опцию и обратные кавычки на мета-ключи и escape-ключи iSH. Вы можете скрыть полосу значков iSH при использовании внешней клавиатуры, включив параметр «Скрыть с внешней клавиатурой».

Файловые системы

iSH поддерживает использование нескольких файловых систем. Перейдите на страницу «Файловые системы» в меню настроек, чтобы управлять ими. Для начала вы увидите единую файловую систему «по умолчанию», содержащую встроенную установку Alpine.

Нажмите «Обзор файлов», чтобы открыть файловую систему в приложении «Файлы» iOS. Это поможет вам быстро скопировать файлы из iSH в другие места на вашем устройстве iOS.

Вы можете экспортировать всю файловую систему с помощью опции «Экспорт». Файловые системы можно импортировать в iSH с помощью кнопки «Импорт» на главной странице файловых систем.

Практический пример использования файловые системы позволяет запускать несколько автономных установок. В настоящее время будут работать только минимальные изображения Alpine, аналогичные оригиналу iSH.

Вы можете попробовать Alpine «Мини-корневая файловая система» – загрузите его, импортируйте и нажмите «Загрузить из этой файловой системы», чтобы перезапустить iSH с использованием файловой системы. Вернитесь к файловой системе по умолчанию, выбрав ее пункт меню и снова выбрав «Загрузить из этой файловой системы».

Добавление пакетов

Вы можете использовать обычный apk команды для управления пакетами в среде iSH.

# Update the package lists
apk update

# Upgrade existing installed packages
apk upgrade

# Install SSH
apk add openssh

# Remove SSH
apk del openssh

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

Ты можно переключиться на официальные репозитории Alpine Linux, если хотите. Это дает вам доступ к полному списку программного обеспечения Alpine. Многие пакеты будут иметь более новые версии в основных репозиториях Alpine, чем те, которые предлагаются в репозиториях iSH.

grep -v "file:///ish/apk/" /etc/apk/repositories | dd of=/etc/apk/repositories bs=4194304
echo https://dl-cdn.alpinelinux.org/alpine/v3.12/main >> /etc/apk/repositories
echo https://dl-cdn.alpinelinux.org/alpine/v3.12/community >> /etc/apk/repositories

Выполните приведенные выше команды, чтобы заменить содержимое iSH /ish/apk псевдо-файловая система с репозиториями, предлагаемыми Alpine Linux. Затем вам нужно будет запустить apk update чтобы получить новые списки пакетов.

Использование SSH

Вы можете установить OpenSSH с помощью apk add openssh.

Клиент сразу заработает – попробуйте ssh me@myserver.

Чтобы использовать ваше устройство iOS в качестве SSH-сервера, выполните следующие команды:

ssh-keygen -A
passwd
echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
sshd

Это сгенерирует ключи хоста SSH и предложит вам установить пароль для root Пользователь. В sshd исполняемый файл вызывается для запуска SSH-сервера. Теперь вы сможете подключиться к своему устройству как root Пользователь.

iSH по умолчанию не поддерживает автозапуск служб. Вы можете настроить это редактируя третью строку /etc/inittab к ::sysinit:/sbin/openrc. Следующий запуск rc-update add sshd чтобы сервер SSH запускался автоматически при запуске сеанса iSH.

Запуск веб-сервера

Как видно из примера SSH, iSH использует сетевой стек вашего устройства. Вы можете разместить веб-сервер, который вы сможете просматривать на других ваших устройствах.

Пробег apk install apache2 добавить Apache. Использовать httpd чтобы запустить процесс Apache. Затем зайдите на IP-адрес вашего устройства iOS в веб-браузере – вы должны увидеть значение Apache по умолчанию: «Это работает!» текст.

Apache, работающий в iSH на iOS

iSH в настоящее время не поддерживает работу в фоновом режиме. Это означает, что вы не можете переключиться на Safari и просматривать веб-страницы при использовании iPhone. На iPad можно открыть браузер в режиме разделения экрана – iSH остается активным на своей стороне экрана.

Apache можно настроить обычным образом. Вы найдете его файл конфигурации по адресу /etc/apache2/httpd.conf. Корневой каталог документа по умолчанию, откуда обслуживаются веб-страницы, – /var/www/localhost/htdocs.

Что теперь?

Теперь вы используете среду Alpine Linux на своем устройстве iOS. Добавьте пакеты, которые подходят для вашей работы. Список рабочее программное обеспечение который включает в себя основные компоненты Unix и полные языки программирования. Node.js, Python, PHP, Ruby и Git работают.

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

Вы можете запустить VNC-сервер, если хотите использовать графические приложения. Подробные инструкции приведены в iSH вики. Ограничения производительности станут понятны с графической рабочей нагрузкой, но это технически возможно. Процесс предполагает установку xorg-server, настраивая безголовую конфигурацию, а затем добавляя .xinitrc файл, чтобы определить используемый оконный менеджер. Вы получите наилучшие результаты с легким оконным менеджером, таким как i3.

Вывод

iSH, похоже, станет обязательным приложением для iOS для разработчиков и системных администраторов. Уже есть качественные приложения вроде как ад которые предоставляют базовые инструменты Unix, а также клиенты SSH, такие как Termius которые позволяют подключаться к удаленному компьютеру Linux. Тем не менее, iSH является наиболее полным решением, предлагающим среду Linux, поддерживающую постоянно растущий список популярного программного обеспечения.

С iSH на вашем iPhone или iPad вы можете использовать знакомое программное обеспечение x86 Linux, где бы вы ни находились. Соедините его с внешней клавиатурой, и вы получите портативное устройство для повышения производительности, которое действительно сможет заменить ваш ноутбук.


0 Comments

Добавить комментарий