использование Sudo wth Gedit не выполняется с сервера XForwarded

Сервер Centos и хост-машина ubuntu имеют установленный gedit. Корневой вход на сервер заблокирован, и только пользователь может войти через SSH через ключи rsa.

Когда я вхожу на сервер с параметром -X, поставляемым в качестве параметра, я могу использовать gedit как:
gedit filename.txt &
и файл открывается в gedit для меня, чтобы редактировать и сохранять. Но если я делаю Sudo для редактирования файлов, я получаю следующую ошибку:

 sudo gedit filename.txt & [1] 11039 [user@server ~]$ X11 connection rejected because of wrong authentication. ** (gedit:11040): WARNING **: Could not open X display X11 connection rejected because of wrong authentication. X11 connection rejected because of wrong authentication. X11 connection rejected because of wrong authentication. (gedit:11040): Gtk-WARNING **: cannot open display: localhost:10.0 [1]+ Exit 1 sudo gedit filename.txt 

Как я могу использовать Gedit в такой ситуации.

2 Solutions collect form web for “использование Sudo wth Gedit не выполняется с сервера XForwarded”

sudoedit этого вы можете использовать команду sudoedit .

 EDITOR=gedit sudoedit filename.txt 

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

В большинстве случаев тот же эффект, что и sudo gedit filename.txt но он запускает редактор непривилегированным, и поэтому ваша X-пересылка должна работать.

Просто для объяснения, когда вы запускаете sudo он сбрасывает множество переменных среды, включая $HOME который сбрасывается в HOME HOME (возможно, /root ). Когда вы запускаете свою программу X11, ей нужен волшебный cookie XAUTHORITY, позволяющий ей подключаться к DISPLAY. Соответствующий файл cookie будет помещен ssh -X в ~/.Xauthority на удаленный компьютер при подключении.

Но после sudo ваша программа X11 будет выглядеть в /root/.Xauthority и, следовательно, не получит cookie или старый, устаревший, cookie.

Следовательно, вы видите неправильные сообщения аутентификации . Существует несколько решений по сохранению или восстановлению $HOME после sudo, но для вашего конкретного случая sudoedit использовать sudoedit как и в другом ответе.

  • Новые версии Mozilla (Iceweasel / Icedove) не работают при использовании пересылки X
  • $ HOME readonly: / usr / bin / xauth: тайм-аут в файле блокировки /home/fooftp/.Xauthority
  • X пересылка с Mac на Linux не выполняется
  • SSH & ForwardX11 против ForwardX11Trusted -> за пределами моего понимания
  • Как переадресовать окно (отображение) на другой компьютер в сети
  • Почему шрифты все ввернуты для удаленных приложений X11 на одном клиенте Mac?
  • SSH XForwarding терпит неудачу - плохое отображаемое имя xauth
  • Понимание пересылки ssh X11
  • Могу ли я переместить запущенное приложение на другой X-сервер?
  • XForwarding не загружает правильные $ PATH
  • SSH не завершается после выхода, когда есть программа X Forward
  • объяснение туннеля ssh
  • Linux и Unix - лучшая ОС в мире.