How do I create a keyboard shortcut to a script that needs sudo privileges? I tried to create shortcuts via Ubuntu Keyboard Settings GUI to scripts
"sh script.sh" "sudo sh script.sh"
They don't work.
How do I create a keyboard shortcut to a script that needs sudo privileges? I tried to create shortcuts via Ubuntu Keyboard Settings GUI to scripts
"sh script.sh" "sudo sh script.sh"
They don't work.
sudo requires a terminal to get the password from. Use gksudo instead; it asks for the password via a gui dialog box.
gksudo -- script
gksudo
is not recommended anymore.(http://askubuntu.com/questions/284306/why-is-gksu-no-longer-installed-by-default). I suggest to use pkexec ./script
– Nishant
Oct 27 '15 at 08:50
gksudo
is not recommended anymore.(see here)
Use pkexec ./script
. By default, it will pop up a screen to enter credentials. See its man page for more info.
In Ubuntu if You dont want enter your password any time use shortcut you can run this commands:
sudo visudo
This cause nano open in terminal.
In nano add username ALL=(ALL) NOPASSWD: ALL
bottom of file replace username with your ubuntu username and save by ctrl + o
.
After logout and login your sudo command wouldn't get password.
Notice:
If you need security don't apply the change to your ubuntu. This will allow ANY person, cat or UFO alien that gets access to your system as you, via the network or keyboard, to execute commands as root, at any time.
root
, at any time. This is probably a Bad Idea(tm). Also, reboot is not required. Logout/Login will suffice.
– waltinator
Aug 20 '15 at 00:07
Put the sudo commands in the script on the lines you need privileges to run. Then run normally.
sudo
needs to read password input from the command-line. This would only work in the specific situation where the commands being run with sudo
are permitted (in the sudoers
file) to be run without requiring password authentication.
– Eliah Kagan
Sep 13 '12 at 19:39
This Only work for kde desktop.
If You dont want enter your password any time use shortcut you can Use this:
echo <password> | sudo -S <script>
bash
if it uses the extended functionalitybash
provides. When a script has a.sh
extension, that indicates (by convention) that it can be run by the system's defaultsh
, even if that is notbash
. (Most scripts with no extension can be run bysh
too--if a script needsbash
, then its documentation should indicate this, or it should have a hashbang line at the top for it, which if you're manually invokingsh
orbash
you can check first.) – Eliah Kagan Jun 03 '12 at 17:02