Comment lancer l'application en tant que root depuis Unity Launcher?

73

Je recherche principalement un moyen d’épingler une application sur la barre de lancement 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 le démarrage, elle démarrera comme utilisateur courant la prochaine fois.

Triste, mais il n'y a pas d'option de menu contextuel "exécuter comme ...".

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

    
posée sorin 04.04.2012 - 12:05
la source

6 réponses

83

Si vous souhaitez que l'application s'exécute toujours en tant que root

  1. Épinglez l’application au lanceur normalement.

  2. Localisez le fichier d'applications .desktop qui se trouvera dans:

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

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

    Exec=APP_COMMAND
    

    à

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

Cette commande gardera également votre environnement très utile si vous devez vous connecter à d’autres serveurs et utiliser votre clé privée.

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

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

Si le lanceur n’a pas d’autres options de liste d’information, ajoutez-le simplement à 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
    
réponse donnée edm 04.04.2012 - 13:53
la source
4

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

Les utilisateurs savent donc qu’ils peuvent voir une fenêtre contextuelle de mot de passe et pourquoi ...

Je ne suis pas sûr du Unity Launcher vs Main Menu. Peut-être que cela aide?

Bonne chance

    
réponse donnée boolship 20.04.2012 - 04:40
la source
2

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
    
réponse donnée Daniel 24.06.2012 - 22:50
la source
2

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

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

    ( sudo -i nautilus fonctionne aussi.)

La fenêtre résultante se trouve sous le parapluie sudo, vous pouvez donc l'utiliser pour accéder et lancer des fichiers avec des privilèges sudo-root sur le contenu de votre cœur jusqu'à sa fermeture. Cela s'avère pratique pour les situations transitoires où vous n'avez pas besoin d'une solution plus permanente. Je l'utilise régulièrement pour extraire des fichiers compressés dans des dossiers système protégés, par exemple.

    
réponse donnée Syndog 20.02.2014 - 16:41
la source
1

Je poste cette réponse à la question @ Chris dans les commentaires:

Supposons que vous souhaitiez créer un lanceur qui ouvrira "gestionnaire de fichiers (nautilus)" en tant que root. Ensuite, vous pouvez le faire:

Ouvrir le terminal. Type:

sudo -H gedit /usr/share/applications/nautilus_root.desktop

Appuyez sur Entrée. Lorsque demandé, entrez votre mot de passe de connexion et appuyez sur Entrée. Cela ouvrira gedit (éditeur de texte). Maintenant, collez les éléments suivants:

[DesktopEntry]
Encoding=UTF-8
Name=Nautilus(Root)
Comment=FileManager
Exec=gksu nautilus
Icon=file-manager
Categories=System;
Type=Application
Terminal=0

Maintenant, sauvegardez-le et quittez. Vous avez terminé. Maintenant, si vous effectuez une recherche sur Dash, vous trouverez un nouveau lanceur "Nautilus (Root)". En cliquant dessus, vous demanderez un mot de passe, et après authentification, nautilus sera ouvert en tant que root.

Note: Soyez prudent lorsque vous utilisez "Nautilus (Root)". Dans ce mode, vous pouvez supprimer presque tout de / et casser le système.

    
réponse donnée Curious Apprentice 24.03.2013 - 11:18
la source
0

Cela devrait peut-être être un commentaire sur la solution de Daniel. Cela fonctionne pour moi, même dans Ubuntu 15.04. J'ai dû mettre la commande entre guillemets Exec=gksu "nautilus --new-window" à cause de l'argument supplémentaire. De plus, je ne sais pas pourquoi, je devais modifier le lanceur directement pour conserver le menu original (avec la nouvelle option). Si vous faites glisser votre propre lanceur, il sera enregistré, mais vous n'aurez pas le même menu.

Dans Ubuntu 15.04, le lanceur pour nautilus est usr/share/applications/org.gnome.Nautilus.desktop . Vous devez utiliser la ligne de commande pour voir le nom de fichier réel.

D'autres recherches me mènent à ce que je pense être une meilleure option: lien Au lieu d'ouvrir entièrement Nautilus en tant que racine, cela vous permet d'ouvrir les répertoires sélectionnés en tant que racine dans Nautilus. Quoi qu'il en soit, j'ai vérifié et ces deux options sont compatibles. Si vous ouvrez Nautilus en tant que racine et que vous utilisez ensuite la deuxième option pour ouvrir un répertoire en tant que racine, il s'ouvre simplement sans demander le mot de passe.

    
réponse donnée Dominic108 03.10.2015 - 13:19
la source

Lire d'autres questions sur les étiquettes