Не могу открыть Gedit как root

Когда я запускаю sudo gedit /path/to/some/random/file, я получаю следующую ошибку

** (gedit:6262): WARNING **: Command line `dbus-launch --autolaunch=7f8731869e1c690b8205727e0000000a --binary-syntax --close-stderr' exited with non-zero exit status 1: Autolaunch error: X11 initialization failed.
Cannot open display: 
Run 'gedit --help' to see a full list of available command line options.  

Использование gksudo тоже не помогает, что возвращает

Cannot open display: 
Run 'gedit --help' to see a full list of available command line options.  

Любая помощь, ребята. Мне нужно иметь возможность открывать файлы в Gedit как root.
Я нашел этот вопрос с той же ошибкой, но без решения Невозможно запустить gedit с помощью sudo


EDIT
Я нашел этот пост в Форумы Ubuntu .
Вот инструкции:

  1. echo $ DISPLAY # вам понадобится это значение на 3 строки ниже
  2. sudo -i # или "su -" на старых Slackwares
  3. xauth merge ~ alien / .Xauthority # используйте здесь свое собственное имя пользователя вместо "alien"
  4. export DISPLAY =: 0.0 # используйте значение DISPLAY, которое вы видели за 3 строки до

При поступлении на команду № 3 я получил эту ошибку
xauth: file /root/.Xauthority does not exist

Может быть, эта новая информация может пролить больше света.

14
задан 13 April 2017 в 15:24

6 ответов

1110 Наконец-то нашли ответ. Из этого вопроса Не удается подключиться к X-серверу при запуске приложения с помощью sudo , и особенно с этим вопросом Ошибка при попытке запустить приложение с помощью sudo или gksudo .

Я добавил строку Defaults env_keep+="DISPLAY" в конец файла visudo в /etc/sudoers.

Ага, мой sudo gedit вернулся!

РЕДАКТИРОВАТЬ

У меня снова возникла та же ошибка.

Сделал еще несколько исследований, особенно этот ответ https://askubuntu.com/a/137584/163331 и понял, что мне нужно добавить больше опций в файл visudo. Вместо Defaults env_keep+="DISPLAY" я использовал эту строку:

Defaults env_keep="XAUTHORIZATION XAUTHORITY TZ PS2 PS1 PATH LS_COLORS KRB5CCNAME HOSTNAME HOME DISPLAY COLORS"
0
ответ дан 13 April 2017 в 15:24

Запуск любых приложений с графическим интерфейсом от имени пользователя root может привести к повреждению файла, особенно если приложение с графическим интерфейсом является текстовым редактором. В дополнение к этому gksu и gksudo не работают для запуска графических приложений от имени root в Wayland в Ubuntu 17.10: Почему gksu / gksudo не работает с Wayland? и пакет gksu был удалено из репозиториев Ubuntu по умолчанию в Ubuntu 18.04 и более поздних версиях.

Nautilus Admin ( nautilus-admin ) - это простое расширение Python для файлового менеджера Nautilus, которое добавляет некоторые административные действия в контекстное меню:

  • Открыть как администратор: открывает папку в новом окне Nautilus с правами администратора (root).
  • Редактировать как администратор: открывает файл в окне Gedit с правами администратора (root).

Чтобы установить Nautilus Admin во всех поддерживаемых в настоящее время версиях Ubuntu, откройте терминал и введите:

sudo apt install nautilus-admin  

Хотя есть команды для запуска графических приложений от имени пользователя root, настоятельно рекомендуется использовать текстовый редактор nano, который обычно запускается из терминала, для редактирования файлов как root. Текстовый редактор Nano включен в стандартную установку Ubuntu.

Nano очень прост в использовании. Инструкции по использованию нано-редактора всегда находятся внизу каждой страницы. Вам нужно знать только два сочетания клавиш нано для WriteOut и Exit. Нажмите комбинацию клавиш Ctrl + O и после этого нажмите Enter , чтобы сохранить редактируемый файл. Нажмите сочетание клавиш Ctrl + X , чтобы выйти из nano.

Если вы привыкнете правильно редактировать файлы как root, вы уменьшите вероятность ошибок, которые могут быть очень трудоемкими для исправления.

0
ответ дан 13 April 2017 в 15:24

Для gedit, попробуйте это:

sudo -H env DISPLAY=:0 gedit
0
ответ дан 13 April 2017 в 15:24

В Ubuntu 17.10, по крайней мере, вы можете сделать это:

gedit admin:///path/to/some/random/file

Вам будет предложено ввести пароль, а затем файл откроется для редактирования от имени пользователя root.

0
ответ дан 13 April 2017 в 15:24

У меня просто была похожая проблема. Я использую Debian Jessie и для запуска gedit от имени root эта строка наконец заработала:

sudo -H gedit
0
ответ дан 13 April 2017 в 15:24

Я пытаюсь обобщить всю информацию в других ответах на этой странице:

Wayland:

Единственный вариант - использовать nano или vi/vim

Xorg:

попробуйте это

sudo -H env DISPLAY=:0 gedit

, если это работает, это, вероятно, означает, что вам нужно добавить некоторую опцию в файлы конфигурации sudo

sudo visudo

Попробуйте добавить эту строку в конец

Defaults env_keep="XAUTHORIZATION XAUTHORITY TZ PS2 PS1 PATH LS_COLORS KRB5CCNAME HOSTNAME HOME DISPLAY COLORS"`
0
ответ дан 13 April 2017 в 15:24

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

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