Я использую Ubuntu 14.10 с XFCE. Уже через несколько недель gedit
больше не запускается как root (с gksu gedit
).
Запуск с моего обычного аккаунта работает без проблем. Проблема не в gksu
, а в том же, что и sudo
(я знаю, не рекомендуется для GUI) или gksudo
. pkexec
дает другую ошибку. Тем не менее, другие программы (например, eog
) работают нормально с gksu
!
Когда я запускаю gksu gedit
, я получаю запрос пароля gksu
, и после ввода я вижу кружащий курсор мыши на полминуты, но окно gedit
не открывается. Нет вывода терминала.
Запуск pkexec gedit
в терминале дает:
bytecommander@AlkaliMetal:~$ pkexec gedit
gdk_mir_display_open
Failed to connect to Mir: Failed to connect to server socket: File or Path not found.
(gedit:3935): Gtk-WARNING **: cannot open display:
bytecommander@AlkaliMetal:~$
Запуск gedit
в корневом терминале дает:
root@AlkaliMetal:/home/bytecommander# gedit
(gedit:24281): dconf-WARNING **: failed to commit changes to dconf: Failed to execute child process "dbus-launch" (No such file or directory)
** (gedit:24281): CRITICAL **: file log.c: line 975: unexpected error: Failed to execute child process "dbus-launch" (No such file or directory) (g-exec-error-quark, 8)
^C
root@AlkaliMetal:/home/bytecommander#
(Команда не завершается. Я прервал через некоторое время с помощью Ctrl kbd> + C kbd>)
Я искал файл log.c
из сообщения об ошибке. Единственный, кого я нашел, был /usr/share/gettext/intl/log.c
. Странно, однако, что этот файл содержит только 126 строк, поэтому упомянутая выше строка (строка 975) не существует! Должен ли я разместить контент? Это похоже на нормальный C-код.
Я тоже уже удалил /root/.config/gedit/
, но ничего не изменилось.
Запуск dconf-editor
из корневого терминала и проверка ключей в dconf:/org/gnome/gedit
не показали никаких подозрительных (мне!) Значений. Я могу опубликовать некоторые ключи, если вы скажете мне, как их сбросить. Я знаю только, как использовать инструмент с графическим интерфейсом.
Что мне нужно сделать, чтобы восстановить настройки root-dconf для gedit (если это проблема)? Или я ошибаюсь, и у проблемы есть другая причина?
Может быть, вы даже можете догадаться, что все испортило, чтобы я мог избежать этого в будущем. Спасибо!
Мне так или иначе удалось решить мою проблему и вернуть gedit для работы, даже для корня.
то, Что я сделал, было
sudo apt-get install --reinstall dbus dbus-x11
для переустановки некоторых dbus-пакетов который я, вероятно, испорченный некоторое время назад путем выполнения make uninstall
на пакете, содержащем dbus части.
dconf dump /org/gnome/gedit/ > /home/bytecommander/dconf-gedit.dump
сопровождаемый путем открытия корневой оболочки с sudo -i
и как корень:
dconf load /org/gnome/gedit/ < /home/bytecommander/dconf-gedit.dump
для копирования рабочих dconf-настроек для gedit от моего обычного пользователя представляют к dconf базе данных корня.
После этого это работает как очарование. Даже dconf-предупреждения о dbus-запуске исчезли.