После загрузки netbeans 10.0 я учил создания файла на рабочем столе запускать его, Так, я не должен работать sudo /home/abc/Downloads/netbeans/bin/netbeans
каждый раз.
Я создал маленький сценарий для запуска netbeans в администраторских полномочиях.
#!/bin/sh
cd /home/abc/Downloads/netbeans/bin/
echo "password" | sudo -S ./netbeans
Я поместил этот файл в /usr/bin/
и
созданный netbeans.desktop файл следующим образом
[Desktop Entry]
Version=1.0
Type=Application
Terminal=False
Exec=/usr/bin/netbeans
Name=Netbeans
Comment=Java IDE
Icon=/home/abc/Downloads/netbeans/nb/netbeans.icns
путем ввода
netbeans
в терминале это открывает netbeans в административных привилегиях.
Но нажатие на файл на рабочем столе или файл оболочки ничто не отвечает
Извините, если глупо, что я - Новичок.
Править
Попробованный все указанное здесь =>, Как я выполняю команду 'sudo' в сценарии? но ничто не работало.
Поскольку @dessert предложил использовать pkexec
. Это работает, но дает другую проблему.
/home/abc/Downloads/netbeans/platform/lib/nbexec: WARNING: environment variable DISPLAY is not set
Я думаю, что netbeans нужен терминал для выполнения. и таким образом, я попробовал xdf-open
и gksu
но не их работал. Помогите!
Значительное большинство пользовательских приложений никогда не должно выполняться как корень. Если бы корневые полномочия требуются, это была бы очень плохая практика, чтобы позволить пользователю запускать приложения с корневыми полномочиями только путем нажатия на средство запуска без любой формы аутентификации.
К счастью, не легко запустить скрипты за пределами терминала с административными привилегиями. Система меню GUI не позволяет легко создавать средства запуска, которые запускают программы с корневыми полномочиями без любых мер безопасности.
В редких случаях существует потребность иметь графические интерфейсы пользователя, выполняют административные действия. Ранее, gksudo
команда позволила пользователю с полномочиями пользователя root запустить просто любое графическое приложение с полномочиями пользователя root. Эта плохая модель обеспечения безопасности обесценивалась в пользу большего количества защищенных систем, которые любой 1) не требуйте, чтобы графический интерфейс пользователя был выполнен как корень вообще, но все еще допускайте доступ к системным файлам и папкам, или 2) все еще запускает все графическое приложение как корень, но имеет в распоряжении более сильную безопасность.
1) покрыт "admin://" URI. Приложения такой как gedit
и nautilus
может быть запущен с такого URI, например, как в
gedit admin:///etc/fstab
С этим подходом, gedit самим просто работает как обычный пользователь. Система предоставляет ему временную копию системного файла в этом примере/etc/fstab. После того как пользователь сохраняет временную копию, система обновляет исходный/etc/fstab. Также "Диски" разработаны этот путь. Приложение, т.е. графический интерфейс пользователя, работает как обычный пользователь в любое время, но запрашивает пароль администратора в точке, где задача администрирования собирается быть выполненной.
2) обрабатывается через pkexec
. Здесь, после аутентификации, целое приложение запущено с корневыми полномочиями. Это также как gksudo
используемый для работы. Большая разница, однако, то, что, дополнительно, системный файл политики о приложении должен существовать. Таким образом только ранее разрешенные приложения могут быть запущены как корень привилегированным пользователем.