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.
157 lines
5.1 KiB
157 lines
5.1 KiB
10 months ago
|
---
|
||
|
weight: 4
|
||
|
title: "Varias versiones de FreeCAD aisladas (appimages)"
|
||
|
date: 2021-10-25T23:16:27+0200
|
||
|
draft: false
|
||
|
summary: "Como instalar varias versiones de FreeCAD aisladas (AppImages)"
|
||
|
categories:
|
||
|
- pildoras
|
||
|
tags:
|
||
|
- freecad
|
||
|
---
|
||
|
|
||
|
## Varias versiones de FreeCAD aisladas entre si
|
||
|
|
||
|
|
||
|
{{< admonition type=abstract title="Referencias" open=true >}}
|
||
|
|
||
|
- Estos scripts están basados en el script propuesto por el usuario _**Maxi**_ en el [Grupo de Telegram FreeCAD en Español](https://telegra.ph/Grupo-Telegram-de-FreeCAD-en-Espa%C3%B1ol-07-12)
|
||
|
|
||
|
{{< /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:
|
||
|
|
||
|
```bash
|
||
|
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:
|
||
|
|
||
|
```bash
|
||
|
#!/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](https://t.me/FreeCAD_Es) en Telegram.
|
||
|
|
||
|
{{< /admonition >}}
|
||
|
|
||
|
Con sólo este script podemos lanzar todas las versiones:
|
||
|
|
||
|
```bash
|
||
|
#!/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 ''
|
||
|
```
|
||
|
|