92 votes

Comment lancer une application en tant que root à partir de Unity Launcher ?

Je cherche principalement un moyen d'épingler une application à la barre de lancement d'Unity, et de l'exécuter en tant que root.

Actuellement, même si je lance l'application avec sudo, et que je l'épingle après son démarrage, elle démarrera la prochaine fois en tant qu'utilisateur actuel.

C'est triste, mais il n'y a pas d'option de menu contextuel "exécuter en tant que ...".

Mise à jour : Je suis passé à gnome3 et maintenant je suis content, il ne me manque que la recherche.

97voto

user41562 Points 17

Si vous voulez que l'application soit toujours exécutée en tant que root

  1. Épinglez l'application au lanceur comme d'habitude.

  2. Localisez le fichier .desktop de l'application qui se trouve dans l'un ou l'autre :

    • /usr/share/applications/APPNAME.desktop
    • ~/.local/share/applications/APPNAME.desktop
    • ou ailleurs, utilisez locate .desktop|grep APPAME
  3. Ouvrez avec gedit :

    gksudo gedit /usr/share/applications/APPNAME.desktop
  4. Ensuite, changez la ligne

    Exec=APP_COMMAND

    a

    Exec=gksudo -k -u root APP_COMMAND
  5. Sauvez

Cette commande conserve également votre environnement, ce qui est très utile si vous devez vous connecter à d'autres serveurs et utiliser votre clé privée.

Pour ajouter une option de liste rapide à l'option "Exécuter en tant que root".

Suivez les étapes 1, 2 et 3 ci-dessus

Si le lanceur n'a pas actuellement d'autres options de liste rapide, ajoutez simplement ceci à la fin du document

X-Ayatana-Desktop-Shortcuts=Runroot

[Runroot Shortcut Group]
Name=Run as root
Exec=gksudo -k -u root APP_COMMAND
TargetEnvironment=Unity

4voto

boolship Points 41

Dans le menu principal, sous Système, Préférences, tapez gksudo dans le champ Commande des Propriétés du Lanceur, par exemple :

/usr/bin/gksudo /usr/bin/yourapplication

Votre champ "Nom" pourrait dire :

sudo yourapplication

Pour que les utilisateurs sachent qu'ils peuvent voir une popup de mot de passe et pourquoi...

Je ne suis pas sûr de la différence entre le lanceur Unity et le menu principal. Peut-être que ceci peut vous aider ?

Bonne chance

4voto

pedromendessk Points 141

Comme il s'agit d'une vieille question, avec une vieille réponse ; Pour compléter l'incroyable explication de @edm.

À partir d'Ubuntu 18.04 et des versions ultérieures, gksudo ( gksu ) est déprécié et donc, il n'a pas de candidat d'installation dans les dépôts officiels. Une alternative est d'utiliser pkexec.

Modifier le fichier /usr/share/applications/APPNAME.desktop et changez la ligne

Exec=APP_COMMAND

a

Exec=pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY APP_COMMAND

Plus de détails sur pkexec ici .

2voto

Daniel Points 159

Ce qui suit semble faire la même chose, sans avoir besoin d'attributs privés :

Actions=Runroot;Another

[Desktop Action Runroot]
Name=Run as root
Exec=gksudo -k -u root APP_COMMAND

[Desktop Action Another]
Name=Another action
Exec=whatever

2voto

Syndog Points 121

Comme alternative rapide et simple aux demandes encombrantes décrites dans les réponses ici, j'ai pris l'habitude de faire ce qui suit...

  1. Lancez un nouveau terminal.
  2. Entrez gksu nautilus

    ( sudo -i nautilus fonctionne aussi).

La fenêtre qui en résulte relève du domaine de sudo, vous pouvez donc l'utiliser pour accéder à des fichiers et les lancer avec les privilèges de sudo-root jusqu'à ce qu'elle se ferme. C'est pratique pour les situations transitoires où vous n'avez pas besoin d'une solution plus permanente. Je l'utilise couramment pour extraire des fichiers compressés dans des dossiers système protégés, par exemple.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X