Гайд: Настройка графики в 1С на Astra Linux: исправление пустых окон и ошибок отрисовки
Шаг 1. Проверка версии и типа клиента 1С
- Убедитесь, что используется штатный Linux-клиент, а не запуск через Wine/Proton.
2. Проверьте версию:
1cv8 --version
Рекомендуется версия 8.3.22.x и новее (оптимально 8.3.24+). Старые сборки имеют известные баги рендеринга в современных X11/GTK3.
3. Если установлен тонкий клиент, попробуйте толстый (или наоборот):
1cv8c # тонкий клиент
1cv8 # толстый клиент
Шаг 2. Дисплейный сервер и переменные окружения
1С официально работает только в X11.
Если сессия запущена в Wayland, графика может не отрисовываться.
echo $XDG_SESSION_TYPE
- Должно быть
x11. Еслиwayland-> завершите сеанс и на экране входа выберитеAstra Linux (X11)илиFly.
- Принудительно задайте бэкенды перед запуском 1С:
export GDK_BACKEND=x11
export QT_QPA_PLATFORM=xcb
export CLUTTER_BACKEND=x11
1cv8
Шаг 3. Установка системных зависимостей
Откройте терминал и выполните:
sudo apt update
sudo apt install libgtk-3-0 libglib2.0-0 libpango-1.0-0 libcairo2 libfreetype6 \
libfontconfig1 libx11-6 libxext6 libxrender1 libxrandr2 libxcursor1 libxi6 \
libxcomposite1 libxfixes3 libxkbcommon0 libgbm1 libdrm2 mesa-utils
Для Astra Linux SE/CE пакеты обычно доступны в штатных репозиториях.
Если потребуется ttf-mscorefonts-installer, включите репозиторий contrib:
sudo sed -i 's/^# deb/deb/' /etc/apt/sources.list
sudo apt update && sudo apt install ttf-mscorefonts-installer
Шаг 4. Шрифты и кэш рендеринга
1С критичен к наличию шрифтов и корректному кэшу.
sudo fc-cache -fv
fc-list | grep -iE "arial|tahoma|segoe|noto|dejavu"
Если вывод пуст -> установите базовые шрифты:
sudo apt install fonts-noto fonts-dejavu fonts-liberation2
В самом клиенте 1С:
Файл -> Параметры -> Отображение -> попробуйте снять галочку "Использовать аппаратное ускорение" и "Сглаживание шрифтов", перезапустите клиент.
Шаг 5. Отключение аппаратного ускорения (часто решает проблему)
Запустите 1С с параметром отключения HWA:
1cv8 -DisableHWA
Или создайте обёртку в ~/.local/bin/1c-safe:
#!/bin/bash
export GDK_BACKEND=x11
exec 1cv8 -DisableHWA "$@"
Сделайте исполняемым: chmod +x ~/.local/bin/1c-safe и запускайте через неё.
Шаг 6. Особенности безопасности Astra Linux
В Astra Linux SE активно работают механизмы мандатного контроля (Parsec/МКД) и ограничения на выполнение файлов во временных директориях.
1. Проверьте монтирование /tmp и /home:
mount | grep -E "tmpfs|/home|/opt"
Если видите noexec,nosuid на разделе, где лежит 1С или его кэш, клиент не сможет загружать временные графические модули.
Решение:
монтировать с exec или вынести рабочую директорию на разрешённый раздел.
2. Убедитесь, что клиент запущен от обычного пользователя, не от root:
whoami
ls -la ~/.1cv8/
Права должны быть user:user.
При необходимости:
sudo chown -R $USER:$USER ~/.1cv8
3. Если используется профиль безопасности enhanced или maximum, попробуйте временно переключиться на standard для диагностики (только в тестовой среде):
sudo pdp -s standard
Шаг 7. Диагностика через логи и терминал
Запустите клиент из терминала, чтобы увидеть ошибки в реальном времени:
LIBGL_DEBUG=verbose GTK_DEBUG=interactive 1cv8 2>&1 | tee ~/1c-debug.log
На что обратить внимание в выводе:
libgtk-3.so.0: cannot open shared object file-> переустановитеlibgtk-3-0X11: cannot open display-> проблема с$DISPLAYили запуском по SSH безssh -XMesa: failed to create DRI3 connection-> драйвер GPU или Mesa конфликтуютParsec: denied access to /tmp/...-> политика безопасности блокирует запись
Логи самого 1С находятся в ~/.1cv8/<имя_базы>/log/ и в журнале systemd:
journalctl --user -f | grep -i 1c
Шаг 8. Альтернативные варианты
Если графика не появляется после всех шагов:
- Веб-клиент: откройте базу через браузер (
http://<сервер>:<порт>/base). Работает стабильнее на Linux. - X11 Forwarding: если подключаетесь по SSH, используйте
ssh -Xилиssh -Yи убедитесь, что на сервере установленxauthиopenssh-serverсX11Forwarding yes. - Контейнеризация: запуск 1С в Docker с пробросом
X11и штатными зависимостями часто обходит конфликты хост-ОС.
Чек-лист быстрой проверки
| Проблема | Решение |
|---|---|
| Белое/пустое окно | export GDK_BACKEND=x11 + отключение HWA в параметрах 1С |
| Не отрисовываются кнопки/сетки | sudo fc-cache -fv + установка шрифтов fonts-noto |
Ошибки libgtk, libcairo в терминале |
sudo apt install libgtk-3-0 libcairo2 libfreetype6 |
| Запуск по SSH без графики | ssh -X или ssh -Y, проверка echo $DISPLAY |
| Блокировка в Astra Linux SE | Проверка mount на noexec, смена профиля pdp -s standard (тест) |
Важные примечания
- Не запускайте 1С от
rootи не меняйте права на системные библиотеки черезchmod 777. - Перед изменением политик безопасности сделайте резервную копию конфигурации Parsec/МКД.
- В корпоративной среде изменения в репозиториях и политиках согласовывайте с отделом информационной безопасности.
Удачи в настройке!