
Mozo es un editor de menús para MATE que utiliza la especificación de menús de freedesktop.org. Es una bifurcación de Alacarte.
¿Qué es Mozo?
Mozo es el editor gráfico de menús de MATE. Permite modificar la estructura del menú de aplicaciones del escritorio sin tener que editar manualmente los archivos .desktop y los archivos XML que definen la organización del menú.
Forma parte del ecosistema de aplicaciones de MATE Desktop Environment y está pensado para integrarse con el sistema de menús basado en freedesktop.org.
La idea fundamental es esta:
ESCRITORIO MATE
│
▼
┌─────────────┐
│ Mozo │
│ │
│ Editor de │
│ menús │
└──────┬──────┘
│
▼
configuración del
menú de aplicaciones
│
┌─────────┴─────────┐
▼ ▼
archivos .desktop archivos XML
│ │
└─────────┬─────────┘
▼
MENÚ DE MATE
Mozo no es el menú en sí. Es una herramienta para editar la información que posteriormente utilizan el panel y el menú de aplicaciones de MATE.
1. ¿Qué problema resuelve Mozo?
En Linux, las aplicaciones gráficas normalmente no aparecen en el menú simplemente porque exista un ejecutable en:
/usr/bin/
Por ejemplo:
/usr/bin/firefox
/usr/bin/gedit
/usr/bin/vlc
El menú necesita información adicional:
Nombre: Firefox
Descripción: Navegador web
Icono: firefox
Comando: firefox
Categoría: Internet
Esa información se almacena principalmente mediante archivos:
.desktop
Por ejemplo, conceptualmente:
[Desktop Entry]
Name=Firefox
Comment=Web Browser
Exec=firefox
Icon=firefox
Type=Application
Categories=Network;WebBrowser;
Mozo proporciona una interfaz gráfica para modificar este tipo de información y, sobre todo, decidir cómo aparece organizada en el menú.
2. La arquitectura que hay detrás
Para comprender Mozo en profundidad conviene separar tres elementos:
Aplicación
│
▼
archivo .desktop
│
▼
sistema de menús
│
▼
MATE panel / menú
El archivo .desktop describe una aplicación.
El sistema de menús determina dónde aparece.
Mozo actúa sobre esa configuración.
Por tanto:
.desktop
│
│ describe
▼
Aplicación
│
│ pertenece a
▼
Categorías
│
▼
Sistema de menú
│
▼
Menú de MATE
3. ¿Qué es un archivo .desktop?
Un .desktop es, simplificando, el equivalente Linux de una "ficha" que describe una aplicación gráfica.
Por ejemplo:
[Desktop Entry]
Name=Mi aplicación
Comment=Una aplicación de ejemplo
Exec=/usr/local/bin/mi-programa
Icon=mi-icono
Terminal=false
Type=Application
Categories=Utility;
Aquí encontramos información como:
Campo
Función
Name
Nombre mostrado
Comment
Descripción
Exec
Programa que se ejecuta
Icon
Icono
Terminal
Si necesita terminal
Type
Tipo de entrada
Categories
Categorías
NoDisplay
Si debe ocultarse del menú
Hidden
Si la entrada está oculta
Mozo trabaja sobre este ecosistema.
4. Mozo no modifica el ejecutable
Esto es muy importante.
Si tienes:
/usr/bin/mi-programa
y utilizas Mozo para cambiar:
Nombre:
"Mi programa"
por:
"Mi fantástico programa"
Mozo no modifica:
/usr/bin/mi-programa
Modifica la información utilizada para presentar el programa en el menú.
Es decir:
Mozo
│
▼
información del menú
│
▼
.desktop
│
▼
"cómo aparece"
│
▼
aplicación real
5. Crear lanzadores personalizados
Una de las funciones más útiles de Mozo es la posibilidad de crear un lanzador.
Imagina que tienes un programa que puedes ejecutar desde:
/opt/mis-programas/editor
pero no tiene una entrada en el menú.
Puedes crear desde Mozo una nueva entrada con:
Nombre:
Editor especial
Comando:
/opt/mis-programas/editor
Comentario:
Mi editor personalizado
Icono:
...
Entonces puedes conseguir:
Aplicaciones
└── Oficina
└── Editor especial
sin tener que escribir manualmente el archivo .desktop.
6. Crear una entrada para cualquier comando
Esto abre posibilidades interesantes.
Por ejemplo, puedes crear un lanzador para:
htop
o:
mate-terminal
o incluso:
mate-terminal --working-directory=/home/usuario/proyecto
Así puedes transformar un comando en una aplicación accesible desde el menú gráfico.
Conceptualmente:
Mozo
│
├── Nombre
├── Comando
├── Comentario
└── Icono
│
▼
.desktop
│
▼
menú MATE
7. Organización jerárquica
Mozo permite trabajar con la estructura jerárquica del menú.
Por ejemplo:
Aplicaciones
│
├── Accesorios
│ ├── Calculadora
│ ├── Editor de texto
│ └── Terminal
│
├── Gráficos
│ ├── Visor de imágenes
│ └── Editor de imágenes
│
├── Internet
│ ├── Navegador
│ └── Cliente de correo
│
├── Oficina
│ ├── Procesador de textos
│ └── Hoja de cálculo
│
└── Sonido y vídeo
├── Reproductor
└── Grabador
Puedes modificar esta estructura mediante la interfaz gráfica.
Esto es especialmente útil si tienes muchas aplicaciones instaladas y quieres construir una organización personalizada.
8. Crear submenús
No solamente puedes modificar entradas.
También puedes crear categorías/submenús personalizados.
Por ejemplo:
Aplicaciones
│
├── Desarrollo
│ ├── IDE
│ ├── Terminal
│ ├── Git
│ └── Docker
│
├── Servidores
│ ├── SSH
│ ├── Logs
│ └── Monitorización
│
└── Mis aplicaciones
├── Aplicación A
├── Aplicación B
└── Aplicación C
Esto es una de las funciones que hacen que Mozo sea mucho más interesante que simplemente editar nombres de aplicaciones.
9. Mover aplicaciones
Puedes cambiar la posición de las entradas dentro de una categoría.
Por ejemplo:
Internet
├── Firefox
├── Thunderbird
├── Transmission
└── Cliente IRC
podría reorganizarse como:
Internet
├── Firefox
├── Cliente IRC
├── Thunderbird
└── Transmission
Esto afecta principalmente a la presentación del menú, no al funcionamiento de las aplicaciones.
10. Ocultar aplicaciones
Otra función importante es ocultar entradas que no quieres que aparezcan.
Supongamos que tienes:
Aplicaciones
├── Desarrollo
├── Juegos
├── Oficina
├── Programación
└── Utilidades
pero no quieres que:
Juegos
aparezca.
Puedes ocultar la entrada correspondiente.
Esto no significa necesariamente que el programa haya sido desinstalado.
Simplemente deja de aparecer en el menú.
Es una distinción fundamental:
Visible en menú
≠
Instalado en sistema
11. El concepto de "ocultar" en .desktop
Aquí aparece un detalle técnico interesante.
Los archivos .desktop pueden contener propiedades como:
NoDisplay=true
o:
Hidden=true
Estas propiedades tienen significados distintos dentro de la especificación de Desktop Entry.
Por eso, cuando utilizas Mozo para ocultar algo, no debes imaginar que está borrando la aplicación.
La idea es modificar la forma en que la entrada es presentada por el sistema de menús.
12. Desactivar una categoría completa
La misma idea puede aplicarse a categorías.
Por ejemplo:
Aplicaciones
├── Accesorios
├── Educación
├── Gráficos
├── Internet
├── Oficina
└── Juegos
Puedes decidir que determinada categoría no aparezca.
El programa y sus archivos siguen existiendo, pero el menú deja de mostrar esa parte de la estructura.
13. Iconos
Mozo permite asociar iconos a los lanzadores.
Esto es importante porque un .desktop puede especificar:
Icon=firefox
o una ruta de icono.
El sistema de iconos de MATE/GTK se encarga posteriormente de resolver ese nombre.
Conceptualmente:
Mozo
│
│ Icon = "mi-icono"
▼
.desktop
│
▼
GTK / icon theme
│
▼
imagen
Esto significa que el icono que ves en el menú puede proceder del tema de iconos instalado en el sistema.
14. Nombre visible vs nombre real
Mozo permite modificar el nombre que ve el usuario.
Por ejemplo, el archivo podría representar originalmente:
Name=LibreOffice Writer
y podrías presentar algo como:
Name=Procesador de textos
La aplicación real no cambia.
Es simplemente una capa de presentación.
Esto resulta muy útil para construir un menú más adaptado a tus necesidades.
15. El campo Exec
Probablemente uno de los campos técnicamente más importantes es:
Exec=
Por ejemplo:
Exec=firefox
significa que al activar el lanzador se ejecutará:
firefox
Otro ejemplo:
Exec=mate-terminal
y otro:
Exec=mate-terminal --working-directory=/home/usuario/proyecto
Mozo proporciona una interfaz gráfica para especificar el comando que debe ejecutarse.
Por eso puede funcionar como una especie de constructor visual de archivos .desktop.
16. Lanzadores que utilizan terminal
Existe además el concepto:
Terminal=true
Esto indica que el programa necesita ejecutarse dentro de una terminal.
Por ejemplo, un programa de consola podría tener:
[Desktop Entry]
Name=Mi programa
Exec=/usr/local/bin/programa
Terminal=true
Type=Application
Entonces el entorno de escritorio sabe que debe abrir una terminal para ejecutarlo.
Esto permite que Mozo pueda utilizarse no solamente para programas GTK gráficos, sino también para determinados programas de consola.
17. Aplicaciones de escritorio vs comandos
Podemos pensar en tres niveles:
Programa gráfico
firefox
↓
ventana gráfica
Programa de consola
htop
↓
terminal
Comando personalizado
script.sh
↓
acción personalizada
Mozo puede crear entradas que actúen como lanzadores para estos distintos casos, siempre que la configuración del .desktop sea adecuada.
18. ¿Dónde se almacenan las modificaciones?
Aquí entramos en una parte especialmente importante.
Linux tiene normalmente varias ubicaciones relacionadas con los archivos .desktop.
A nivel global pueden existir entradas en:
/usr/share/applications/
y a nivel del usuario:
~/.local/share/applications/
Las modificaciones personalizadas de un usuario suelen aprovechar la jerarquía de configuración del usuario en lugar de modificar directamente los archivos proporcionados por los paquetes del sistema.
Esto es fundamental porque:
/usr/share/applications/
puede ser gestionado por el sistema de paquetes.
Si modificases directamente esos archivos, una actualización podría sobrescribir tus cambios.
La separación:
Sistema
/usr/share/applications/
Usuario
~/.local/share/applications/
permite mantener personalizaciones independientes.
19. ¿Por qué esto es importante?
Supongamos que un paquete instala:
/usr/share/applications/programa.desktop
y tú lo modificas directamente.
Después haces:
sudo apt upgrade
El paquete puede reemplazar el archivo.
En cambio, una personalización de usuario puede utilizar:
~/.local/share/applications/
para modificar la presentación sin tocar el archivo original.
Por eso es mucho más seguro trabajar mediante las herramientas de configuración del escritorio.
20. El sistema de menús de freedesktop.org
Mozo no inventa desde cero el sistema de menús.
MATE participa en el ecosistema Linux de estándares de escritorio, especialmente en las especificaciones de freedesktop.org.
Dos piezas particularmente importantes son:
Desktop Entry Specification
y:
Desktop Menu Specification
La primera describe los lanzadores:
.desktop
La segunda define cómo organizar las aplicaciones en menús.
Por eso el flujo es más o menos:
Aplicación
│
▼
Desktop Entry
│
│ .desktop
▼
Sistema de menús
│
│ categorías
▼
MATE
│
▼
Menú de aplicaciones
Mozo proporciona una interfaz gráfica sobre buena parte de esta configuración.
21. Mozo y los archivos XML
Hay una segunda capa que suele pasar desapercibida.
La estructura de los menús puede estar relacionada con archivos XML de menú, por ejemplo:
/etc/xdg/menus/
y configuraciones específicas del usuario.
El sistema de menús puede utilizar información de este tipo para determinar:
qué categorías existen
qué entradas pertenecen a cada categoría
en qué orden aparecen
qué elementos se excluyen
Por eso la arquitectura es más compleja que simplemente:
leer todos los .desktop
El sistema combina Desktop Entries + reglas de menú.
22. Categorías de las aplicaciones
Una aplicación puede declarar categorías:
Categories=AudioVideo;
o:
Categories=Graphics;
o:
Categories=Network;WebBrowser;
Estas categorías ayudan al entorno de escritorio a decidir dónde colocarla.
Por ejemplo:
Categories=Graphics;
sugiere:
Aplicaciones
└── Gráficos
└── Aplicación
Mientras:
Categories=Network;
puede llevarla hacia:
Aplicaciones
└── Internet
└── Aplicación
Mozo permite modificar la organización resultante de una manera mucho más amigable.
23. Mozo no es simplemente un editor de texto
Podrías hacer todo esto manualmente con:
nano ~/.local/share/applications/mi-programa.desktop
pero Mozo evita tener que conocer todos los campos y sintaxis.
En vez de:
[Desktop Entry]
Name=...
Exec=...
Icon=...
Type=Application
Categories=...
trabajas con una interfaz gráfica.
Por eso su objetivo puede resumirse como:
convertir la edición técnica del sistema de menús en una tarea gráfica.
24. ¿Qué pasa cuando pulsas una aplicación en el menú?
Supongamos que creaste:
Aplicaciones
└── Desarrollo
└── Mi IDE
y haces clic en Mi IDE.
El flujo aproximado es:
clic
│
▼
menú MATE
│
▼
entrada .desktop
│
▼
Exec=/opt/mi-ide/bin/ide
│
▼
sistema de escritorio
│
▼
proceso
│
▼
/opt/mi-ide/bin/ide
Mozo no participa permanentemente en este proceso.
Mozo fue utilizado previamente para configurar la entrada.
Esto es importante:
Mozo
↓
CONFIGURACIÓN
MATE Menu
↓
LECTURA DE CONFIGURACIÓN
Aplicación
↓
EJECUCIÓN
25. Mozo y el menú del panel
En MATE normalmente puedes acceder al menú de aplicaciones mediante el panel.
Por ejemplo:
┌───────────────────────────────────────────────────────┐
│ Aplicaciones | Lugares | Sistema │
└───────────────────────────────────────────────────────┘
Mozo modifica la información que ese menú utiliza.
Por tanto, si creas:
Desarrollo
└── Herramientas
└── Mi aplicación
el menú puede mostrar esa nueva estructura después de que se actualice/refresque.
26. Personalización por usuario
Una de las ventajas de este sistema es que las modificaciones pueden ser específicas para cada usuario.
Imagina dos usuarios:
usuario1
usuario2
Pueden tener:
usuario1:
Aplicaciones
├── Desarrollo
└── Servidores
usuario2:
Aplicaciones
├── Oficina
└── Multimedia
aunque ambos tengan instaladas exactamente las mismas aplicaciones.
Esto se consigue gracias a la separación entre:
configuración del sistema
y:
configuración del usuario
27. Mozo y administración del sistema
Hay que tener cuidado con una confusión frecuente.
Si instalas una aplicación para todo el sistema:
sudo apt install programa
el .desktop normalmente pertenece al sistema.
Pero si personalizas el menú desde tu usuario, no necesariamente necesitas modificar ese archivo global.
Es preferible pensar en:
/usr/share/applications/
como:
"lo que proporcionan las aplicaciones instaladas"
y:
~/.local/share/applications/
como:
"mis modificaciones y lanzadores personales".
28. ¿Puede Mozo desinstalar programas?
No.
Si eliminas una entrada del menú:
Mozo
↓
Eliminar entrada
eso no equivale necesariamente a:
sudo apt remove programa
La diferencia es:
Eliminar del menú
≠
Desinstalar aplicación
Mozo trabaja sobre la presentación y configuración del menú.
El gestor de paquetes trabaja sobre el software instalado.
29. ¿Puede Mozo modificar el programa?
Tampoco.
Por ejemplo, si tienes:
Firefox
y en Mozo cambias:
Firefox
por:
Navegador web
Firefox seguirá siendo exactamente el mismo programa.
Mozo modifica:
cómo se presenta
no:
cómo funciona internamente
30. Una de las grandes ventajas: crear un menú "personal"
Aquí es donde Mozo resulta especialmente interesante.
Puedes construir una estructura adaptada a tu forma de trabajar.
Por ejemplo:
Aplicaciones
│
├── Trabajo
│ ├── Correo
│ ├── Navegador
│ └── Oficina
│
├── Desarrollo
│ ├── IDE
│ ├── Terminal
│ ├── Git
│ └── Docker
│
├── Administración
│ ├── Monitor del sistema
│ ├── Logs
│ └── Servicios
│
└── Multimedia
├── Música
└── Vídeo
La clasificación puede ser mucho más útil que la clasificación original proporcionada por los desarrolladores de cada aplicación.
31. Un ejemplo práctico
Supongamos que tienes un script:
/home/usuario/scripts/backup.sh
Actualmente tienes que abrir una terminal y escribir:
/home/usuario/scripts/backup.sh
Con Mozo podrías crear:
Nombre:
Backup
Comando:
/home/usuario/scripts/backup.sh
Categoría:
Herramientas
y asociarle un icono.
Entonces obtienes:
Aplicaciones
└── Herramientas
└── Backup
Al hacer clic:
Backup
│
▼
.desktop
│
▼
Exec=/home/usuario/scripts/backup.sh
│
▼
backup.sh
Esto convierte Mozo en una herramienta bastante potente para construir pequeños lanzadores personalizados.
32. Mozo como "editor de la base de datos" del menú
Aunque técnicamente no es una base de datos, una analogía útil es imaginar el sistema de menús como una colección estructurada:
Aplicaciones
│
├── entradas
│ ├── nombre
│ ├── comando
│ ├── icono
│ └── categorías
│
└── categorías
├── nombre
├── orden
└── entradas
Mozo te proporciona una GUI para modificar esa estructura.
Por eso:
Mozo
se puede entender como:
una interfaz gráfica para administrar la estructura y las entradas del menú de aplicaciones de MATE.
33. Qué ocurre internamente
Podemos representar el funcionamiento completo así:
┌─────────────────────┐
│ MOZO │
│ │
│ Editor gráfico │
│ del menú │
└──────────┬──────────┘
│
┌──────────────┴──────────────┐
│ │
▼ ▼
Desktop Entries Menús
.desktop XML
│ │
└──────────────┬──────────────┘
│
▼
Sistema de menús
│
▼
MATE Panel/Menu
│
▼
Usuario hace
clic
│
▼
Exec
│
▼
Programa
Y esta separación es la clave para entenderlo.
34. Características principales de Mozo
En términos prácticos, sus funciones más importantes son:
- Crear nuevos lanzadores.
- Editar lanzadores existentes.
- Cambiar nombres.
- Cambiar comentarios/descripciones.
- Cambiar comandos.
- Cambiar iconos.
- Crear submenús.
- Mover entradas.
- Organizar categorías.
- Ocultar aplicaciones.
- Ocultar categorías.
- Crear estructuras personalizadas.
- Trabajar con configuraciones de usuario.
- Integrarse con el sistema de menús de MATE.
- Utilizar los estándares de entradas
.desktop. - Evitar que tengas que editar manualmente archivos de configuración.
35. Lo más importante que debes recordar
Si reducimos todo Mozo a cinco conceptos:
MOZO
│
┌────────┼────────┐
▼ ▼ ▼
Lanzadores Menús Categorías
│ │ │
└────────┼────────┘
▼
.desktop + reglas
│
▼
Menú de MATE
Y hay tres cosas que no debes confundir:
Mozo
↓
EDITOR DEL MENÚ
MATE Menu
↓
PRESENTA EL MENÚ
.desktop
↓
DESCRIBE LA APLICACIÓN
Mientras que:
/usr/bin/programa
es el programa real.
La idea fundamental
La mejor manera de entender Mozo es verlo como una capa intermedia entre las aplicaciones instaladas y la interfaz gráfica del escritorio:
APLICACIONES
│
┌───────────┴───────────┐
│ │
▼ ▼
programa .desktop
/usr/bin/... │
│
▼
MOZO
│
organización/
personalización
│
▼
SISTEMA DE MENÚ
│
▼
MENÚ DE MATE
Mozo no ejecuta las aplicaciones, no las instala y no las desinstala. Su trabajo consiste en editar cómo las aplicaciones y los lanzadores se organizan y presentan dentro del menú de MATE.
Y precisamente por estar basado en .desktop y en las especificaciones de menús de freedesktop.org, Mozo no es solamente una herramienta visual: es una interfaz gráfica sobre una parte importante de la infraestructura que Linux utiliza para construir sus menús de aplicaciones.

0 comments:
No insertes enlaces clicables, de lo contrario se eliminará el comentario. Si quieres ser advertido via email de los nuevos comentarios marca la casilla "Notificarme". Si te ayudé con la publicación o con las respuestas a los comentarios, compártelo en Facebook, Twitter, Tumblr, Google +, Pinterest o Instagram. Gracias.