# Установка Клиента ПМ на macOS

## Цель

Установить Клиент ПМ на рабочую станцию под управлением macOS.

## Предусловия

- Сервер ПринтМенеджера установлен и доступен по сети.
- Известен IP-адрес сервера ПринтМенеджера и токен доступа к ПринтМенеджеру. 
- Установлен Python версии 3.10.
- Установлен xcode-select . 
- Рекомендуется установить GhostScript.

## Что потребуется

- URL сервера ПринтМенеджера: `https://IP_ADDRESS:8080`.
- Токен доступа `PM_ACCESS_TOKEN` из технической панели администратора (`https://<server-ip>:8080/config`): Constance → Настройки → Общие настройки.
- Дистрибутив клиента: `printmanager_client-macos-x.y.z.tar`.

## Шаги установки

### Шаг 1. Установить Python 3.10

Необходимо самостоятельно установить Python версии 3.10. Установщик можно найти на официальном сайте python.org: <https://www.python.org/ftp/python/3.10.10/python-3.10.10-macos11.pkg>

### Шаг 2. Установить xcode-select

Необходимо установить xcode-select из терминала:

```
xcode-select --install
```

### Шаг 3. (Рекомендуется) Установить GhostScript

Для корректной работы рекомендуется установить GhostScript. Для этого:
- Установите менеджер пакетов macports или homebrew ([документация](https://brew.sh/ru/)).
- Введите команду установки:
```
brew install GhostScript
```

### Шаг 4. Скачать дистрибутив

Установка выполняется аналогично Linux, но с другим дистрибутивом. 

Скачайте дистрибутив `https://download.printum.io/distrib/printmanager-client/printmanager_client-macos-x.y.z.tar`, где x.y.z — актуальная версия.

### Шаг 5. Запустить установку

Выполните команды аналогично инструкции для Linux: 

```tar xvf printmanager_client-macos-x.y.z.tar
cd printmanager_client-macos-x.y.z
sudo PRINTMANAGER_BASE_URL=http://<server-ip>:8010 PRINTMANAGER_ACCESS_TOKEN=<токен с сервера> bash ./install.sh
```

### Шаг 6. Проверить статус службы

Чтобы проверить, что служба запустилась, используйте команду:

```
sudo launchctl print system/io.printum.printmanager-client
```

В полученном ответе проверьте наличие поля `pid`, значение которого — число. Если поле отсутствует, значит служба не запустилась. 

## Ожидаемый результат

- Служба клиента ПринтМенеджер запущена (поле `pid` присутствует в выводе `launchctl`).
- В системе появился виртуальный МФУ с названием Printum. 

## Связанные страницы

- [Клиент ПМ — справка по компоненту](http://wiki.printum.io/books/2-komponenty-sistemy/page/klient-pm-spravka-po-komponentu-aX6)
- [Требования к рабочим станциям пользователей](http://wiki.printum.io/books/3-ustanovka/page/trebovaniia-k-rabocim-stanciiam-polzovatelei)