Для тестов программ, а иногда и для тестов web-сайтов в среде MacOS, иногда хочется не платить 10$ за час сервиса, эмитирующего работу MacOS, а воспользоваться имеющимися в Linux (и не только в нем) возможностями.

С чего начнем?

Поставим Docker. Как его установить для Вашего дистрибутива Linux читайте в интернетах, либо как-то так: 

Debian/Ubuntu

sudo apt-get update && sudo apt-get install docker-ce docker-ce-cli containerd.io

Manjaro:

sudo pacman -Syu && sudo pacman -S docker

Чтобы далее без потери места на системном разделе Вы смогли запустить контейнер любого размера, нужно перенести папку docker в необходимое место (где есть много свободного места > 60 GB). Для этого:

SEE MORE: https://rtfm.co.ua/docker-izmenit-rabochuyu-direktoriyu/

Редактируйте файл:

sudo nano /etc/docker/daemon.json

Вставьте туда следующие строки:

{
"graph": "/new-folder/to/docker/"
}

Ctrl+O ­— сохранить, Ctrl+X — выйти.

Запустим docker:

systemctl start docker

Посмотрим в сторону SickCoders...

docker pull sickcodes/docker-osx:auto

# boot directly into a real OS X shell with a visual display [NOT HEADLESS]
docker run -it \
--device /dev/kvm \
-p 50922:10022 \
-v /new-folder/to/docker:/new-folder/to/docker \
-e "DISPLAY=${DISPLAY:-:0.0}" \
sickcodes/docker-osx:auto

Первая строка установит сам контейнер с MacOS. Последующие строки запустят его. Будьте готовы потратить +-60 GB и минут 30 времени на загрузку файлов по сети (около 22 GB), их распаковки, копирования контейнера и его запуска. После этих манипуляций, должно появится окошко с макосью, но на сколько упадет общая производительность Вашего ПК — остается загадкой.

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

Посмотреть образы:

docker images

Посмотреть запущенные образы

docker ps -a

Удалить образ

docker rm 

Инициализация и сам Макос

MacOS on Linux MacOS on Linux MacOS on Linux MacOS on Linux MacOS on Linux