Go Down

Topic: Changement de version ARDUINO sous UBUNTU (Read 483 times) previous topic - next topic

hbachetti

May 20, 2018, 09:32 pm Last Edit: May 20, 2018, 09:33 pm by hbachetti
Salut à tous

Je viens de changer de version d'IDE ARDUINO sur mon PC.
Sous LINUX UBUNTU 16.04, j'utilise UNITY.
Je passe de 1.6.9 à 1.8.5.

La recette qui semblerait évidente :
- supprimer l'icône ARDUINO du lanceur
- lancer l'IDE ARDUINO en ligne de commande
- cliquer avec le bouton droit sur la nouvelle icône et choisir "conserver dans le lanceur"

Eh bien non, la prochaine fois que vous cliquerez sur l'icône ARDUINO, il lancera l'ancienne version !!!
C'est ce qui se passe à condition bien sûr de ne pas avoir mis à la poubelle votre ancienne version. Sinon, il ne se passe rien.

Ce qu'il faut faire :
Éditez votre fichier .local/share/applications/arduino-arduinoide.desktop

Code: [Select]

[Desktop Entry]
Type=Application
Name=Arduino IDE
GenericName=Arduino IDE
Comment=Open-source electronics prototyping platform
Exec=/home/riton/arduino-1.6.9/arduino
Icon=arduino-arduinoide
Terminal=false
Categories=Development;IDE;Electronics;
MimeType=text/x-arduino
Keywords=embedded electronics;electronics;avr;microcontroller;
StartupWMClass=processing-app-Base


Remplacez la version :

Code: [Select]

[Desktop Entry]
Type=Application
Name=Arduino IDE
GenericName=Arduino IDE
Comment=Open-source electronics prototyping platform
Exec=/home/riton/arduino-1.8.5/arduino
Icon=arduino-arduinoide
Terminal=false
Categories=Development;IDE;Electronics;
MimeType=text/x-arduino
Keywords=embedded electronics;electronics;avr;microcontroller;
StartupWMClass=processing-app-Base


J'enfonce certainement les portes ouvertes pour les initiés, mais imaginez un instant le perplexité du débutant.

@+ et bonnes bidouilles sous LINUX.
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

68tjs

#1
May 20, 2018, 11:13 pm Last Edit: May 20, 2018, 11:17 pm by 68tjs
Ce n'est ni un problème Linux, ni un problème Ubuntu, ni même de choix d'interface graphique

C'est un fonctionnement qui me semble normal : ce n'est pas l'application qui crée le lanceur sur le bureau.
Il ne manquerait plus que les applications fassent ce qu'elle veulent ! Le patron c'est  le gestionnaire du PC.
Le lanceur a été créé avec une version du programme, si on installe une autre version il faut bien lui dire que le chemin vers l'application a changé ou créer un nouveau lanceur à coté du premier.

Surtout que l'IDE arduino n'est plus empaquetée par Debian depuis de très nombreuses années, la version arduino ne s'installe pas dans /usr et ne respecte pas les règles Debian.

Note que tu as fais la modif directement dans le fichier du lanceur mais que la modif est faisable directement en mode graphique, enfin c'est comme cela avec KDE.

Je ne refuse pas par principe le mode graphique,dès fois c'est plus simple en console, d'autres fois c'est plus simple en graphique.
Et pour le cas présent où il faut juste changer un lien c'est plus simple en graphique.



hbachetti

Quote
Note que tu as fais la modif directement dans le fichier du lanceur mais que la modif est faisable directement en mode graphique, enfin c'est comme cela avec KDE.
Comme je l'ai expliqué, j'utilise UNITY, pas KDE.

Sous UNITY, aucun nouveau lanceur n'est créé. Le lanceur précédent est utilisé mais le chemin de l'application n'est pas modifié dans le fichier du lanceur.

@+
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

68tjs

J'insiste et persiste : AMHA c'est normal.
Kde ou Unity il ne doit pas y avoir de grosses différences de principe :  les lanceurs sur le bureau il faut les créer soi-même et c'est normal.

Pour que le changement de version soit automatiquement répercutée sur le lanceur (et cela peut poser problème) il faudrait que l'IDE arduino soit téléchargée à partir des dépots officiels et donc satisfasse aux règles Debian. Elle aurait alors accès à un certain nombre de privilèges.

A partir du moment où l'IDE ne fait pas (plus) partie des dépots officiels, le fonctionnement que tu as remarqué me parrait normal et permet de faire appel facilement à des versions différentes du logiciel.

fdufnews

Sans faire de grosses recherches, dans le répertoire racine qui contient l'IDE on trouve un script install.sh qui permet de créér une entrée dans le menu.

68tjs

Oui mais jamais je n'autoriserai un logiciel non empaqueté par Debian à avoir ce type de privilèges.
C'est une source d'em****des quand il faut désinstaller et sauf à être installé sur un PC multiutilisateurs je n'en vois pas l'intérêt.

Un logiciel comme l'IDE qui embarque des versions différentes de GCC, avr-gcc et avrdude et autres utilitaire Atmel  de celles présentes dans /usr s'installe aux risques et périls de l'utilisateur.

