Внезапно ГКСУ перестал работать на меня:
~$ gksu gparted
(gpartedbin:24252): Gtk-WARNING **: cannot open display: :0
То же самое происходит с gparted-pkexec
:
~$ gparted-pkexec
No protocol specified
(gpartedbin:25454): Gtk-WARNING **: cannot open display: :0
Что может быть причиной этого?
Я не запускаю это через SSH или VNC. Это localhost в обычном терминальном окне.
gksu
для запуска GParted.gparted
использует polkit для получения повышенных привилегий.gparted
безgksu
меня, я получаюRoot privileges are required for running gparted.
gparted-pkexec
(безgksu
) илиgksu gpartedbin
.Ответы:
Если вы работаете в Ubuntu 17.10 или новее, эта проблема может возникнуть, если приложение не было обновлено с полной поддержкой Wayland. В качестве обходного пути, пока приложение не будет обновлено, вы можете запустить
что позволит
root
пользователю отображать приложения на вашем рабочем столе. Также смотрите этот раздел вопросов и ответов для других возможных обходных путей: почему gksu / gksudo или запуск графического приложения с sudo не работают с Wayland?источник
источник
Попробуйте запустить
xhost +localhost
в своем терминале, а затем снова запустите команду. Это позволяет всем пользователям вашей системы (т.е. root) открывать окна на вашем экране. Убедитесь, что вы используете + localhost, а не просто +, так как более безопасно разрешать соединения только с локального хоста, чем из любого места.Чтобы сделать это постоянным, отредактируйте
~/.xinitrc
файл следующим образом:Бег
gedit ~/.xinitrc
Отредактируйте файл так, чтобы он выглядел следующим образом (он должен быть пустым в начале):
Теперь сохраните файл, выйдите и войдите в систему. Теперь все должно нормально работать с sudo.
Я не могу воспроизвести вашу проблему 14.04, но это работало для меня в прошлом, когда sudo / gksu выдавал эту ошибку.
Источники:
источник
xhost +local:
. После этого я смог запустить gparted из терминала, но использованиеxhost +localhost
не сработало.xhost +local:
исправил мой! Это даетnon-network local connections being added to access control list
то, что нужно.Выполните следующее в своем терминале:
Добавьте следующую строку в конце.
источник