update-alternatives sous debian(rendre transparent l’usage d’une appimage de freecad)

Forum destiné aux questions et discussions en français
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
Post Reply
benoitlst
Posts: 106
Joined: Wed Jan 16, 2019 8:35 pm

update-alternatives sous debian(rendre transparent l’usage d’une appimage de freecad)

Post by benoitlst »

Bonjour à toutes et tous,

Pour les utilisateurs de GNU/Linux basé sur debian qui utilisent une appimage :
Si on veut que les menus du gestionnaire de fichier utilise l'appimage plutôt que freecad installé avec le gestionnaire de paquet.
Et que tout soit transparent au niveau des icones et des liens entre fichier et application et du menu application du bureau…
Voici une solution parmi d’autres que j’ai utilisé, en root :

Code: Select all

update-alternatives --install /usr/bin/freecad freecad /usr/local/bin/FreeCAD_weekly-builds-25943-Linux-Conda_glibc2.12-x86_64.AppImage  2
Ça veut dire qu’on ajoute une alternative à la version de freecad installé avec le gestionnaire de paquet :
update-alternatives --install <lien symbolique vers freecad> <le nom de l’application ici freecad> <le/chemin/complet/vers/l’AppImage> > <Le numéro de priorité ici 2>

Ensuite on choisit dans la liste le numéro 2 pour que ce soit cette alternative-là qui soit utilisée, ici l’appimage.

Code: Select all

update-alternatives --config freecad
Il existe 2 choix pour l'alternative freecad (qui fournit /usr/bin/freecad).

  Sélection   Chemin                                                                            Priorité  État
------------------------------------------------------------
* 0            /usr/lib/freecad/bin/freecad-python3                                               30        mode automatique
  1            /usr/lib/freecad/bin/freecad-python3                                               30        mode manuel
  2            /usr/local/bin/FreeCAD_weekly-builds-25943-Linux-Conda_glibc2.12-x86_64.AppImage   2         mode manuel

Appuyez sur <Entrée> pour conserver la valeur par défaut[*] ou choisissez le numéro sélectionné :2
On choisit l’appimage dans la liste et c’est l’appimage qui sera appelé en utilisant le menu de l’environnement de bureau comme gnome ou kde.
Ce qui n’est pas possible avec un lien symbolique dans sa $HOME

Une autre méthode (pas testée) est de modifier le fichier freecad.desktop dans /usr/share/applications ou de placer une copie du fichier freecad.desktop modifié dans sa $HOME/.local/share/applications/

Pour le modifier :

Code: Select all

[Desktop Entry]
Version=1.0
Name=FreeCAD
Name[de]=FreeCAD
Comment=Feature based Parametric Modeler
Comment[de]=Feature-basierter parametrischer Modellierer
GenericName=CAD Application
GenericName[de]=CAD-Anwendung
Exec=/usr/bin/freecad --single-instance %F
Terminal=false
Type=Application
Icon=freecad
Categories=Graphics;Science;Engineering
StartupNotify=true
GenericName[de_DE]=Feature-basierter parametrischer Modellierer
Comment[de_DE]=Feature-basierter parametrischer Modellierer
MimeType=application/x-extension-fcstd

Il faut modifier le chemin vers l'appimage à la ligne :

Code: Select all

Exec=/usr/bin/freecad --single-instance %F
--
Benoit
benoitlst
Posts: 106
Joined: Wed Jan 16, 2019 8:35 pm

Re: update-alternatives sous debian(rendre transparent l’usage d’une appimage de freecad)

Post by benoitlst »

benoitlst wrote: Thu Oct 14, 2021 8:34 am
Pour les utilisateurs de GNU/Linux basé sur debian qui utilisent une appimage :
Je me corrige moi-même avec cette méthode il faudra tout recommencer à chaque mise à jour de l'AppImage de FreeCad.
Du coup on fait un lien symbolique :

Code: Select all

ln -s /chemin/complet/vers/l'appimage /usr/local/bin/FreeCAD_AppImage
Puis :

Code: Select all

update-alternatives --install /usr/bin/freecad freecad /usr/local/bin/FreeCAD_AppImage 2
Ainsi on n'a que le lien symbolique à changer lors d'une mise à jour de l'AppImage.

Pour l'instant en faisant ça, on déréférence le chemin vers FreeCad 0.19 du coup on se sait plus l'utiliser, je cherches et je reviens modifier mon post.

--
Benoit
Post Reply