Подробный гайд по установке и запуску 1С:Предприятие 8.3 в Fedora Linux - Часть 3
10. Типичные ошибки и что делать
10.1. error while loading shared libraries: libXXX.so.N
Решение:
dnf provides '*/libXXX.so.N'
sudo dnf install package-name
Затем:
~/bin/1c-doctor
~/bin/1c-run ENTERPRISE
10.2. libwebkit2gtk-4.0.so.37: cannot open shared object file
Проверьте:
dnf provides '*/libwebkit2gtk-4.0.so.37'
Если пакет есть:
sudo dnf install webkit2gtk4.0
Если пакета нет в вашей Fedora:
- обновить 1С до версии с поддержкой более нового WebKit;
- использовать Distrobox/контейнер с Ubuntu LTS или другой поддерживаемой системой;
- не рекомендую просто делать
ln -sнаlibwebkit2gtk-4.1, это часто приводит к падениям.
10.3. cannot open display
Проверьте:
echo $DISPLAY
echo $WAYLAND_DISPLAY
echo $XDG_SESSION_TYPE
Если вы в SSH:
ssh -X user@host
Или:
ssh -Y user@host
На сервере может понадобиться:
sudo dnf install xorg-x11-xauth
Если GUI вообще не нужен, можно использовать виртуальный X-сервер:
sudo dnf install xorg-x11-server-Xvfb
xvfb-run -a ~/bin/1c-run ENTERPRISE
10.4. No such file or directory, хотя файл есть
Проверьте архитектуру:
file /opt/1cv8/x86_64/*/1cv8
Для 64-битной системы должен быть x86-64.
Проверьте динамический интерпретатор:
ldd /opt/1cv8/x86_64/*/1cv8
Если бинарник 32-битный, на 64-битной Fedora нужно ставить 32-битные зависимости, но лучше использовать 64-битную 1С.
10.5. Segmentation fault / core dumped
Действия:
coredumpctl list --no-pager
coredumpctl info
Попробуйте программный рендеринг:
export LIBGL_ALWAYS_SOFTWARE=1
export WEBKIT_DISABLE_COMPOSITING=1
export GDK_BACKEND=x11
~/bin/1c-run ENTERPRISE
Если с этими переменными работает — проблема связана с GPU/OpenGL/Wayland/драйверами.
10.6. GTK-темы/иконки
Ошибки вида:
Unable to locate theme engine
Icon theme not found
Failed to load module "canberra-gtk-module"
Решение:
sudo dnf install gtk3 adwaita-icon-theme hicolor-icon-theme libcanberra-gtk3 gnome-themes-extra || true
Проверка с темой по умолчанию:
GTK_THEME=Adwaita ~/bin/1c-run ENTERPRISE
10.7. Secret Service / libsecret / gnome-keyring
Если есть ошибки про секреты/пароли/keyring:
sudo dnf install libsecret gnome-keyring
В минимальном сеансе можно попробовать:
dbus-run-session -- gnome-keyring-daemon --start --components=secrets
Или запускать 1С через:
dbus-run-session -- ~/bin/1c-run ENTERPRISE
10.8. D-Bus ошибки
Например:
Cannot autolaunch D-Bus without X11 DISPLAY
The name org.freedesktop.secrets was not provided by any .service files
Решение:
sudo dnf install dbus
Запуск через dbus-сессию:
dbus-run-session -- ~/bin/1c-run ENTERPRISE
10.9. Квадратики вместо русского текста
Проверьте шрифты:
fc-list :lang=ru family | sort -u | head
Если пусто:
sudo dnf install dejavu-sans-fonts dejavu-serif-fonts liberation-fonts google-noto-sans-fonts google-noto-serif-fonts
fc-cache -f
10.10. Ошибки лицензии
Если 1С запускается, но жалуется на лицензию:
- проверьте сервер лицензий;
- проверьте дату и время:
timedatectl
- проверьте сетевую доступность сервера лицензий/сервера 1С;
- проверьте
firewalld, если сервер лицензий на другой машине.
10.11. Ошибки подключения к базе
Проверьте имя сервера:
getent hosts server-name
Проверьте порт 1С-сервера, обычно 1541 для агента:
nc -vz server-name 1541
Или:
timeout 3 bash -c '</dev/tcp/server-name/1541' && echo open || echo closed
Если сервер 1С локальный:
ss -ltnp | grep 1541
10.12. SELinux
Fedora использует SELinux в режиме Enforcing по умолчанию.
Проверка:
getenforce
Посмотреть недавние запреты:
sudo ausearch -m avc -ts recent | grep -Ei '1cv8|/opt/1cv8'
Если нет ausearch:
sudo dnf install audit
Можно временно перевести в разрешающий режим только для диагностики:
sudo setenforce 0
~/bin/1c-run ENTERPRISE
sudo setenforce 1
Если с setenforce 0 заработало — не оставляйте так. Нужно делать корректную политику или исправлять метки/пути.
Простая команда для генерации локального модуля по свежим AVC:
sudo ausearch -m avc -ts recent | grep -Ei '1cv8|/opt/1cv8' | sudo audit2allow -M 1cv8local
sudo semodule -i 1cv8local.pp
Если файлы 1С копировали вручную, а не ставили RPM, восстановите метки:
sudo restorecon -RFv /opt/1cv8
11. Если нужно смотреть, что 1С требует прямо во время работы
Иногда ошибка появляется не при старте, а при открытии базы, печати, работе с веб-компонентом, подключении к серверу и т.д.
11.1. Журнал в реальном времени
Откройте второй терминал:
tail -f ~/1c-terminal-*.log
Или системный журнал:
journalctl --user -f
Или:
sudo journalctl -f | grep -Ei '1cv8|webkit|gtk|segfault|avc'
11.2. Смотреть файловые операции процесса
pgrep -laf 1cv8
sudo strace -f -p PID -e trace=openat,stat,access
11.3. Смотреть сеть процесса
sudo strace -f -p PID -e trace=connect
Или:
sudo ss -tnp | grep 1cv8
11.4. Смотреть, какие библиотеки уже загружены
cat /proc/PID/maps | awk '{print $6}' | grep '\.so' | sort -u
11.5. Смотреть открытые файлы
sudo lsof -p PID
Мы делимся этой технической информацией, чтобы помочь вам в решении задач — используйте её с пониманием. Статья носит рекомендательный характер, поэтому, пожалуйста, применяйте описанные методы осмотрительно.