У меня есть консольное приложение, которое я запускаю как 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
Поэтому, когда пользователь нажимает на значок на рабочем столе, он увидит окно терминала, в котором отображается запрос на ввод пароля, например:
И после приглашения ваша программа запустится.