Как открыть gedit, nautilus, gnome commander с помощью команды sudo?

Когда я открываю gedit, nautilus и другие файлы в терминале с помощью команды sudo, я получаю сообщение об ошибке ->

Unable to init server: Could not connect: Connection refused

(gedit:22993): Gtk-WARNING **: cannot open display: :0

Команда startx и изменение темы gnome (например, Wayland, Xorg) тоже не работает с этой ошибкой

0
01.07.2017, 00:12
1 ответ

Решением для вас было бы просто использовать gnomesuвместо sudo. Как написано здесь,

это обычная проблема безопасности. У вас есть многопользовательская система, в которой многие пользователи могут войти в систему, локально или удаленно, в сеансе графического интерфейса. Что, если другие вошедшие в систему люди смогут открывать окна на вашем рабочем столе без вашего разрешения? По крайней мере, неудобно, но также можно было бы создать окно, в котором можно было бы прочитать все, что вы печатаете на клавиатуре, включая ваши банковские счета. Таким образом, необходимо учитывать xhost.

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

Попробуйте запустить xhost +localhostв своем терминале, а затем запустите снова судо. Это позволяет всем пользователям вашей системы (т.е. root) открывать окна на вашем экране. Обязательно используйте +localhost, а не просто +, поскольку более безопасно разрешать подключения только с локального хоста, чем с в любом месте.

Чтобы сделать это постоянным, отредактируйте файл ~/.xinitrc следующим образом:

Запустите gedit ~/.xinitrc

Отредактируйте файл, чтобы он выглядел следующим образом (в начале он должен быть пустым):

#!/bin/bash 
xhost +localhost &

Теперь сохраните файл, выйдите из системы и снова войдите в систему. Теперь все должно работать нормально с sudo.

-1
28.01.2020, 05:05

Теги

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