web-dev-qa-db-fra.com

Exécutez les commandes Sudo typiques à partir du bouton sur l'unité

J'ai tendance à ouvrir des sessions de terminal pour exécuter des commandes Sudo et je voulais rendre quelque chose de plus utile en tant qu'application.

En utilisant quelques informations provenant de diverses sources en ligne https://help.ubuntu.com/community/UnityLaunchersAndDesktopFiles Je suis venu avec ma petite application de bureau.

app right click

Commencez par installer des raccourcis sur le bureau

Sudo apt-get install --no-install-recommends gnome-panel 

puis exécutez

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

Créez un raccourci de bureau du lanceur de base.

Basic Launcher

Créez maintenant un nouveau profil de terminal appelé StayOpen

Ouvrez Terminal, sélectionnez FILE - New Profile, Create New, appelez le nouveau profil "StayOpen". Sous Propriétés, sélectionnez l'onglet Titre et commande. Au bas de cet onglet, sélectionnez la fin de la commande - Maintenez le terminal ouvert

Hold Terminal Open

Une fois votre fichier Desktop par défaut créé, vous voudrez le modifier. Exemple ci-dessous:

gedit <Your File name>

Exemple:

Mon script de fichier de bureau ci-dessous est nommé "Sudo Run". Si vous copiez/collez le script ci-dessous, vous voudrez en tenir compte avec mon fichier ci-dessous ou il ne fonctionnera pas correctement.

[Desktop Entry]
Version=1.0
Type=Application
Name=Sudo Run
Icon=gdm-xnest.png
Exec=gnome-terminal
Terminal=false
Actions=Terminal;TerminalRoot;Files;TextEdit;Update

[Desktop Action Terminal]
Name=Terminal
Exec=gnome-terminal --window-with-profile=StayOpen
OnlyShowIn=Unity;

[Desktop Action TerminalRoot]
Name=Terminal Root
Exec=gnome-terminal --window-with-profile=StayOpen -x bash -l -c "Sudo su;bash"
OnlyShowIn=Unity;

[Desktop Action Files]
Name=Sudo Files
Exec=gnome-terminal --window-with-profile=StayOpen --geometry=40x2+1+1 -x bash -l -c "Sudo nautilus;bash"
OnlyShowIn=Unity;

[Desktop Action TextEdit]
Name=Sudo Text Edit
Exec=gnome-terminal --window-with-profile=StayOpen --geometry=40x2+1+1 -x bash -l -c "Sudo gedit;bash"
OnlyShowIn=Unity;

[Desktop Action Update]
Name=Sudo Apt-Get Update
Exec=gnome-terminal --window-with-profile=StayOpen -x bash -l -c "Sudo apt-get update && Sudo apt-get upgrade;bash"
OnlyShowIn=Unity;

Une fois terminé, déplacez le fichier vers le dossier des applications et peut être traité comme une application.

Sudo nautilus

déplacer le fichier vers usr/share/applications

Faites ensuite glisser le curseur vers le lanceur d'unité si vous le souhaitez. Voici où le script bash devient utile.

Une fois le lien du bureau sur le lanceur d'unité, vous aurez plusieurs options de clic droit comme indiqué ci-dessous dans Actions. Notez les actions correspondantes au bas du fichier. Plusieurs scripts bash ouvrent une petite fenêtre de terminal juste assez grande pour taper votre mot de passe Sudo. Modifiez le "geometry =" selon vos préférences ou supprimez-le si vous le souhaitez. Une fois le mot de passe saisi, vous lancez votre application, etc.

Vous pouvez modifier les actions à trier selon vos préférences et définir la valeur par défaut "Exec =" sur votre préférence de clic gauche.

L'une des grandes fonctionnalités de ceci en tant que raccourci sur votre lanceur d'unité est la fonction clic droit "Quitter" qui fermera toutes les fenêtres ouvertes.

-mb: édité pour améliorer la lisibilité

1
MB-

Vous pouvez modifier l'icône à l'aide de l'option Icon. Je suppose que vous le saviez déjà, mais je remarque que vous ne l'avez déclaré que lors de la première entrée. Il y est également déclaré deux fois, ce qui pourrait être contradictoire. Retirez l'un d'eux et voyez si cela fonctionne.

Vos icônes sont également données comme chemin relatif. Je ne sais pas dans quel dossier l'unité recherche des icônes, mais vous devez y copier le fichier ou utiliser un chemin absolu (par exemple Icon=/home/myuser/myicon.png).

1
André Stannek