Запуск программ для mac на linux

Обновлено: 07.07.2024

В операционной системе Mac OS X (или просто OS X) существует весьма годный пакетный менеджер под названием Homebrew. Он является аналогом таких пакетных менеджеров как Fink и MacPorts (который в свою очередь является аналогом портов из FreeBSD). Одно из главных преимуществ Homebrew - это открытый исходный код (двухпунктовая лицензия BSD). Это позволило энтузиастам создать его форк для Linux-систем, адаптировать его и позволить легко использовать в паре со штатным пакетным менеджером. Давайте посмотрим, что из себя представляет Linuxbrew и в каких случаях он может пригодиться.

Для начала стоит поговорить о самом Homebrew. Это пакетный менеджер, написанный на язке Ruby, имеющий весьма простой и понятный код. Он позволяет устанавливать самые свежие (да любые, по сути) программы в ваш домашний каталог, не запрашивая права sudo и не нарушая работы штатного менеджера пакетов. Суть работы Homebrew заключается в том, что при запросе установки нужной вам программы, он выкачивает её исходный код прямо из git-репозитория, собирает его, устанавливает программу в домашний каталог и создаёт символьную ссылку в /usr/local. Всё крайне просто. Вот список основных его достоинств:

  • устанавливает программы в домашний каталог, без запроса прав администратора, в их собственые директории;
  • крайне просто способ создания своих пакетов для него (буквально парой строк);
  • так как в основе лежит Git, можно легко откатывать изменения;
  • для установки того или иного приложения, использются формулы, которые представляют собой крайне простой скрипт на Ruby

  • class Wget < Formula
    homepage "https://www.gnu.org/software/wget/"
    url "https://ftp.gnu.org/gnu/wget/wget-1.15.tar.gz"
    sha256 "52126be8cf1bddd7536886e74c053ad7d0ed2aa89b4b630f76785bac21695fcd"

sudo apt-get install build-essential curl git m4 ruby texinfo libbz2-dev libcurl4-openssl-dev libexpat-dev libncurses-dev zlib1g-dev

Для Fedora/CentOS:

sudo yum groupinstall 'Development Tools' && sudo yum install curl git irb m4 ruby texinfo bzip2-devel curl-devel expat-devel ncurses-devel zlib-devel

Внимание: 32-х битные системы не поддерживаются!

Теперь поставим скрипт, который скачает и установит Linuxbrew:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/linuxbrew/go/install)"

Далее настроим переменные среды. Открываем

и в конец добавляем строки:

export PATH="$HOME/.linuxbrew/bin:$PATH"
export MANPATH="$HOME/.linuxbrew/share/man:$MANPATH"
export INFOPATH="$HOME/.linuxbrew/share/info:$INFOPATH"

сабж. есть аналог 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 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:

В качестве примера будет использоваться дистрибутив Pop!_OS 19.10, но статья актуальна для любого Линукс дистрибутива с рабочим окружением Gnome.

1. Тема оформления окружения Gnome похожая на macOS

Тема оформления окружения Gnome похожая на macOS

Перед установкой тем оформления установим инструмент для тонкой настройки системы — Gnome Tweak Tool:

  • Темы оформления доступны на Gome-Look по ссылке: McOS-themes. В разделе Files вы найдете большое количество вариаций темы, но мы будем использовать первые две – светлую тему McOS-CTLina-Gnome-1.1 и тёмную тему Mc-OS-CTLina-Gnome-Dark-1.1. Данные темы так же содержат тему оформления для Gnome Shell.
  • Значки. Значки, они же иконки, на тему macOS доступны в огромном количестве. Рекомендую обратить внимание на MacOs Icon Theme и круглые иконки McMojave-circle.

Установка и активация темы

Архивы с темами достаточно разархивировать и скопировать в скрытую папку

/.themes, а папки иконок в

Чтобы упростить установку тем и иконок можно воспользоваться утилитой ocs-url.

Активировать установленные темы оформления можно с помощью инструмента Gnome Tweak Tool, как показано на скриншоте.

McOS-themes

Для возможности выбора и активации тем Shell нужно установить расширение User Themes.

Включить прозрачность верхней панели (Top Bar) можно с помощью расширения Transparent Top Bar.

В качестве нижней панели используется расширение Dash to Dock.

2. Динамические обои macOS в Gnome

Одним из нововведений в macOS Mojave стало появление динамических обоев рабочего стола, которые менялись в зависимости от времени суток. Установим подобные обои в Linux.

