Debian
El paquete Debian estándar generado por el empaquetador de Tauri tiene todo lo que necesitas para enviar tu aplicación a distribuciones de Linux basadas en Debian, definiendo los iconos de tu aplicación, generando un archivo Desktop y especificando las dependencias libwebkit2gtk-4.1-0 y libgtk-3-0, junto con libappindicator3-1 si tu aplicación usa la bandeja del sistema (system tray).
Limitaciones
Sección titulada “Limitaciones”Las bibliotecas fundamentales como glibc frecuentemente rompen la compatibilidad con sistemas más antiguos. Por esta razón, debes compilar tu aplicación Tauri utilizando el sistema base más antiguo que pretendas admitir y que también proporcione los paquetes requeridos de WebKitGTK 4.1 para Tauri v2. Ubuntu 22.04 y Debian 12 son ejemplos adecuados de referencia porque proporcionan libwebkit2gtk-4.1-dev desde sus repositorios estándar de paquetes. Compilar en un sistema base más nuevo puede aumentar la versión mínima de glibc requerida por tu aplicación, por lo que al ejecutarla en un sistema más antiguo, podrías enfrentarte a un error de tiempo de ejecución como /usr/lib/libc.so.6: version 'GLIBC_2.33' not found. Recomendamos usar un contenedor Docker o GitHub Actions para compilar tu aplicación Tauri para Linux.
Consulta los problemas tauri-apps/tauri#1355 y rust-lang/rust#57497, además de la guía de AppImage para obtener más información.
Archivos personalizados
Sección titulada “Archivos personalizados”Tauri ofrece algunas configuraciones para el paquete Debian en caso de que necesites más control.
Si tu aplicación depende de dependencias adicionales del sistema, puedes especificarlas en tauri.conf.json > bundle > linux > deb.
Para incluir archivos personalizados en el paquete Debian, puedes proporcionar una lista de archivos o carpetas en tauri.conf.json > bundle > linux > deb > files. El objeto de configuración mapea la ruta dentro del paquete Debian a la ruta del archivo en tu sistema de archivos, relativa al archivo tauri.conf.json. Aquí tienes un ejemplo de configuración:
{ "bundle": { "linux": { "deb": { "files": { "/usr/share/README.md": "../README.md", // copies the README.md file to /usr/share/README.md "/usr/share/assets": "../assets/" // copies the entire assets directory to /usr/share/assets } } } }}Compilación cruzada para dispositivos basados en ARM
Sección titulada “Compilación cruzada para dispositivos basados en ARM”Esta guía cubre la compilación manual. Consulta nuestra guía de GitHub Actions para ver un ejemplo de flujo de trabajo que aprovecha QEMU para compilar la aplicación. Esto será mucho más lento pero también podrá compilar AppImages.
La compilación manual es adecuada cuando no necesitas compilar tu aplicación con frecuencia y prefieres una configuración de una sola vez. Los siguientes pasos asumen que usas una distribución de Linux basada en Debian/Ubuntu.
-
Instalar los targets de Rust para la arquitectura deseada
Sección titulada “Instalar los targets de Rust para la arquitectura deseada”- Para ARMv7 (32 bits):
rustup target add armv7-unknown-linux-gnueabihf - Para ARMv8 (ARM64, 64 bits):
rustup target add aarch64-unknown-linux-gnu
- Para ARMv7 (32 bits):
-
Instalar el linker correspondiente para la arquitectura elegida
Sección titulada “Instalar el linker correspondiente para la arquitectura elegida”- Para ARMv7:
sudo apt install gcc-arm-linux-gnueabihf - Para ARMv8 (ARM64):
sudo apt install gcc-aarch64-linux-gnu
- Para ARMv7:
-
Abre o crea el archivo
Sección titulada “Abre o crea el archivo <project-root>/.cargo/config.toml y añade las siguientes configuraciones según corresponda”<project-root>/.cargo/config.tomly añade las siguientes configuraciones según corresponda[target.armv7-unknown-linux-gnueabihf]linker = "arm-linux-gnueabihf-gcc"[target.aarch64-unknown-linux-gnu]linker = "aarch64-linux-gnu-gcc" -
Habilitar la arquitectura respectiva en el gestor de paquetes
Sección titulada “Habilitar la arquitectura respectiva en el gestor de paquetes”- Para ARMv7:
sudo dpkg --add-architecture armhf - Para ARMv8 (ARM64):
sudo dpkg --add-architecture arm64
- Para ARMv7:
-
Ajustar las fuentes de paquetes
Sección titulada “Ajustar las fuentes de paquetes”En Debian, este paso no debería ser necesario, pero en otras distribuciones, es posible que necesites editar /etc/apt/sources.list para incluir la variante de arquitectura ARM. Por ejemplo, en Ubuntu 22.04 añade estas líneas al final del archivo (Recuerda reemplazar jammy por el nombre en código de tu versión de Ubuntu):
deb [arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports jammy main restricteddeb [arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports jammy-updates main restricteddeb [arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports jammy universedeb [arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports jammy-updates universedeb [arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports jammy multiversedeb [arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports jammy-updates multiversedeb [arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports jammy-backports main restricted universe multiversedeb [arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports jammy-security main restricteddeb [arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports jammy-security universedeb [arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports jammy-security multiverseLuego, para evitar problemas con los paquetes principales, debes añadir la arquitectura principal correcta a todas las demás líneas que el archivo contenía previamente. Para sistemas estándar de 64 bits necesitas añadir [arch=amd64], el archivo completo en Ubuntu 22.04 se verá similar a esto:
# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to# newer versions of the distribution.deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ jammy main restricted# deb-src http://archive.ubuntu.com/ubuntu/ jammy main restricted## Major bug fix updates produced after the final release of the## distribution.deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ jammy-updates main restricted# deb-src http://archive.ubuntu.com/ubuntu/ jammy-updates main restricted## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu## team. Also, please note that software in universe WILL NOT receive any## review or updates from the Ubuntu security team.deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ jammy universe# deb-src http://archive.ubuntu.com/ubuntu/ jammy universedeb [arch=amd64] http://archive.ubuntu.com/ubuntu/ jammy-updates universe# deb-src http://archive.ubuntu.com/ubuntu/ jammy-updates universe## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu## team, and may not be under a free licence. Please satisfy yourself as to## your rights to use the software. Also, please note that software in## multiverse WILL NOT receive any review or updates from the Ubuntu## security team.deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ jammy multiverse# deb-src http://archive.ubuntu.com/ubuntu/ jammy multiversedeb [arch=amd64] http://archive.ubuntu.com/ubuntu/ jammy-updates multiverse## N.B. software from this repository may not have been tested as## extensively as that contained in the main release, although it includes## newer versions of some applications which may provide useful features.## Also, please note that software in backports WILL NOT receive any review## or updates from the Ubuntu security team.deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ jammy-backports main restricted universe multiverse# deb-src http://archive.ubuntu.com/ubuntu/ jammy-backports main restricted universe multiversedeb [arch=amd64] http://security.ubuntu.com/ubuntu/ jammy-security main restricted# deb-src http://security.ubuntu.com/ubuntu/ jammy-security main restricteddeb [arch=amd64] http://security.ubuntu.com/ubuntu/ jammy-security universe# deb-src http://security.ubuntu.com/ubuntu/ jammy-security universedeb [arch=amd64] http://security.ubuntu.com/ubuntu/ jammy-security multiverse# deb-src http://security.ubuntu.com/ubuntu/ jammy-security multiversedeb [arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports jammy main restricteddeb [arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports jammy-updates main restricteddeb [arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports jammy universedeb [arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports jammy-updates universedeb [arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports jammy multiversedeb [arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports jammy-updates multiversedeb [arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports jammy-backports main restricted universe multiversedeb [arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports jammy-security main restricteddeb [arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports jammy-security universedeb [arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports jammy-security multiverse -
Actualizar la información de los paquetes:
Sección titulada “Actualizar la información de los paquetes: sudo apt-get update && sudo apt-get upgrade -y”sudo apt-get update && sudo apt-get upgrade -y -
Instalar la biblioteca webkitgtk requerida para la arquitectura elegida
Sección titulada “Instalar la biblioteca webkitgtk requerida para la arquitectura elegida”- Para ARMv7:
sudo apt install libwebkit2gtk-4.1-dev:armhf - Para ARMv8 (ARM64):
sudo apt install libwebkit2gtk-4.1-dev:arm64
- Para ARMv7:
-
Instalar OpenSSL o usar una versión vendored
Sección titulada “Instalar OpenSSL o usar una versión vendored”Esto no siempre es obligatorio, por lo que puedes continuar primero y verificar si ves errores como
Failed to find OpenSSL development headers.- Either install the development headers system-wide:
- Para ARMv7:
sudo apt install libssl-dev:armhf - Para ARMv8 (ARM64):
sudo apt install libssl-dev:arm64
- Para ARMv7:
- O habilita la característica vendor para el crate de OpenSSL en Rust, lo cual afectará a todas las demás dependencias de Rust que usen la misma versión menor. Puedes hacerlo añadiendo esto a la sección de dependencias en tu archivo
Cargo.toml:
openssl-sys = {version = "0.9", features = ["vendored"]} - Either install the development headers system-wide:
-
Establece la variable
Sección titulada “Establece la variable PKG_CONFIG_SYSROOT_DIR en el directorio adecuado según la arquitectura elegida”PKG_CONFIG_SYSROOT_DIRen el directorio adecuado según la arquitectura elegida- Para ARMv7:
export PKG_CONFIG_SYSROOT_DIR=/usr/arm-linux-gnueabihf/ - Para ARMv8 (ARM64):
export PKG_CONFIG_SYSROOT_DIR=/usr/aarch64-linux-gnu/
- Para ARMv7:
-
Compilar la aplicación para la versión de ARM deseada
Sección titulada “Compilar la aplicación para la versión de ARM deseada”- Para ARMv7: cargo tauri build –target armv7-unknown-linux-gnueabihf
- Para ARMv8 (ARM64): cargo tauri build –target aarch64-unknown-linux-gnu
Elige el conjunto de instrucciones adecuado en función de si quieres realizar una compilación cruzada de tu aplicación Tauri para ARMv7 o ARMv8 (ARM64). Ten en cuenta que los pasos específicos pueden variar según tu distribución de Linux y configuración.
© 2026 Colaboradores de Tauri. CC-BY / MIT