Рабочее место 1С на Linux через WSL. Часть 7 - Полноценное Linux-рабочее место: 1С:EDT, Git и графический интерфейс
В предыдущих лабораторных работах мы развернули СУБД PostgreSQL, сервер 1С:Предприятие и даже перенесли наше окружение на отечественную операционную систему Astra Linux. Однако сама разработка (работа в Конфигураторе) по-прежнему велась на стороне Windows-хоста. В этой статье мы сделаем важный шаг к полной независимости от Windows и перенесем графическое рабочее место разработчика целиком внутрь Linux-окружения. Мы воспользуемся современной графической подсистемой WSLg для запуска GUI-приложений, установим мощную среду разработки 1C:Enterprise Development Tools (EDT), настроим систему контроля версий Git и научимся вести разработку по современным стандартам.
Теоретическая часть
Что такое WSLg? Долгое время запуск графических (GUI) приложений Linux внутри WSL был сопряжен со значительными трудностями: разработчикам приходилось устанавливать и настраивать сторонние X-серверы для Windows (такие как VcXsrv или Xming), бороться с масштабированием шрифтов и низкой производительностью графического вывода. Начиная с Windows 10 (сборка 19044+) и Windows 11, Microsoft представила встроенный графический слой WSLg (WSLg - Windows Subsystem for Linux GUI). Графическая подсистема запускается полностью автоматически при обращении к любому GUI-приложению и использует протокол Wayland (с обратной совместимостью через XWayland). Она обеспечивает:
- Прямую интеграцию окон Linux-приложений в рабочий стол Windows (они отображаются со своими тенями, иконками на панели задач и ведут себя как "родные" приложения Windows).
- Аппаратное ускорение графики (OpenGL) с использованием видеокарты хост-системы.
- Поддержку сквозного буфера обмена для текста и изображений, а также работу аудиоустройств и микрофонов. Среда разработки 1С:EDT vs Конфигуратор Традиционный Конфигуратор 1С - это монолитное приложение, ориентированное преимущественно на Windows и использующее собственный проприетарный формат групповой разработки (Хранилище конфигурации). 1C:Enterprise Development Tools (EDT) - это современная среда разработки нового поколения, построенная на базе открытой платформы Eclipse. EDT изначально проектировалась как кроссплатформенное приложение и предлагает принципиально иной опыт:
- Естественная интеграция с Git: EDT хранит исходный код конфигурации в виде иерархического набора файлов формата XML и JSON (вместо единого бинарного файла .cf). Это позволяет использовать любые стандартные инструменты Git (ветвление, слияние, pull-request).
- Продвинутый редактор кода: Контекстные подсказки, автоматический рефакторинг, проверка качества кода "на лету" и детальная навигация по объектам метаданных.
- Многопроектность: Возможность вести разработку нескольких конфигураций и расширений в рамках единого рабочего пространства (Workspace).
Пошаговая инструкция
Шаг 1. Проверка поддержки WSLg и графической подсистемы
- Откройте терминал Ubuntu (или Astra Linux) в ConEmu.
- Проверьте наличие переменной окружения DISPLAY (она должна указывать на сокет WSLg):
echo $DISPLAY
Вывод должен быть похож на :0.
- Попробуйте запустить стандартный текстовый редактор или калькулятор, чтобы убедиться в работоспособности GUI:
sudo apt update
sudo apt install -y x11-apps
xeyes
If graphical window with eyes following your cursor appeared - WSLg works fine.
Шаг 2. Установка Java Runtime Environment (JRE)
1C:EDT написана на Java, поэтому для её работы требуется наличие установленной JRE/JDK версии 11 или 17 (в зависимости от версии EDT). Рекомендуется использовать дистрибутив BellSoft Liberica JDK или стандартный OpenJDK. Установим OpenJDK 11:
sudo apt install -y openjdk-11-jdk
Убедитесь, что Java успешно установлена и определяется системой: java -version
Шаг 3. Загрузка и установка 1С:EDT для Linux
- Скачайте дистрибутив 1С:EDT для Linux (x86_64) из личного кабинета портала ИТС (файл вида 1c_edt_distr_linux.tar.gz).
- Скопируйте его из папки Windows C:\TMP_C в ваше Linux-окружение:
mkdir -p ~/DISTR/EDT
cp /mnt/c/TMP_C/1c_edt_distr_linux.tar.gz ~/DISTR/EDT/
cd ~/DISTR/EDT
tar -xvf 1c_edt_distr_linux.tar.gz
- Запустите программу установки в графическом режиме: ./1ce-installer Thanks to WSLg, the standard 1C GUI installer will open. Follow installer prompts and finish. По умолчанию EDT будет установлена в каталог /opt/1C/1C_EDT/ (или аналогичный в зависимости от версии).
Шаг 4. Установка и базовая настройка Git
Для совместной работы нам понадобится Git. Установим его из системного репозитория:
sudo apt install -y git
Задайте глобальные параметры идентификации разработчика (имя и email), которые будут записываться во все ваши коммиты: git config --global user.name "Иван Иванов"
git config --global user.email "i.ivanov@example.com"
git config --global core.quotepath false
Flag core.quotepath false is necessary to correctly display Cyrillic 1C file names in Git.
Шаг 5. Первый запуск 1С:EDT и создание проекта
- Запустите 1С:EDT из терминала Linux: /opt/1C/1C_EDT/1c-edt
- EDT предложит вам выбрать рабочий каталог (Workspace). Укажите путь внутри вашей домашней директории Linux, например: /home/pen/workspace_edt.
- Нажмите "Новый проект" -> "Проект в конфигурации 1С:Предприятие".
- Задайте имя проекта DemoDB_Project.
- В качестве версии платформы укажите установленную в вашей системе Linux версию 1С (например, 8.3.16 или выше).
- In the import wizard choose "Import from information base" and specify connection parameters to DemoDB on WSL Linux server.
- Wait for metadata loading. EDT will convert monolithic configuration to XML/JSON structured files.
Практическое задание
Цель работы: Освоить полный цикл графической разработки в Linux-окружении с использованием 1С:EDT и фиксацией изменений в системе контроля версий Git. Задание:
- ☐ Инициализируйте локальный Git-репозиторий в каталоге созданного проекта DemoDB_Project. Для этого в EDT нажмите правой кнопкой мыши на имя проекта -> "Групповая разработка" -> "Предоставить доступ к проекту" (Share Project) и выберите Git.
- ☐ В проводнике проектов EDT найдите любой общий модуль (например, ОбщегоНазначения) или создайте новый.
- ☐ Добавьте в модуль простую процедуру вывода сообщения в Журнал регистрации: Процедура ЛР7_ПриветствиеИзЛинукс() Экспорт ЗаписьЖурналаРегистрации(\"ЛабораторнаяРабота7\", УровеньЖурналаРегистрации.Информация,,, \"Привет разработчикам на Linux из 1С:EDT!\"); КонецПроцедуры
- ☐ Сохраните изменения. Обратите внимание, что измененный файл сразу отобразится на вкладке "Индексирование Git" (Git Staging) в EDT.
- ☐ Перенесите измененный файл в область подготовленных файлов (Staged Changes), напишите коммит-сообщение: Добавлена процедура приветствия в рамках ЛР №7 и нажмите кнопку "Зафиксировать" (Commit).
- ☐ Выполните запуск отладки проекта непосредственно из EDT: среда автоматически обновит конфигурацию базы данных на Linux-сервере и запустит Тонкий клиент 1С через графический интерфейс WSLg.
Проверьте себя
- Что представляет собой подсистема WSLg и какой протокол отображения графики она использует по умолчанию? Ответ: WSLg - это встроенная графическая подсистема WSL, которая позволяет бесшовно запускать GUI-приложения Linux в Windows. По умолчанию она использует современный дисплейный протокол Wayland (и XWayland для совместимости со старыми X11-приложениями).
- В каком формате хранится исходный код конфигурации 1С в проекте 1С:EDT в отличие от классического Конфигуратора? Ответ: EDT хранит конфигурацию в виде структурированного иерархического набора открытых текстовых файлов форматов XML и JSON (где каждый объект метаданных и модуль лежат в отдельном файле/папке). Конфигуратор хранит конфигурацию монолитно в виде бинарных данных (или СУБД-таблиц), не предназначенных для прямого версионирования в Git.
- Зачем при настройке Git-клиента в Linux-окружении для 1С-разработки рекомендуется устанавливать флаг git config --global core.quotepath false? Ответ: По умолчанию Git экранирует все не-ASCII символы (включая русские буквы) в путях файлов и выводит их в виде кодов. Так как объекты метаданных 1С часто имеют русские имена, эта настройка заставляет Git отображать кириллические имена файлов в читаемом виде.
- Где физически рекомендуется располагать рабочий каталог (Workspace) 1С:EDT при работе в WSL? Ответ: Рабочий каталог EDT (и сам исходный код проектов) обязательно нужно располагать внутри родной файловой системы Linux (например, /home/pen/workspace_edt). Расположение Workspace на примонтированных дисках Windows (в каталогах типа /mnt/c/...) категорически не рекомендуется из-за низкой скорости работы файловых дескрипторов между ОС, что приведет к сильному падению производительности Eclipse/EDT.
- Какая утилита или библиотека необходима в системе Linux перед началом установки 1С:EDT? Ответ: Для работы 1С:EDT необходима установленная среда выполнения Java - JRE/JDK (Java Runtime/Development Kit) версии 11 или 17 (например, OpenJDK или BellSoft Liberica).
Попробовать НОПик →
Проверить свой уровень бесплатно →