Я запускаю Ubuntu 14.04 LTS. Я хотел запустить GUI-приложение во время входа в LightDM, я сделал это, добавив эту строку в /etc/pam.d/lightdm
auth required pam_exec.so debug log=/path/to/file.log /path/to/script.sh
. Затем скрипт вызовет двоичный файл. Я знаю, что сценарий вызывается, поскольку я добавил несколько журналов. Проблема в том, что я получаю эту ошибку, когда скрипт вызывает двоичный файл.
error: XDG_RUNTIME_DIR not set in the environment.
(binary:3781): Gtk-WARNING **: cannot open display:
После проверки журналов я обнаружил, что скрипт вызывается root.
В журнале я также попытался повторить DISPLAY и XAUTHORITY, и оба они пусты. Я попытался использовать gksudo для вызова двоичного кода в скрипте, той же ошибки. У вас есть безопасный способ обхода этого?
Я смог заставить его работать, я просто установил следующие переменные среды в скрипте перед вызовом двоичного файла.
export XAUTHORITY=/var/run/lightdm/root/:0
export DISPLAY=:0
Скажите, пожалуйста, если это безопасно.
Я смог заставить его работать, я просто установил следующие переменные среды в скрипте перед вызовом двоичного файла.
export XAUTHORITY=/var/run/lightdm/root/:0
export DISPLAY=:0
Скажите, пожалуйста, если это безопасно.