You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

5.1 KiB

weight title date draft summary categories tags
4 Varias versiones de FreeCAD aisladas (appimages) 2021-10-25T23:16:27+0200 false Como instalar varias versiones de FreeCAD aisladas (AppImages)
pildoras
freecad

Varias versiones de FreeCAD aisladas entre si

{{< admonition type=abstract title="Referencias" open=true >}}

{{< /admonition >}}

Con la instalación propuesta podemos tener instaladas varias versiones de FreeCAD, por ejemplo la stable la nightly y la real thunder con configuraciones y módulos independientes entre ellas.

Tenemos que crear un directorio para cada versión diferente que queramos instalar. Yo tengo todas en el directorio ~/apps/freecad

El contenido de ese directorio tiene esta pinta:

tree freecad
freecad
├── fc019
│   ├── current -> FreeCAD_0.19-24291-Linux-Conda_glibc2.12-x86_64.AppImage
│   ├── FreeCAD_0.19-24276-Linux-Conda_glibc2.12-x86_64.AppImage
│   ├── FreeCAD_0.19-24291-Linux-Conda_glibc2.12-x86_64.AppImage
│   ├── Mod
│   ├── system.cfg
│   ├── temp
│   └── user.cfg
├── fc020
│   ├── current -> FreeCAD_weekly-builds-26155-Linux-Conda_glibc2.12-x86_64.AppImage
│   ├── FreeCAD_weekly-builds-25943-Linux-Conda_glibc2.12-x86_64.AppImage
│   ├── FreeCAD_weekly-builds-26155-Linux-Conda_glibc2.12-x86_64.AppImage
│   ├── Mod
│   ├── system.cfg
│   ├── temp
│   └── user.cfg
└── fcrt
    ├── current -> FreeCAD-asm3-Stable-Conda-Py3-Qt5-20211015-glibc2.12-x86_64.AppImage
    ├── FreeCAD-asm3-Stable-Conda-Py3-Qt5-20210922-glibc2.12-x86_64.AppImage
    ├── FreeCAD-asm3-Stable-Conda-Py3-Qt5-20211015-glibc2.12-x86_64.AppImage
    ├── Mod
    ├── system.cfg
    ├── temp
    └── user.cfg

En cada subdirectorio (fc019, fc020 y fcrt):

  • Creamos un directorio Mod
  • Descargamos el fichero appimage correspondiente
  • Creamos el enlace simbólico current

Los scripts para arrancar las versiones tienen este contenido:

#!/usr/bin/env bash
set -euo pipefail
IFS=$'\n\t'

# Uncomment next line for using dot as decimal separator
# export LC_NUMERIC=en_US.UTF-8
# Uncomment next line for having a comma instead of a dot in numeric pad (it's a global option)
setxkbmap -option kpdl:comma

export HOME=/home/salvari/apps/freecad/fc019
export FREECAD_USER_HOME=$HOME
~/current --user-cfg ~/user.cfg --system-cfg ~/system.cfg --module-path ~/Mod


# Set default keymap for numeric pad
setxkbmap -option ''

Establecen la variable HOME y FREECAD_USER_HOME al directorio de la versión particular.

{{< admonition type=note title=Notas open=true >}}

  • En mis scripts originales sólo establecía la variable HOME pero las distintas versiones de FreeCAD seguían compartiendo el directorio de add-ons, al establecer la variable FREECAD_USER_HOME cada versión tiene sus add-ons independientes.

  • Todavía no tengo muy claro que se almacena en el module-path, pero queda establecido "por si acaso"

{{< /admonition >}}

Actualizar la versión

  • Descargamos el fichero appimage correspondiente a la nueva versión.
  • Borramos el antiguo enlace simbólico current
  • Creamos de nuevo el enlace apuntando a la nueva appimage (ln -s <nuevaAppImage> current)

No es necesario tocar los scripts que lanzan FreeCAD

Un solo script para todo

{{< admonition type=abstract title="Referencias" open=true >}}

Este script se basa directamente en el script propuesto por Maxi uno de los usuarios del Grupo FreeCAD Español en Telegram.

{{< /admonition >}}

Con sólo este script podemos lanzar todas las versiones:

#!/usr/bin/env bash
set -euo pipefail
IFS=$'\n\t'

# Menu

echo "#####                 ####  ###   ####"
echo "#                    #      # #   #   #"
echo "#     ##  #### ####  #     #   #  #   #"
echo "####  # # #  # #  #  #     #####  #   #"
echo "#     #   #### ####  #    #     # #   #"
echo "#     #   #    #     #    #     # #   #"
echo "#     #   #### ####   ### #     # ####"
echo " "
echo "      *************************"
echo "      Elegir versión de FreeCAD"
echo "      *************************"
echo "         (1) FreeCAD 0.19"
echo "         (2) FreeCAD 0.20"
echo "         (3) RT Stable"
echo "         (4) RT Daily"
echo "      *************************"

read opcion
case $opcion in
    1)
        FREECAD_DIR=/home/usuario/apps/freecad/fc019 ;; # Ruta al archivo AppImage
    2)
        FREECAD_DIR=/home/usuario/apps/freecad/fc020 ;;
    3)
        FREECAD_DIR=/home/usuario/apps/freecad/fcrt ;;
    4)
        FREECAD_DIR=/home/usuario/apps/freecad/fcrtd ;;
    *)
        echo "Invalid Option"
        exit  ;;
esac

export HOME=$FREECAD_DIR
export FREECAD_USER_HOME=$FREECAD_DIR
~/current --user-cfg ~/user.cfg --system-cfg ~/system.cfg --module-path ~/Mod

# Set default keymap for numeric pad
setxkbmap -option ''