NB : la version 1.0.5 est toujours maintenue et peut être installée.
Elle est toujours cohérente avec l'ensemble des bibliothèques logiciels présentes dans /usr dont les dernières versions de  GCC, avr_gcc et utilitaires Atmel.

Clairement pour avoir un lanceur sur le bureau je préfère prendre, une seule fois, un peu de temps pour apprendre à créer un lanceur avec l'interface graphique que j'ai choisi plutôt que de faire confiance à un "machin".

hbachetti


Quote
Pour que le changement de version soit automatiquement répercutée sur le lanceur (et cela peut poser problème) il faudrait que l'IDE arduino soit téléchargée à partir des dépots officiels et donc satisfasse aux règles Debian. Elle aurait alors accès à un certain nombre de privilèges.
J'ai effectivement installé mon IDE à partir des paquets officiels la première fois.

Je suis vite passé à une version 1.6.9 car qui pourrait se contenter à l'heure actuelle d'une version 1.0.5 ?
Je pense qu'à l'époque j'ai modifié également le lanceur à la main.

Évidemment la 1.6.9 s'installe en dehors du système APT, c'est clair.

Pas la peine de m'expliquer APT. Étant développeur LINUX moi-même il est évident que la création d'un paquet DEBIAN fait partie de mes connaissances de base.

Le paquet DEBIAN ARDUINO produit un lanceur nommé /usr/share/app-install/desktop/arduino:arduino.desktop
Ce lanceur est correct.

L'autre moyen est de lancer l'IDE à la main et de conserver l'icône dans la barre de lancement.
Cette opération produit un lanceur non valide .local/share/applications/processing-app-base.desktop
Le lanceur /usr/share/app-install/desktop/arduino:arduino.desktop n'est pas utilisé.

Avec une application classique, la conservation du lanceur se passe bien.
Exemple : vlc
Lancer vlc par le launcher ou par le shell.
Conserver dans la barre de lancement.
Tout se passe bien.
Remarque: le lanceur se trouve ici : /usr/share/app-install/desktop/vlc\:vlc.desktop

@+
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

hbachetti

Quote from: fdufnews
Sans faire de grosses recherches, dans le répertoire racine qui contient l'IDE on trouve un script install.sh qui permet de créér une entrée dans le menu.
Tout à fait. Ce script produit un lanceur accessible par le "launcher".
C'est d'ailleurs ce que je ferai à l'avenir.
J'avais simplement pris l'habitude de lancer arduino par le shell et de le conserver ensuite dans la barre par un click droit.
A ne pas faire donc.

Quote
Oui mais jamais je n'autoriserai un logiciel non empaqueté par Debian à avoir ce type de privilèges.
Le script install.sh n'a pas besoin de privilèges particuliers. Il n'effectue aucun accès aux répertoires système.

@+

Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

infobarquee

perso, je prend le zip, le décompresse dans mon home avec un autre répertoire.
je copie un lanceur et modifie le chemin.
comme ca, j'ai 5 versions différentes d'IDE sur mon bureau, chacune indépendante avec leur GCC perso.
AUCUNE AIDE PAR MP

hbachetti

Effectivement, cela fonctionne aussi.
Et pour les librairies, tu crées un lien symbolique sur le répertoire libraries ?

@+
Linux is like a wigwam: no Windows, no Gates, and an Apache inside ...

68tjs

#10
May 21, 2018, 01:58 pm Last Edit: May 21, 2018, 02:01 pm by 68tjs
Quote
Pas la peine de m'expliquer APT. Étant développeur LINUX moi-même il est évident que la création d'un paquet DEBIAN fait partie de mes connaissances de base.
Je sais bien, tu n'étais pas directement concerné, mais ici il y a des membres qui sont tentés par passer à linux j'ai répondu en pensant à eux.

Quote
perso, je prend le zip, le décompresse dans mon home avec un autre répertoire.
je copie un lanceur et modifie le chemin.
Exact c'est le plus simple, perso je ne conserve qu'un lanceur : les autres versions sont quand même facilement accessibles sans pour autant encombrer le bureau, enfin c'est mon choix.

Effectivement, cela fonctionne aussi.
Et pour les librairies, tu crées un lien symbolique sur le répertoire libraries ?
Je ne comprend pas bien.
Le répertoire Arduino est commun à toutes les versions.

Du temps de la guerre intestine entre LCC et ORG, et les versions respectives et incompatibles 1.6.x et 1.7.x, je passais par un script intermédiaire pour lancer l'IDE. J'avais  deux répertoire distincts arduino_lcc et arduino_org.
Example utilisation de 1.6.x :
Au démarrage le script renommais arduino_lcc en Arduino puis lançait l'IDE,  à la sortie du programme IDE  il renommais Arduino en arduino_lcc
et lycée de Versailles pour la 1.7.x.

Maintenant avec une seule architecture d'IDE ce n'est plus la peine sauf si on veut des réglages différents.

infobarquee

chaque version de mes IDE a son propre répertoire de lib, ca évite les conflits entre versions.
AUCUNE AIDE PAR MP

Go Up