Как получить переменную DISPLAY по умолчанию?

Я тоже столкнулся с этой проблемой. Эта проблема была решена путем помещения папки ltp в каталог /opt и перекомпиляции всех файлов с помощью make.

0
09.06.2021, 05:32
2 ответа

Вы можете изучить /proc/${pid}/environ. Это содержит начальную среду процесса.

Здесь $$— pid запущенной оболочки. Также обратите внимание, что переменные разделены нулевым -символом. Параметр -eдля catзаставит его печатать не -непечатаемые символы (, такие как нулевой символ ), а sedпреобразует представление нулевых символов в символы новой строки.

$ cat -e "/proc/$$/environ" | sed 's/\^@/\n/g' | grep DISPLAY
DISPLAY=:0.0

$ export DISPLAY=broken

$ cat -e "/proc/$$/environ" | sed 's/\^@/\n/g' | grep DISPLAY
DISPLAY=:0.0
2
28.07.2021, 11:26

Один из способов получить правильное DISPLAY— запросить переменную DISPLAY, назначенную gnome-terminal-server, со следующим

cat /proc/$(pidof "gnome-terminal-server")/environ | tr '\0' '\n' | grep ^DISPLAY=
0
28.07.2021, 11:26

Теги

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