Как запустить консольное приложение с ярлыка в root?

Как запустить консольное приложение с ярлыка в root?

У меня есть консольное приложение, которое я запускаю как root из shell. Но теперь мне нужно создать ярлык на рабочем столе, где я нажимаю на него, и он должен появиться как shell (в root), так и запущенное приложение. Как это сделать?

я виделэтот.

Где я сделал следующее:

sudo apt install gnome-panel

sudo apt install gksu

gnome-desktop-item-edit ~/Desktop/ --create-new

Где я настроил ярлык. Но если я запускаю приложение, то ничего не работает и я не вижу оболочку.

Я использую Ubuntu 16.04.

решение1

Итак, внутри записи .desktop вам нужно поместить следующее в строку exec:

Exec=gnome-terminal.real -- YOUR_COMMAND и на конечной линии Terminal=true

Символ --в строке Exec означает, что команда после него будет выполнена в новом терминале.

Например, если вы хотите запустить приложение Python от имени пользователя root при нажатии на значок на рабочем столе, ваш .desktopфайл должен выглядеть примерно так:

[Desktop Entry]
Version=1.0
Type=Application
Name=The app name
Icon=/absolute/path/to/an/icon.png
Exec=gnome-terminal.real -- sudo python /absolute/path/to/your/script.py
Comment=Some longer description of what your program does.
Categories=Utility;
Terminal=true

Поэтому, когда пользователь нажимает на значок на рабочем столе, он увидит окно терминала, в котором отображается запрос на ввод пароля, например:

Запрос пароля после нажатия на значок на рабочем столе

И после приглашения ваша программа запустится.

Связанный контент