Как запускать приложения mac на linux
Если вы ждали запуска своих любимых приложений командной строки Mac в Linux, вы будете рады узнать, что прогресс налицо. Благодаря проекту Darling теперь можно запускать приложения командной строки macOS в Linux. Вот как заставить его работать.
Почему нет приложений с графическим интерфейсом?
Установить Darling в Linux
Прежде чем приступить к тому, как запускать приложения Mac из командной строки в Linux, необходимо установить инструмент Darling. Несомненно, Darling должен быть собран из исходных кодов, поскольку проект не распространяет простые в установке двоичные файлы для Ubuntu, Fedora и других.
Чтобы начать установку, откройте окно терминала, нажав Ctrl + Alt + T или Ctrl + Shift + T на клавиатуре. Затем следуйте инструкциям командной строки, приведенным ниже, чтобы собрать Darling в вашей операционной системе Linux.
Ubuntu
Debian
Arch Linux
Fedora
OpenSUSE
К сожалению, на сайте Darling не указаны зависимости для OpenSUSE. Чтобы программа заработала, проверьте зависимости, перечисленные для Fedora, и попробуйте их. В противном случае рассмотрите возможность перехода на другую операционную систему Linux из этого списка, если вы планируете использовать это программное обеспечение.
Строительство Дарлинг
Теперь, когда зависимости установлены, пришло время загрузить исходный код из Интернета с помощью приложения git clone.
Загрузка исходного кода Darling из Интернета занимает много времени, и есть много файлов, которые нужно захватить. Дождитесь завершения загрузки. Затем, когда загрузка будет завершена, используйте команду CD, чтобы перейти в папку с исходным кодом.
Затем используйте команду mkdir, чтобы создать папку «build», и перейдите в нее с помощью команды CD.
С помощью команды cmake настройте среду сборки.
Скомпилируйте исходный код на вашем ПК с Linux с помощью команды make.
Процесс компиляции кода займет довольно много времени. Когда процесс будет завершен, используйте команду make install для установки программного обеспечения.
Модуль ядра
Дарлингу требуется модуль ядра для использования программного обеспечения командной строки Mac. Чтобы начать процесс сборки модуля ядра Darling, выполните команду make с «lkm» в конце.
Сборка модуля ядра Linux для Darling не займет так много времени, как установка программного обеспечения. Тем не менее, если вы считаете, что на вашем ПК с Linux процесс занимает слишком много времени, подумайте о том, чтобы вызвать команду make с «$ nproc», чтобы ускорить выполнение.
Как только модуль ядра Darling скомпилирован из исходного кода, вы можете установить его в системе с помощью lkm_install.
После настройки модуля ядра все готово к работе, и Darling можно использовать. Однако имейте в виду, что в системах, использующих SELinux, вы можете столкнуться с проблемами. Для получения дополнительной информации прочтите здесь .
Проверь это - Как внести основные изменения в изображения в LinuxЗапуск приложений командной строки Mac в Linux
Программное обеспечение в Darling можно установить двумя способами: с файлами DMG или файлами PKG. Чтобы начать установку программного обеспечения, войдите в оболочку Darling с помощью команды ниже.
Теперь, когда ваш терминал Linux загрузил оболочку Darling, следуйте пошаговым инструкциям ниже, чтобы ваши приложения командной строки работали в Darling.
Установить из DMG
Шаг 1. Используя приложение hdutil в Darling, смонтируйте файл DMG в систему как том. Не забудьте заменить «app.dmg» и «/ Volumes / app» на имя вашего приложения командной строки.
Шаг 2: Скопируйте файл приложения в папку «Приложения» с помощью команды cp.
сабж. есть аналог wine для запуска под linux софта написанного под макось?
Обсуждалось не так давно..
Вроде бы, нашли всего штук пять программ, которые есть ТОЛЬКО под Мак. Все остальные - и под Винду имеются.
хочу посмотреть несколько программ
нет конечно. Есть проект GNUStep, который реализовует Cocoa под линукс, но оно такое старое шописец.
просто мак в этом смысле еще хуже винды.
там вроде бы три полноценных независимых API
эта игра не стоит свеч
> Cocoa,Carbon,X
Не такие они и независимые (X-ы не считаем, они на маке не используются по факту). Cocoa -- это суть очень навороченная обертка вокруг Carbon, так что если на ляликсе проэмулировать Carbon, то Cocoa заведется сама. Но "ничего у вас не выйдет", Apple-овские фреймворки изобилуют недокументированными API, которые очевидно тем-же Cocoa используются, а что они из себя должны представлять - никто кроме Apple не знает достоверно.
>Cocoa -- это суть очень навороченная обертка вокруг Carbon
Вообще там QT(QuickTime)+Quartz+Cocoa. Эмуляции это пока не поддается.
> Cocoa -- это суть очень навороченная обертка вокруг Carbon
Откуда дровишки? А то очень похоже на 4.2.
cocoa и carbon это разные оперы :-)
А как насчет хакинтоша в vmware?
>если Cocoa не обертка вокруг Carbon
>Так что не знаючи, не суйтесь рыльцем
Сам бы не совался.
Cocoa - тулкит от OSX, а карбон - это обертка для совместимости и запуска старых os9 тулз.
Точнее проги на classic пойдут на os9
проги на cocoa osX only
проги на carbon - os(9,X)
Adobe еще должны свой софт переделать - и в путь. Но, я думаю, это еще не меньше года.
> И спрашивается, если Cocoa не обертка вокруг Carbon, то какого тогда [NSApplication run] спускается в чисто карбоновский CFRunLoopRun* ?
Слышали, что с окончательным переходом Apple с Carbon на Cocoa, компания Corbina переименуется в Cocoina? ;)
> Cocoa - тулкит от OSX, а карбон - это обертка для совместимости и запуска старых os9 тулз.
Еще раз повторюсь: не зная, не суйте свое рыло, ыы в том числе.
Вокруг чего простите Carbon обертка, вокруг Mach и BSD API? Carbon это нижний уровень архитектуры OS X, и все вышележащее его использует.
А то, что "а карбон - это обертка для совместимости и запуска старых os9 тулз." -- это да, Apple такими красивыми словами пишет в документации по Cocoa для чайником, дабы расхвалить последнюю. Однако по факту Cocoa целиком и полностью базируется на карбоне, и карбон является такой-же неотемлемой частью OS X, как WinAPI уровень в винде (имеются в виду XP / 2k, про свисту я ничего не знаю): какие-то библиотеки возможно и используют NT Native API, но большая часть всего базируется на WinAPI, при этом можно сколько угодно обзывать WinAPI устаревшим фреймворком, оставленным только для совместимости, умалчивая тот факт что 99% кода системного используют WinAPI. Так и Carbon можно обозвать устаревшим фреймворком, но для этого надо сначала переписать весь код Cocoa, так что-бы Cocoa напрямую использовала BSD и Mach интерфейсы, а до тех пор, пока Cocoa будет использовать Carbon, ни о какой "обертки для совместимости и запуска старых os 9 тулз" речи быть не может.
Если вам мои слова не кажутся убедительными, присмотритесь еще раз к backtrace, вас он не убеждает? Ну тогда вы полный ФГМ, что с вами спорить.
Кстати говоря, чтоб вы знали, Carbon не позволяет напрямую запускать OS 9 тулзы, он лишь облегчает перенос этих приложений на OS X, на уровне исходных кодов. А для запуска OS 9 приложений на PowerPC маках был эмулятор классики, который, что-бы знали, упразднили в Intel версии OS X, так что на новых маках запускать OS 9 тулзы уже никак не получится.
Ну и последний гвоздь в твой гроб: вот у меня стоит iPhone SDK beta5, я иду в каталог /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.0.sdk/System/Li brary
Захожу в каталог Frameworks, и вижу:
Carbon.framework отсутствует, вы могли бы радоватся, однако другие составляющие карбона: CoreFoundation, CoreGraphics, CFNetwork -- все это и тут есть, ну и для проверки сделаем:
$ grep -r CFRunLoopRun * 2>/dev/null
Binary file AudioToolbox.framework/AudioCodecs matches
Binary file AudioToolbox.framework/AudioToolbox matches
Спрашивается, зачем на iPhone элементы Carbon-а, что-бы запускать старые OS 9 приложения?
Просто интересно, есть ли такие проекты, как WINE, но для программного обеспечения Mac? То есть мы можем использовать программу, которая работает как слой совместимости, для запуска приложений Mac?
Какую программу вам нужно запустить в любом случае? Мне удалось запустить терминальные программы, такие как htop, на Mac , когда я снял файл прямо с моего ноутбука Ubuntu . @ Alvar Не думайте, что какое-либо приложение может работать на одном или другом. Ubuntu основана на Linux, а macOS - на Unix; они оба используют оболочку Bash, которая делает высокоуровневые программы полусовместимыми.Недавно на Slashdot был представлен проект Darling , цель которого - обеспечить эмуляцию Darwin / OS X и уже может запускать некоторые приложения Mac OS X в Linux.
Похоже, что он разработан для академических целей и все еще находится на ранних стадиях, но выглядит многообещающе. Он основан на вышеупомянутом GNUstep.
К сожалению нет.
Существуют различные проекты, которые пытаются эмулировать PowerPC, но ни один из них не позволил бы вам запустить стандартное приложение Mac OS X.
Я думаю, что mac переключился с PowerPC на x86, примерно во время перехода с Macos 9 на Macos X.GNUstep в качестве равноправного API для Cocoa, Mac API на базе NeXTstep, но он еще не завершен, требует перекомпиляции, и тогда ваше приложение Mac выглядит так, как будто оно вернулось в прошлое.
Насколько я могу судить, современного эквивалента не существует, и создание такой вещи было бы почти такой же большой задачей, как и сам Wine.
РЕДАКТИРОВАТЬ: Читая другие ответы, кажется, что теперь есть способы сделать то, что спросил OP. Я оставляю этот ответ здесь, потому что это все еще жизнеспособная альтернатива на некоторых аппаратных средствах для приложений, которые не будут работать под эмуляцией.
Хотя другие ответы верны (нет, вы не можете), есть способ установить OSX на программное обеспечение для виртуализации, такое как VirtualBox. Это не то, о чем вы просили, поэтому будьте осторожны, но это может дать вам необходимые результаты.
У меня это работает на одной машине, но не на другой. Будет ли это работать для вас, зависит в значительной степени от вашего оборудования. Я обнаружил, что производительность при использовании VirtualBox для запуска MacOS X на хосте Linux довольно низкая. Вы нарушите лицензионное соглашение, если не будете делать это на Mac. @scottl причина, по которой он работает только для определенных машин, в том, что macOS оптимизирован только для процессоров Intel (по крайней мере, в текущих версиях).К сожалению, нет способа (без эмуляции / виртуализации самой Mac OSX) запускать программы Mac. В отличие от Windows, библиотеки которой были юридически реплицированы для WINE, для Какао нет такой репликации, кроме Gnustep, которая является очень неполной.
Ваша лучшая ставка сейчас - запуск Mac OS X в virtualbox и использование бесшовного режима. Я пробовал бесшовный режим с Winxp, и он прекрасно работает. Я действительно не пробовал это с Mac OS X, но, думаю, никогда не поздно!
это точно так же, как ответ, опубликованный за полтора года до этого .Хм, вы не можете запускать приложения OSX в Ubuntu. Хотя обе ОС основаны на Unix, но приложения Mac OS X предназначены для работы на платформе Mac OS X и кодировании, в то время как Ubuntu основана на Debian, общих факторов относительно нет.
Он сказал «на основе Unix», что не обязательно означает, что он использует общий код с Unix. Это может означать "ведет себя подобно" . Linux основан на Unix (вдохновлен), но не UNIX (торговая марка). Где, поскольку GNU не Unix. этот ответ очень . как мне сказать? много-а-делать-о-ничего-иш. Людям, которые знают это, кроме того, что «вы не можете запускать приложения OSX в Ubuntu», это ничего не говорит мнеВы не можете запускать приложения Mac на компьютере с Ubuntu. Даже если бы это было возможно, было бы очень сложно удовлетворить требования большинства приложений.
Большинство приложений Mac используют такие функции, как /Library/Application Support то, чего нет в Ubuntu (насколько мне известно). Некоторые приложения даже изменяют системные файлы или добавляют новые (первые могут сломать вашу систему, если они окажутся в одном месте).
Если вы действительно хотите запускать приложения для Mac, лучше всего либо виртуализировать macOS, либо загружать его самостоятельно. Последний будет (наиболее вероятно) самым сложным; это называется hackintoshing, и это очень популярный метод (но нарушает лицензионное соглашение Apple).
Если вы можете найти дистрибутив macOS, который будет работать на вашем оборудовании, попробуйте попробовать, если вам действительно нужна встроенная поддержка. Однако это может быть тяжелой работой. Я не буду вдаваться в подробности, но большую часть того, что вы обычно хотели бы узнать, можно найти с помощью быстрого поиска в Google .
Есть ли какое-либо подобное приложение для Wine, но запускает приложения Mac?
это возможно при запускать Mac OS X приложений на Linux машине?
Пока разработчики программы для OS X выпустили свой исходный код и использовали кроссплатформенные библиотеки (такие как QT, GTK, X11, GNUStep или WxWidgets), вы сможете повторно скомпилировать программу OS X для linux. OS X и Linux намного более совместимы на уровне API, чем на уровне ABI.
GNUStep реализует API-интерфейсы Cocoa от NeXTStep и OS X. Когда я попробовал, он был шокирующе завершен с точки зрения того, как много он способен сделать по сравнению с тем, как мало он использует в дикой природе. GNUStep работает только на уровне исходного кода (API), поэтому он работает, если программа имеет открытый исходный код и использует графический интерфейс Apple Cocoa (НЕ «Aqua», который является частной). Это зависит от возможности компилировать и связывать код.
Дорогой в этой аналогии поместил бы двигатель Chevy в шасси Volvo, а компиляция из исходных текстов была бы равносильна тому, чтобы просто выйти из своего Chevy и попасть в Volvo. Одно гораздо проще сделать, чем другое с точки зрения программистов.
Но у Apple есть несколько проприетарных библиотек пользовательского интерфейса, которых тоже никто не имеет. Если разработчик использовал один из них (например, Aqua), вам придется подождать и надеяться, что Darling вырастет, как Wine, или портировать его самостоятельно. Если исходный код не выпущен, это было бы так, как если бы двигатель был сделан настолько большим, что он не мог поместиться в моторном отсеке Volvo, или был разработан для подключения к автомобилю с передним приводом, где у вашего Volvo был задний привод. Если кто-то не является абсолютно безумным маньяком (в лучшем виде), у которого есть месяцы свободного времени и нелепое количество самоотдачи, это вряд ли произойдет.
Как я могу запускать программы Mac в Linux?
Как запустить Mac OS в Ubuntu?
В Ubuntu это включено по умолчанию, а в других дистрибутивах Linux следуйте инструкциям из документации Snapcraft.
Как запустить файл DMG в Linux?
Откройте файл DMG в Linux
Какие программы можно запускать в Linux?
Spotify, Skype и Slack доступны для Linux. Помогает то, что все эти три программы были созданы с использованием веб-технологий и могут быть легко перенесены на Linux. Minecraft можно установить и на Linux. Discord и Telegram, два популярных чат-приложения, также предлагают официальные клиенты для Linux.
Как запустить программу из командной строки Mac?
Запустите приложение в Терминале.
Могу ли я загрузить Linux на Mac?
Законно ли запускать macOS на VirtualBox?
Как установить файл DMG?
Как открыть файл DMG?
Как открыть файл DMG в Windows 10
Как мне извлечь файл DMG на Mac?
Как извлечь файлы DMG
Google использует Linux?
Google использует Linux, поскольку это очень популярная система с открытым исходным кодом, и многие разработчики работают над ней, предоставляя Google много бесплатных разработок!
Нужен ли Linux антивирус?
Можете ли вы запускать приложения для Android в Ubuntu?
К сожалению, это не означает, что приложения могут плавно переходить между операционными системами.
Для запуска приложений Mac в Linux вам понадобится виртуальная машина или слой перехода.
Запустите виртуальную машину MacOS (все приложения)
С помощью бесплатного гипервизора с открытым исходным кодом, такого как VirtualBox, вы можете запускать macOS на виртуальном устройстве на вашем компьютере с Linux.
Правильно установленная виртуализированная среда MacOS без проблем запустит все приложения MacOS.
Подобная виртуализация рабочего стола требует значительного объема оперативной памяти, поэтому она может работать некорректно на устройствах с ограниченными ресурсами.
Для машин с техническими характеристиками наилучшим вариантом является виртуализация операционных систем через виртуальную машину VirtualBox.
Использование Darling Translation Layer (только CLI)
Вы также можете запустить слой перехода под названием Darling.
Он работает как WINE, которая создает среду перевода с Windows на Linux, которая позволяет вам запускать некоторые приложения Windows в системах Linux.
Darling пытается достичь той же цели между macOS и Linux.
Поскольку macOS и Linux совместно используют одну и ту же базу в стиле UNIX, Darling менее ресурсоемок, чем WINE, и в большинстве случаев дает лучшие результаты.
В настоящее время Darling может работать только с очень простыми приложениями с графическим интерфейсом и несколькими приложениями командной строки.
Хотя поддержка приложений с графическим интерфейсом является целью проекта, эта функция еще не реализована.
По сути, вы можете надежно запускать оболочку macOS в Терминале и, возможно, не сможете эффективно запускать другие приложения.
Он также содержит огромное количество кода, требующего около 12 гигабайт дискового пространства после сборки.
По сути, это дублирует функциональность операционной системы MacOS.
Поэтому, если вы беспокоитесь о том, что удаленные исполняемые файлы могут повредить вашу систему, вы можете избегать пакетов такого размера.
Сборка и установка дорогой Darling
1. Следуйте инструкциям по установке, чтобы загрузить правильные зависимости для вашего дистрибутива Linux со страницы установки Darling.
В зависимости от вашего дистрибутива вам может потребоваться выполнить длинную команду.
Например, для Ubuntu выполните следующую команду терминала, чтобы загрузить зависимости Darling:
Читайте также: