Работа 1С:Предприятие в среде Linux, особенно в связке с Alt Linux Server и терминальным доступом через xrdp, имеет свои специфические нюансы, которые важно учитывать при проектировании защищенной IT инфраструктуры предприятия. Одной из самых острых проблем является «замирание» интерфейса при попытке напечатать документ или просто при открытии списка баз. Рассмотрим подробно, почему возникают задержки до 5–8 минут и как оптимизировать систему для комфортной работы пользователей. Для этих задач подойдёт администрирование кластеров 1С и сеансов на Linux.
Разберем ситуацию, когда сервер обладает мощным железом, но клиент 1С «висит» при печати. Основная причина кроется в механизме опроса принтеров платформой. В версиях платформы 1С для Linux долгое время существовала особенность: при наличии большого количества сетевых принтеров или недоступных узлов в системе CUPS, клиент последовательно ожидает ответа от каждого устройства. Это происходит в основном потоке интерфейса, что и вызывает эффект «мертвого» зависания. Для поиска причин замедлений есть анализ производительности и мониторинг нагрузки серверов 1С.
Для решения этой проблемы выполним следующие шаги:
CUPS. Проанализируем текущую версию и обновимся до актуальной, учитывая особенности настройки Linux и установки зависимостей пакетов для свежих релизов платформы./etc/cups/printers.conf. Если в нем числятся сетевые принтеры, которые физически отключены или находятся в других подсетях, 1С будет пытаться получить их статус, вызывая таймауты. Удалим все неиспользуемые устройства.cupsd.conf.Использование тяжелых графических оболочек (GNOME, KDE) внутри xrdp-сессий на сервере — это прямой путь к тормозам. Рассмотрим, как сделать интерфейс 1С отзывчивым:
Выбор окружения: Для терминального сервера на базе Alt Linux крайне рекомендуется использовать легковесные среды, такие как XFCE или MATE. Они значительно эффективнее передают графические примитивы по протоколу RDP.
Отключение аппаратного ускорения: 1С пытается использовать возможности видеокарты для отрисовки форм, но в виртуальной сессии xrdp это часто работает некорректно. Выясним, как это отключить. Нам необходимо отредактировать файл conf.cfg, который обычно располагается в каталоге установки платформы (например, /opt/1cv8/x86_64/8.3.XX.XXXX/conf/) или в /etc/1cv8/.
Добавим в файл следующую строку:
DisableHardwareAcceleration=1
Это заставит платформу использовать программный рендеринг, что в условиях xrdp работает гораздо стабильнее и без рывков.
Многие системные администраторы забывают, что 1С исторически завязана на шрифты Microsoft. Если в Alt Linux не установлены пакеты fonts-ttf-ms (Arial, Times New Roman, Courier New), платформа начинает «на лету» подбирать аналоги для каждого элемента формы при ее открытии. Это создает колоссальную нагрузку на процессор при каждом клике. Для решения подобных проблем полезно иметь под рукой справку по решениям различных задач при администрировании систем Linux и 1C. В этой работе поможет инструмент администрирования и мониторинга активных пользователей 1С.
Проанализируем состав установленных пакетов и установим необходимые шрифты:
apt-get update
apt-get install fonts-ttf-ms
После установки шрифтов рекомендуется очистить кэш шрифтов в системе командой fc-cache -fv. Вы заметите, как скорость отрисовки форм 1С вырастет в разы.
Когда на сервере работает много сотрудников под своими учетными записями, система может упираться в лимиты открытых файлов. Проверим настройки в файле /etc/security/limits.conf. Для пользователей, работающих в 1С, рекомендуется установить повышенные значения — поможет мониторинг журнала регистрации и уведомление о сбоях.
* soft nofile 65536
* hard nofile 65536
Также стоит обратить внимание на кэш пользователей и общее обслуживание баз данных 1C на Postgresql (поможет анализ структуры и оптимизация 1С для PostgreSQL), чтобы исключить влияние проблем СУБД на отзывчивость интерфейса. В Linux кэш хранится в домашней директории: ~/.1cv8. Разберем ситуацию: если сессия xrdp завершается некорректно (например, при обрыве связи), файлы кэша могут повредиться, что приведет к тормозам при последующих запусках. Посмотрим на возможность настройки скрипта, который будет очищать временные папки при выходе пользователя из системы.
Если вышеперечисленные методы не приносят желаемого комфорта, рассмотрим наиболее надежный вариант — переход с терминального доступа (xrdp) на использование тонкого клиента.
В этой схеме:
http/https через веб-сервер (Apache или Nginx) либо напрямую к серверу приложений 1С.Это полностью снимает проблему нагрузки на графическую подсистему сервера и исключает проблемы с пробросом принтеров через xrdp, так как печать будет осуществляться локально средствами клиентской ОС.
Зависания 1С на Alt Linux — это не приговор, а следствие неоптимизированных настроек по умолчанию. Первым делом обновите платформу до актуального релиза, где исправлены ошибки CUPS, установите MS-шрифты и отключите аппаратное ускорение в conf.cfg. Эти три шага решают большинство проблем с производительностью в терминальной среде.