vak: (Default)
[personal profile] vak
Я ведь почему про симуляцию маковских бинарников спрашивал. Есть у меня крамольная мысль. Не уверен что выйдет, но почему бы не подумать в эту сторону. Идея создать на айпаде юниксную среду, удобную для программиста.

Я всегда беру в путешествия айпад. Как бы главное средство выхода в интернет. Телефон тоже при себе, но он для голоса и как фотокамера. А для серьёзного чтения и просмотра видео айпад самое то. Иногда беру с собой лаптоп, но он редко пригождается. И возникла у меня мысль: а нельзя ли и для программизма этот айпад приспособить. Если вдруг какую софтину в новостях увижу - сразу скачать её исходники, собрать, потыркаться. На андроиде есть похожая тулза Termux. Практически то, что надо. Но только на айпаде такого не бывает.

Айпад у меня с клавиатуркой, родной, от Apple, причём даже с русской раскладкой. Называется Smart Keyboard for iPad. Сейчас такую резиновенькую уже не выпускают, заменили на новую модель, пластмассовую. Зато появилась украинская раскладка. В следующий раз куплю украинскую.



Я стал искать, может кто уже такое наваял. Куча всяких SSH терминалов, но ни одной локальной командной строки. Как я понимаю, Apple ведёт жёсткую политику и не разрешает ничего подобного в своём магазине приложений. Но вот набрёл на iSH, стал играться - очень близко к нужному. Выглядит как вариант Линукса с командной строкой. Как же автор смог обойти ограничения, установленные Эпплом? Оказалось - чувак скомбинировал подход типа Wine с JIT-компилятором. То есть написал с нуля реализацию ядра, выполняющего линуксные системные вызовы, но бинарники при этом не родные ARM, а совсем даже i686.

Но всё это работает! Сделано на базе Alpine Linux. Там своя libc и своя система пакетов. Притормаживает местами из-за JIT-компиляции, но выглядит гораздо лучше любых альтернатив. На фотке можете видеть Bash Commander, скомпилированный в среде iSH. Никаких специальных правок не потребовалось.

А дальше мысль: можно ли повторить то же самое, но без JIT-компиляции? Интерпретировать родные маковские бинарники, перехватывая и выполняя системные вызовы. Или у Apple там всё жёстко запрещено, не стоит даже пытаться?
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org