Advertencia
Este artículo se actualizó por última vez el 2023-03-09, es posible que el contenido no esté actualizado.
Varias versiones de FreeCAD aisladas entre si
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:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
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:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
#!/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.
Notas
-
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”
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
Referencias
Este script se basa directamente en el script propuesto por
Maxi uno de los usuarios del
Grupo FreeCAD Español en Telegram.
Con sólo este script podemos lanzar todas las versiones:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
#!/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 ''
|