Для доступа к X вам нужны переменные окружения DISPLAY
и XAUTHORITY
. В зависимости от настроек sudo может удалить их. Вы можете проверить это с помощью sudo env
, чтобы увидеть переменные окружения.
Чтобы сохранить пользовательскую среду, вы можете использовать sudo -E
. У этого есть ловушка HOME
для дома ваших пользователей, и файлы конфигурации могут получить неправильные права доступа к файлам. Однако, чтобы избежать этого, sudo -H
устанавливает HOME
в /root
.
Объедините это для gparted:
sudo -EH gparted
С помощью:
можно установить только нужные переменные.
sudo env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY gparted
Сообщения об ошибках:
cannot open display:
означает, что DISPLAY
пусто или не существует.
no protocol specified
означает, что DISPLAY
установлен и действителен, но XAUTHORITY
, указывающий на куки-файл аутентификации, не установлен или куки-файл недействителен. В качестве альтернативы, xhost +SI:localuser:root
разрешает root временный доступ к X до выхода из системы.
То же самое относится и к доступу Wayland с WAYLAND_DISPLAY
и XDG_RUNTIME_DIR
. Проблемы с корневым доступом Wayland также можно решить с помощью sudo -EH
. Подробности и ловушку с XDG_RUNTIME_DIR
см. в . Будет ли Wayland когда-либо поддерживать графический sudo?
Динамический компоновщик ищет библиотеки в разных местах, но по умолчанию они не включают текущий каталог. В Linux список
LD_LIBRARY_PATH
, если таковые имеются; /etc/ld.so.cache
; /usr/lib
и т. д. ). Ссылка выше содержит более подробную информацию.
Вы можете повлиять на способ разрешения зависимостей путем экспорта LD_LIBRARY_PATH
; конкретно в вашем случае:
export LD_LIBRARY_PATH=.
(Не оставляйте это значение.)