Как запускать программы от имени пользователя root без использования терминала
Я хочу запускать программы как пользователь root без использования командной строки терминала, это возможно сделать так? если да, скажи мне, пожалуйста. Благодарю.
2 ответа
Если вы хотите запускать программы без использования терминала, я могу сделать вывод, что вы имеете в виду только программы с графическим интерфейсом. И у каждого из всех этих приложений с графическим интерфейсом есть файл.desktop, расположенный в /usr/share/applications/
или в вашем пользовательском каталоге ~/.local/share/applications
, Таким образом, чтобы запустить программу от имени пользователя root, вы должны отредактировать или лучше скопировать связанный с ней файл.desktop.
Давайте возьмем, например, Gedit, редактор GUI по умолчанию в Ubuntu. Его.desktop файл /usr/share/applications/gedit.desktop
и имеет следующее содержание:
[Desktop Entry]
Name=gedit
GenericName=Text Editor
Comment=Edit text files
Exec=gedit %U
Terminal=false
Type=Application
StartupNotify=true
MimeType=text/plain;
Icon=accessories-text-editor
Categories=GNOME;GTK;Utility;TextEditor;
X-GNOME-DocPath=gedit/gedit.xml
X-GNOME-FullName=Text Editor
X-GNOME-Bugzilla-Bugzilla=GNOME
X-GNOME-Bugzilla-Product=gedit
X-GNOME-Bugzilla-Component=general
X-GNOME-Bugzilla-Version=3.10.4
X-GNOME-Bugzilla-ExtraInfoScript=/usr/share/gedit/gedit-bugreport
Actions=Window;Document;
Keywords=Text;Editor;Plaintext;Write;
X-Ubuntu-Gettext-Domain=gedit
[Desktop Action Window]
Name=Open a New Window
Exec=gedit --new-window
OnlyShowIn=Unity;
[Desktop Action Document]
Name=Open a New Document
Exec=gedit --new-document
OnlyShowIn=Unity;
Теперь создайте дубликат этого файла следующим образом:
sudo cp /usr/share/applications/gedit.desktop /usr/share/applications/root_gedit.desktop
и внесите следующие изменения:
[Desktop Entry]
Name=gedit as root
GenericName=Text Editor as root
Comment=Edit text files
Exec=gksudo gedit %U
Terminal=false
Type=Application
StartupNotify=true
MimeType=text/plain;
Icon=accessories-text-editor
Categories=GNOME;GTK;Utility;TextEditor;
X-GNOME-DocPath=gedit/gedit.xml
X-GNOME-FullName=Text Editor
X-GNOME-Bugzilla-Bugzilla=GNOME
X-GNOME-Bugzilla-Product=gedit
X-GNOME-Bugzilla-Component=general
X-GNOME-Bugzilla-Version=3.10.4
X-GNOME-Bugzilla-ExtraInfoScript=/usr/share/gedit/gedit-bugreport
Actions=Window;Document;
Keywords=Text;Editor;Plaintext;Write;
X-Ubuntu-Gettext-Domain=gedit
[Desktop Action Window]
Name=Open a New Window
Exec=gksudo gedit --new-window
OnlyShowIn=Unity;
[Desktop Action Document]
Name=Open a New Document
Exec=gksudo gedit --new-document
OnlyShowIn=Unity;
После этого, когда вы будете искать gedit
в Dash вы увидите два экземпляра gedit: один с именем Text Editor, а другой с текстовым редактором как root. Вы должны открыть его с именем Text Editor как root, если вы хотите запустить gedit от имени root.
Замечания: gksudo
должен быть установлен, чтобы использовать его. Если вы не установили, вы можете установить его с терминала, используя:
sudo apt-get install gksudo
Некоторые дистрибутивы (например, Kali Linux) автоматически запускают все с правами root, но обычно они предназначены для запуска в качестве живых систем, потому что невозможно сломать работающую систему, как вы могли бы при жесткой установке. Помимо всех предупреждений, здесь есть интересная страница, посвященная root&ubuntu, и еще одна страница , предназначенная для всех вариантов Ubuntu.
Вы можете сделать несколько вещей, таких как включить учетную запись root и войти в систему, чтобы все root запускалось автоматически. Это не рекомендуется. Я думаю, что Гксудо может быть вашим лучшим,
sudo apt-get install gksudo
... но могу я спросить, почему вы хотите обойти терминал? Можете ли вы рассказать мне больше о том, что именно вы пытаетесь сделать? Я бы посоветовал вам, если вам нужно регулярно запускать программы с правами root, вы должны делать это с живого usb / cd. Таким образом, если что-то пойдет не так, вам не придется беспокоиться о сломе вашей системы. Если вам нужна помощь в создании живого диска, дайте мне знать.