Запуск утилиты MD4_GoogleConnector на Linux
> Медиадисплей > Интеграции > Интеграция с GoogleДата обновления: 7 июля 2026 г. Дата публикации: 7 июля 2026 г. Автор: Жапов Ананда
Введение
Утилита MD4_GoogleConnector предназначена для обновления контента на экранах через сервер Медиадисплей. Она написана на C# для .NET Framework, но может быть запущена на Linux с помощью Mono. В этом руководстве мы опишем, как установить и настроить утилиту на Linux, используя только репозиторий с GitLab.
Требования
- Операционная система: Linux (Ubuntu, Linux Mint, Debian, Fedora и др.) с поддержкой Mono.
- Установленные пакеты:
git– для клонирования репозитория.mono-complete– среда выполнения .NET Framework.
Установка Mono
Ubuntu / Linux Mint / Debian
sudo apt update
sudo apt install mono-complete
Fedora / CentOS / RHEL
sudo dnf install mono-complete
Проверка установки
mono --version
Вы должны увидеть версию Mono (например, 6.8.0.105).
Получение исходников
- Клонируйте репозиторий:
git clone https://git.rbsoft.ru/Mediadisplay/md4/GoogleConnector.git
cd MD4_GoogleConnector
- Структура репозитория:
MD4_GoogleConnector/
├── bin/
│ └── Debug/
│ ├── MD4_GoogleConnector.exe # Основной исполняемый файл
│ ├── ... # DLL и другие файлы
│ └── Configs/ # Папка с конфигурационными INI-файлами
│ ├── flight.ini
│ ├── menu.ini
│ └── ...
├── Scripts/ # Скрипты .m4s
│ └── OfficeScreen.m4s
├── MD4_GoogleConnector.sh # Bash-скрипт для запуска
├── MD4_TestOfficeScreen.sh # Bash-скрипт для запуска
└── README.md
Убедитесь, что папка Configs содержит нужные INI-файлы, а в корне есть MD4_GoogleConnector.sh.
Настройка
1. Получите файл credentials.json
Для доступа к Google Sheets API необходимо скачать файл credentials.json из Google Cloud Console (инструкция по получению описана в этой документации). Поместите его в корень репозитория:
cp ~/Downloads/credentials.json ./MD4_GoogleConnector/bin/Debug/
Убедитесь, что файл находится рядом с MD4_GoogleConnector.exe.
2. Настройте конфигурационный файл
В папке Configs уже есть готовые примеры. Вы можете отредактировать нужный INI-файл, например, menu.ini:
nano bin/Debug/Configs/menu.ini
Важные параметры:
- SpreadsheetId – ID вашей Google-таблицы.
- ReceiverId – имя приёмника (например d1).
- CredentialsPath – путь к credentials.json (можно оставить credentials.json, так как файл лежит рядом).
- ApiUrl – URL сервера Медиадисплей (например, http://127.0.0.1:5206).
3. Настройте скрипт запуска
Файл MD4_GoogleConnector.sh уже содержит команду запуска. По умолчанию он использует конфиг Configs/statisticUrl.ini. Вы можете изменить его, отредактировав переменную CONFIG_PATH:
nano MD4_GoogleConnector.sh
Найдите строку:
CONFIG_PATH="Configs/statisticUrl.ini"
и замените на нужный конфиг, например:
CONFIG_PATH="Configs/menu.ini"
4. Сделайте скрипт исполняемым
chmod +x MD4_GoogleConnector.sh
Запуск утилиты
Однократное обновление контента
./MD4_GoogleConnector.sh
Скрипт:
- создаёт папку Log (если её нет),
- запускает MD4_GoogleConnector.exe через mono с указанным конфигом,
- записывает логи в Log/MD4_GoogleConnector.log.
Пример вывода:
[07.07.2026 11:58:25] Запуск утилиты...
Использование конфигурации: /home/user/Project/GoogleConnector-main/MD4_GoogleConnector/bin/Debug/Configs/menu.ini
Файл /home/user/Project/GoogleConnector-main/MD4_GoogleConnector/bin/Debug/Output/debug.json успешно создан
Отправка данных в Медиадисплей...
Успешно отправлено. Ответ: OK
[07.07.2026 11:58:25] Утилита завершилась успешно (Код 0 - Success)
Запуск скрипта .m4s
Если вы хотите выполнить сценарий (например, OfficeScreen.m4s), используйте аргумент script=:
mono ./bin/Debug/MD4_GoogleConnector.exe script=./Scripts/OfficeScreen.m4s
Или проще запускайте отдельный bash-скрипт MD4_TestOfficeScreen.sh.
Логирование
Все логи утилиты сохраняются в папку Log в файл MD4_GoogleConnector.log. Вы можете просмотреть его:
cat Log/MD4_GoogleConnector.log
Устранение неполадок
1. Ошибка: «Cannot open assembly … No such file»
Убедитесь, что файл MD4_GoogleConnector.exe существует в папке bin/Debug. Если нет – возможно, вы не скопировали его из сборки. В репозитории он должен быть.
2. Ошибка: «The service sheets has thrown an exception (403)»
Проверьте, что файл credentials.json корректен и сервисный аккаунт имеет доступ к таблице. Также проверьте SpreadsheetId в конфиге.
3. Mono не найден
Установите Mono:
sudo apt install mono-complete # Ubuntu/Debian/LinuxMint
sudo dnf install mono-complete # Fedora/RHEL/CentOS
См. также
- Как работает конфигурация: от таблицы до экрана
- Получение credentials.json
- Как правильно указать имена колонок в таблице