Вопрос или проблема
У меня есть сообщение об ошибке при попытке запустить веб-интерфейс pgadmin4 с рабочего стола на fedora 28/postgresql 10:
Не удалось запустить сервер приложения, поток сервера завершает работу.
Тем не менее, похоже, что я могу запустить его, введя:
sudo pgadmin4
в диалоговом окне alt-F2. Так что я полагаю, что это проблема с правами, но у меня нет ничего значительного в логах, чтобы разобраться в этом вопросе.
Буду признателен за любые подсказки.
Сначала я выполнил эти инструкции о системных разрешениях:
https://www.pgadmin.org/docs/pgadmin4/3.x/server_deployment.html
затем я создал этот pgadmin4.service, так как похоже, что помощник рабочего стола совершенно не помогает:
[Unit]
Description=Служба Pgadmin4
After=network.target
[Service]
User= root
Group= root
Type=simple
ExecStart=/usr/bin/python3 /usr/lib/python3.6/site-packages/pgadmin4-web/pgAdmin4.py
[Install]
WantedBy=multi-user.target
Это решение, которое я нашел: оно работает в пользовательской среде и может быть включено как служба.
Ответ или решение
Проблема, с которой вы столкнулись при запуске pgAdmin 4, связана с ошибкой в работе сервера, как указано в сообщении об ошибке: "Failed to launch the application server, server thread exiting." Это может быть вызвано проблемами с правами доступа, а также конфигурацией сервиса.
Первое, что вы заметили, — это возможность запуска pgAdmin 4 с использованием команды sudo pgadmin4
. Это подтверждает, что у вас действительно имеются проблемы с правами доступа, когда вы пытаетесь запустить приложение от имени обычного пользователя.
Для решения этой проблемы я рекомендую следующие шаги:
1. Проверьте права доступа к каталогу и файлам pgAdmin
Убедитесь, что ваш пользователь имеет необходимые права на доступ к файлам и директориям pgAdmin. Вы можете сделать это, выполнив следующие команды:
sudo chown -R ваш_пользователь:ваш_пользователь /usr/lib/python3.6/site-packages/pgadmin4-web/
2. Измените файл service для pgAdmin
Ваш файл pgadmin4.service
имеет некоторые проблемы. Важно указать пользователя, от имени которого должен работать сервис. Вместо root
, создайте отдельного пользователя для этого сервиса. Например, если ваш пользователь называется pgadmin
, измените службы следующим образом:
[Unit]
Description=Pgadmin4 Service
After=network.target
[Service]
User=pgadmin # Измените на вашего пользователя, если у вас другой
Group=pgadmin # Или оставьте root, в зависимости от ваших установок
Type=simple
ExecStart=/usr/bin/python3 /usr/lib/python3.6/site-packages/pgadmin4-web/pgAdmin4.py
[Install]
WantedBy=multi-user.target
3. Запустите и включите службу
После редактирования файла pgadmin4.service
, загрузите измененную конфигурацию системы и запустите службу:
sudo systemctl daemon-reload
sudo systemctl start pgadmin4.service
sudo systemctl enable pgadmin4.service
4. Проверка ошибок
Если после выполнения указанных шагов служба не запускается, проверьте журнал системного процесса для анализа ошибок:
sudo journalctl -u pgadmin4.service
5. Настройки конфигурации pgAdmin
Также стоит проверить файл конфигурации pgAdmin, чтобы убедиться, что данные о сервере имеют правильные значения и соответствуют вашему окружению. Обычно этот файл находится по пути:
/usr/lib/python3.6/site-packages/pgadmin4-web/config_local.py
Заключение
Следуя этим рекомендациям, вы сможете решить проблему с запуском pgAdmin 4 на вашем компьютере под управлением Fedora 28. Если проблемы останутся, рассмотрите возможность проверки системных зависимостей или переустановки pgAdmin 4.