XDG_RUNTIME_DIR не установлен в среде

Я запускаю 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 для вызова двоичного кода в скрипте, той же ошибки. У вас есть безопасный способ обхода этого?

1
задан 27 September 2017 в 13:39

2 ответа

Я смог заставить его работать, я просто установил следующие переменные среды в скрипте перед вызовом двоичного файла.

export XAUTHORITY=/var/run/lightdm/root/:0 export DISPLAY=:0

Скажите, пожалуйста, если это безопасно.

0
ответ дан 18 July 2018 в 06:09

Я смог заставить его работать, я просто установил следующие переменные среды в скрипте перед вызовом двоичного файла.

export XAUTHORITY=/var/run/lightdm/root/:0 export DISPLAY=:0

Скажите, пожалуйста, если это безопасно.

0
ответ дан 24 July 2018 в 18:31

Другие вопросы по тегам:

Похожие вопросы: