Exécuter "sudo arduino" avec le fichier .desktop

5

Aux électeurs proches: apparemment un dupe, mais pas tout à fait, du moins pas du type suggéré: dans la question liée, les commandes peuvent être ajoutées en toute sécurité au fichier sudoers. Dans le cas d'un IDE, c'est une mauvaise idée.

J'ai donc installé arduino IDE depuis le centre de logiciels. Voici la chose, je dois exécuter la commande "sudo arduino" du terminal, pour que Arduino IDE fonctionne correctement pour moi. Ne vous méprenez pas, chaque fois que je lance l'arduino à partir de son icône normale, cela fonctionne aussi très bien. J'utilise juste une bibliothèque spécifique qui ne compile pas correctement si je n'utilise pas la commande "sudo arduino" pour ouvrir mon IDE (je ne sais pas pourquoi).

Comme je dois toujours ouvrir le terminal, je me demandais s’il était possible de créer un fichier .desktop (ou un fichier .sh peut-être?) que je pourrais simplement cliquer et qui lancerait l’IDE ​​"sudo arduino". Je veux éviter d'ouvrir le terminal à chaque fois, si possible.

Merci d'avance!

  

Mise à jour 1 ---------------------------------------

Je ne suis pas intéressé à éviter d'utiliser la commande sudo lors du lancement de l'IDE à partir du terminal (donc au lieu d'écrire "sudo arduion" pour écrire "arduino"). Ce que je veux, c'est éviter d'utiliser le terminal tous ensemble, et avoir une icône sur mon bureau qui, une fois cliqué, lancera l'IDE Arduino de la même manière que dans le terminal et écrit "sudo arduino".

    
posée Dimitris Pantelis 07.05.2016 - 23:22
la source

2 réponses

4

Suggérer que c'est une dupe suppose que l'ajout d'Arduino au fichier sudoers est une bonne idée, ce qui n'est pas le cas. Jamais ajoutez une application susceptible de détruire votre système ou de modifier le code pour détruire votre système en fichier sudoers, simplement parce qu’il présente un risque de sécurité.

Uniquement ajoutez des applications ou des scripts au fichier sudoers si:

  • le code ne peut pas être modifié (stocké dans un emplacement qui nécessite l’autorisation de l’administrateur pour écrire), et

  • l'application n'a pas le pouvoir de modifier le code d'autres applications ou scripts.

Que faire dans ce cas

  1. Copiez le fichier .desktop existant dans ~/.local/share/applications :

    cp /usr/share/applications/arduino.desktop ~/.local/share/applications
    
  2. Ouvrez le fichier avec gedit:

    gedit ~/.local/share/applications/arduino.desktop
    

    et ajoutez une section au bas du fichier:

    Actions=Arduino IDE with sudo;
    
    [Desktop Action Arduino IDE with sudo]
    Name=Arduino IDE with sudo
    Exec=gksu arduino
    OnlyShowIn=Unity;
    

Maintenant, arduino s'exécute "normalement" quand vous cliquez dessus, mais a l'option de clic droit pour exécuter avec sudo:

Notes

  • Si gksu n'est pas installé (sur 16.04, il est pré-installé), vous devez d'abord exécuter:

    sudo apt-get install gksu
    
  • Vous devez probablement vous déconnecter / insérer pour que le lanceur modifié soit efficace.

Alternativement

Si vous ne souhaitez pas que l’icône Arduino soit verrouillée sur le lanceur, ajoutez la commande en tant que raccourci clavier: choisissez: Paramètres système & gt; "Clavier" & gt; "Raccourcis" & gt; "Raccourcis personnalisés". Cliquez sur le "+" et ajoutez la commande:

gksu arduino

à un raccourci de votre choix.

    
réponse donnée Jacob Vlijm 08.05.2016 - 17:04
la source
1

Copiez le fichier .desktop et éditez la copie avec gedit (ou tout éditeur de texte), c'est-à-dire en ouvrant l'éditeur et en déposant le fichier dans la fenêtre de l'éditeur. Vous verrez une ligne commençant par Exec= , quelque chose comme Exec=/path/arduino . Cette ligne doit être modifiée en conséquence, puis enregistrez les modifications.

Si vous voulez en savoir plus sur les fichiers de bureau, je vous recommande:

Question: Créer des fichiers .desktop - Quelques questions
Spécification des fichiers Desktop: lien

Commencez avec les droits sudo en tapant un mot de passe

Installez gksu en utilisant la commande sudo apt-get install gksu . Maintenant, utilisez gksu au lieu de sudo ( Exec=gksu /path/arduino ) et vous serez invité avec un champ de saisie de mot de passe comme gparted lorsque vous démarrez via le fichier de bureau.

    
réponse donnée verpfeilt 08.05.2016 - 16:50
la source

Lire d'autres questions sur les étiquettes