Динамические обои доступны по ссылке: Dynamic-gnome-wallpapers.

Для установки обоев предлагается скрипт, у меня он не сработал, поэтому пришлось вручную устанавливать.

Установка динамических обоев вручную

Скачиваем архив Wallpaper.zip и распаковываем в удобном местоположении. В моем случае это Домашняя папка. В папке находятся обои Exodus, Minimal-Mojave, MojaveV2 и mojave_dynamic, а так же файлы их настроек в формате xml.

Настройка и активация обоев

Нам нужно отредактировать 4 файла с расширением xml. Открыть файлы можно с помощью любого текстового редактора. Находим любую строчку, в которой указано расположение обоев. Например:

Обводим текст расположения и нажимаем комбинацию клавиш CTRL+H, откроется опция Найти и заменить (открыть можно так же и через Меню). Как показано на скриншоте путь расположения меняем на свой, затем нажимаем на Найти и после на Заменить.

Настройка и активация обоев

В xml файлах настроек мы указываем расположение обоев. Затем открываем утилиту Gnome Tweak Tool и в разделе Внешний вид для изображения рабочего стола указываем один из xml файлов.

К сожалению не подходит универсальный способ отображения пути с помощью знака

, поэтому требуется редактирование с указанием точного пути.

3. Автоматическая смена темы оформления с учетом времени суток в Gnome

Автоматическая смена темы оформления со светлой темы днём на тёмную тему ночью. Данная функция стала доступной в последней версии операционной системы macOS Catalina. В рабочем окружении Gnome настроить автоматическую смену темы оформления можно с помощью следующего скрипта.

  • Скопируйте текст в любой текстовый редактор и сохраните его с расширением .sh
  • Затем сделайте скрипт исполняемым, можно с помощью команды в папке расположения скрипта:

Скрипт NightMode можно отредактировать и в нем указать другие темы оформления.

Я настроил его следующим образом:

С 7 утра и до 17 часов вечера будет использоваться светлая тема оформления McOS-CTLina-Gnome-1.1 , в том числе данная тема для Shell. После 17 часов и до 7 часов утра будет применена темная тема оформления Mc-OS-CTLina-Gnome-Dark-1.1.

Mc-OS-CTLina-Gnome-Dark-1.1

4. Альтернатива Apple Music в Linux

В качестве альтернативы Apple Music, можно воспользоваться другими сервисами потоковой музыки, например Яндекс Музыка, Youtube Music, Spotify, Tuneln и др. В Linux для потоковой музыки предлагаю ознакомится с плеером MellowPlayer.

MellowPlayer — плеер с открытым исходным кодом, который представляет собой веб-приложение для прослушивания потоковой музыки. Несмотря на то, что плеер является веб-приложением, он имеет богатый функционал, в том числе темы оформления, значок в системном трее, поддержку уведомлений рабочего стола, интеграцию с различными звуковыми меню. Плеер поддерживает перечисленные выше потоковые сервисы. С полным списком можно ознакомится по ссылке: Supported Services . Установка плеера описана по ссылке: Installation.

MellowPlayer

Пользуюсь сервисом Яндекс Музыки, и мне не хватало приложения для Linux. MellowPlayer оказался удобным решением.

5. Интеграция с мобильными устройствами

Компания Apple добилась больших успехов в интеграции десктопной системы с устройствами iPhone. В качестве альтернативы можно сопоставить интеграцию Linux систем со смартфонами с помощью приложения KDE Connect.

Интеграция с мобильными устройствами

Интеграция с мобильными устройствами

Для рабочего окружение Gnome полная реализация KDE Connect предоставляется с помощью расширения GSConnect.

Как заблокировать / разблокировать рабочий стол Linux с помощью KDE Connect / GSConnect

Ресурс linuxuprising поделился решением с помощью которого можно заблокировать экран рабочего стола Linux и его разблокировать при использовании приложения KDE Connect или расширения GSConnect.

В системе Linux откройте приложение KDE Connect или расширение GSConnect, раздел Команды — нажмите на плюсик для добавления команд. Для рабочего окружения GNOME 3.34 (Fedora 31, Ubuntu 19.10 и выше):

Для блокировки экрана:

Для разблокирования экрана:

Для GNOME 3.32 и ниже нужно ввести другие команды.

Для блокировки экрана:

Для разблокирования экрана:

Как заблокировать / разблокировать рабочий стол Linux с помощью KDE Connect / GSConnect

После добавления команды станут доступны в приложении на Android устройстве, в разделе Запуск команд.

Читайте также: