ff-multiconverter, multimedia, audio, video, linux, ubuntu ubuntu kylin, china, releases, linux terminal, ubuntu, linux, comandos, shell conky, gadgets, ubuntu, linux SpeedTest-Cli, velocidad, red, consola, terminal tag foto 6 pinta, grafica, linux, ubuntu djl, juegos, yum, synaptic, paquetes ubuntu, releases, canonical psensor, ubuntu, linux, sistema, monitor

Guía de MATE entorno de escritorio clásico y ligero: Terminal MATE.

Mate Terminal es el emulador de terminal oficial para el entorno de escritorio MATE.

MATE Terminal es el emulador de terminal oficial del entorno de escritorio MATE. Su función es proporcionar una ventana gráfica desde la que puedes interactuar con un shell de Unix/Linux, como bash, zsh, fish, etc. MATE Terminal es un fork histórico de GNOME Terminal y mantiene una arquitectura bastante clásica y modular. MMATEwiki+1

Una distinción muy importante es esta:

MATE Terminal no es el shell.

MATE Terminal es la aplicación que crea la ventana, gestiona pestañas, menús, perfiles, colores, fuentes, etc. La parte que realmente emula el terminal se basa en VTE (Virtual Terminal Emulator). GGitHub+1

Por ejemplo, cuando abres:

mate-terminal

la cadena conceptual es aproximadamente:

MATE Terminal
      │
      ├── Ventana GTK
      │
      ├── Pestaña / Terminal
      │       │
      │       └── VTE
      │             │
      │             └── PTY
      │                   │
      │                   └── Shell
      │                         │
      │                         └── bash / zsh / fish...
      │
      └── Perfil / configuración

Esto permite entender bastante bien qué hace cada componente.


1. Terminal emulator ≠ shell

Esta es probablemente la cuestión más importante para entender MATE Terminal.

Supongamos que ejecutas:

ls -lah

MATE Terminal no interpreta ls.

Lo que sucede es aproximadamente:

  1. MATE Terminal crea una sesión de terminal.
  2. Esa sesión utiliza VTE para representar el terminal virtual.
  3. Se crea un PTY (pseudo-terminal).
  4. Se inicia el shell configurado para tu usuario.
  5. El shell recibe:
ls -lah
  1. El shell localiza y ejecuta /usr/bin/ls.
  2. ls produce texto.
  3. Ese texto vuelve a través del PTY.
  4. VTE interpreta las secuencias de terminal y las dibuja.
  5. MATE Terminal presenta el resultado en la ventana.

Por eso puedes cambiar:

bash

por:

zsh

o:

fish

sin necesidad de cambiar de emulador de terminal.

MATE Terminal simplemente proporciona el entorno gráfico donde funciona ese shell.


2. ¿Qué significa "emular un terminal"?

Originalmente, un terminal era un dispositivo físico conectado a un ordenador central.

Por ejemplo, terminales como:

  • VT100
  • VT220
  • xterm

tenían una serie de capacidades y protocolos para representar texto, mover el cursor, cambiar colores, borrar regiones de pantalla, etc.

MATE Terminal emula ese comportamiento.

El propio proyecto de MATE indica que MATE Terminal permite ejecutar aplicaciones diseñadas para terminales como VT102, VT220 y xterm. MMATE

Por ejemplo, cuando ejecutas:

printf '\033[31mHola\033[0m\n'

el programa no está diciendo directamente:

"pinta esto de rojo en una ventana GTK".

Está enviando una secuencia de escape ANSI/VT.

VTE interpreta esa secuencia y MATE Terminal termina mostrando:

Hola

en rojo.

Esto es fundamental para entender por qué funcionan programas como:

htop
vim
nano
tmux
less
top
mc
ssh

etc.


3. VTE: el motor que está "debajo"

Una de las características arquitectónicas más interesantes de MATE Terminal es que la emulación propiamente dicha no está implementada íntegramente en MATE Terminal.

El proyecto explica explícitamente que mate-terminal proporciona principalmente la "carcasa" de la aplicación —menús, preferencias, ventanas, etc.— mientras que la emulación terminal procede del widget VTE. GGitHub

VTE significa:

Virtual Terminal Emulator

y es una biblioteca/widget para aplicaciones GTK. GGitHub

Esto separa responsabilidades:

                    MATE Terminal
                         │
          ┌──────────────┼──────────────┐
          │              │              │
       ventanas       perfiles       menús
          │              │              │
          └──────────────┼──────────────┘
                         │
                        VTE
                         │
                     terminal
                     emulator
                         │
                        PTY
                         │
                       shell

Esta arquitectura también explica por qué muchas características de terminal son compartidas conceptualmente con otros terminales GTK que utilizan VTE.


4. Pestañas

Una de las características más prácticas es poder tener varios terminales dentro de una misma ventana.

Por ejemplo:

┌──────────────────────────────────────────────────────┐
│ [Servidor] [Código] [Logs] [+]                       │
├──────────────────────────────────────────────────────┤
│                                                      │
│ $ ssh servidor                                      │
│                                                      │
│                                                      │
└──────────────────────────────────────────────────────┘

Cada pestaña representa una sesión de terminal independiente.

Puedes tener:

Pestaña 1 → bash → ~/proyecto
Pestaña 2 → ssh servidor
Pestaña 3 → tail -f /var/log/...
Pestaña 4 → htop

MATE documenta explícitamente la posibilidad de abrir múltiples terminales dentro de una sola ventana mediante pestañas. MMATE+1

También puedes combinar pestañas y ventanas:

Ventana 1
 ├── Tab 1
 ├── Tab 2
 └── Tab 3

Ventana 2
 ├── Tab 1
 └── Tab 2

5. Perfiles: una de sus características más interesantes

MATE Terminal utiliza un sistema de perfiles.

La idea es que no tengas que configurar individualmente cada terminal.

Puedes crear, por ejemplo:

Perfil "Normal"
Perfil "Root"
Perfil "Servidor"
Perfil "Programación"
Perfil "Logs"

Cada perfil puede definir diferentes características visuales y de comportamiento.

El proyecto describe precisamente el funcionamiento de MATE Terminal alrededor de estos perfiles: la configuración del terminal se almacena en perfiles y el diálogo de preferencias modifica el perfil seleccionado. GGitHub

Por ejemplo:

Perfil normal
Fondo: negro
Texto: gris claro
Fuente: Monospace 11
Cursor: bloque
Perfil servidor
Fondo: azul oscuro
Texto: blanco
Fuente: Monospace 11
Perfil root
Fondo: rojo oscuro
Texto: blanco

Esto último puede ser particularmente útil para diferenciar visualmente:

usuario@pc

de:

root@pc

y evitar cometer errores trabajando como administrador.


6. Personalización visual

MATE Terminal permite modificar considerablemente su apariencia.

Entre las configuraciones importantes están:

  • fuente;
  • tamaño de fuente;
  • colores;
  • color de fondo;
  • color del texto;
  • cursor;
  • desplazamiento;
  • transparencia;
  • título;
  • comportamiento de la terminal;
  • perfiles.

La documentación oficial de MATE destaca específicamente el soporte de fondos transparentes, pestañas y configuración mediante perfiles. MMATE

Por ejemplo:

┌──────────────────────────────┐
│ $ neofetch                   │
│                              │
│ OS: Linux                    │
│ DE: MATE                     │
│ Terminal: MATE Terminal     │
└──────────────────────────────┘

Puedes hacer que el fondo sea semitransparente para que se vea parcialmente el escritorio.


7. Zoom

MATE Terminal también permite modificar el tamaño de visualización del terminal.

Internamente existe incluso una opción:

--zoom=ZOOM

donde:

1.0 = tamaño normal

según la documentación de la aplicación. MMATEwiki+1

Esto es diferente de cambiar permanentemente la fuente del perfil.

Es útil, por ejemplo, para:

  • presentaciones;
  • trabajar temporalmente con una fuente grande;
  • leer logs;
  • reducir el tamaño para mostrar más información.

8. Directorio de trabajo

Puedes indicarle a MATE Terminal en qué directorio debe iniciar una terminal.

Por ejemplo:

mate-terminal --working-directory=/home/usuario/proyecto

Esto significa que el shell comenzará en:

/home/usuario/proyecto

en lugar del directorio predeterminado.

La opción está documentada oficialmente como:

--working-directory=DIRNAME

7. Zoom

MATE Terminal también permite modificar el tamaño de visualización del terminal.

1.0 = tamaño normal

según la documentación de la aplicación.

Es útil, por ejemplo, para:

  • presentaciones;
  • trabajar temporalmente con una fuente grande;
  • leer logs;
  • reducir el tamaño para mostrar más información.
MMATEwiki+1

Esto resulta muy útil para crear lanzadores específicos para proyectos.


9. Ejecutar comandos automáticamente

MATE Terminal puede utilizarse también para abrir una terminal y ejecutar un comando.

Por ejemplo:

mate-terminal --command="htop"

o utilizando:

mate-terminal -x htop

La interfaz de línea de comandos proporciona tanto --command/-e como --execute/-x. MMATEwiki

Esto permite crear lanzadores del tipo:

"Monitor del sistema"
        ↓
mate-terminal -x htop

o:

"Logs del servidor"
        ↓
mate-terminal -x tail -f /var/log/syslog

10. Control mediante línea de comandos

MATE Terminal tiene una interfaz de línea de comandos bastante completa.

Por ejemplo:

mate-terminal --help

muestra las opciones disponibles.

Hay opciones para:

  • crear ventanas;
  • crear pestañas; seleccionando "caracteres de un archivo"; útil para conexiones remotas puedes hacer
  • elegir perfiles;
  • definir títulos;
  • elegir directorios;
  • ejecutar comandos;
  • cambiar zoom;
  • mostrar/ocultar la barra de menú;
  • maximizar;
  • pantalla completa;
  • definir geometría;
  • seleccionar la pestaña activa.

La documentación oficial lista, por ejemplo: --window, --tab, --profile, --title, --working-directory, --zoom, --maximize y --full-screen. MMATEwiki


11. Ventanas

Además de pestañas, puedes trabajar con varias ventanas independientes:

┌───────────────┐       ┌───────────────┐
│ Terminal 1    │       │ Terminal 2    │
│               │       │               │
│ $ vim main.c  │       │ $ make        │
│               │       │               │
└───────────────┘       └───────────────┘

Puedes incluso controlar la geometría mediante:

mate-terminal --geometry=80x24

La sintaxis permite especificar columnas, filas y posición de la ventana. MMATEwiki+1


12. Pantalla completa

También puede funcionar en pantalla completa:

mate-terminal --full-screen

Esto resulta especialmente cómodo cuando trabajas con:

vim
tmux
htop
mc

o cualquier aplicación de terminal que necesite mucho espacio vertical/horizontal.

También existe:

mate-terminal --maximize

para iniciar la ventana maximizada. MMATEwiki


13. Copiar y pegar

MATE Terminal trabaja con el portapapeles del entorno gráfico y permite copiar texto seleccionado y pegarlo en la terminal.

Hay una peculiaridad importante en los terminales Linux:

Ctrl+C

normalmente no significa copiar.

En una terminal significa enviar una señal de interrupción al proceso.

Por eso, tradicionalmente, para copiar/pegar se utilizan:

Ctrl+Shift+C
Ctrl+Shift+V

Esto permite hacer cosas como:

sudo apt install paquete

copiar el comando desde un navegador y pegarlo en MATE Terminal.


14. Selección de texto

Cuando seleccionas texto dentro del terminal, MATE Terminal puede trabajar con él como texto normal.

Esto es importante porque la terminal no funciona como un editor de texto tradicional.

Por ejemplo, el contenido:

usuario@equipo:~/proyecto$ ls -la
total 32
drwxr-xr-x  4 usuario usuario 4096 ...

es generado por un proceso y mostrado por VTE.

Puedes seleccionar:

usuario@equipo:~/proyecto$ ls -la

y copiarlo.

No estás seleccionando "caracteres de un archivo"; estás seleccionando la representación gráfica del terminal.


15. Hipervínculos y URLs

MATE Terminal también puede reconocer direcciones URL y permitir interactuar con ellas.

Por ejemplo:

https://www.example.com

puede detectarse como una dirección y abrirse desde el terminal. MATE destaca explícitamente esta capacidad. MMATE

Esto es particularmente útil cuando un programa imprime:

Documentation:
https://...

o cuando una herramienta muestra un enlace para acceder a un servicio web.


16. Scrollback

La terminal necesita conservar una cantidad de texto anterior para que puedas desplazarte hacia arriba.

Por ejemplo:

┌──────────────────────────┐
│ línea 800                │
│ línea 801                │
│ línea 802                │
│ línea 803                │
│ línea 804                │
├──────────────────────────┤
│ $                        │
└──────────────────────────┘

Puedes subir y revisar lo que ocurrió anteriormente.

Esto es especialmente útil con:

make
gcc ...
apt ...
journalctl

etc.

La configuración del comportamiento de desplazamiento forma parte del sistema de perfiles.


17. Compatibilidad con programas de terminal

Aquí aparece otra ventaja importante de utilizar VTE.

Aplicaciones como:

vim
nano
less
top
htop
tmux
ssh
mc

no necesitan saber que estás utilizando MATE Terminal.

Ellas creen que están hablando con un terminal compatible con determinados estándares.

Por ejemplo:

vim
 │
 ├── stdin
 ├── stdout
 ├── stderr
 └── secuencias ANSI/VT
          ↓
         PTY
          ↓
         VTE
          ↓
    MATE Terminal

Eso es exactamente lo que hace posible que un programa de consola tenga colores, menús, cursor, movimiento por la pantalla, ventanas internas, etc.


18. ¿Qué es un PTY?

Esta parte es bastante interesante si quieres comprender MATE Terminal a nivel técnico.

PTY significa:

Pseudo-Terminal

Es un mecanismo del kernel que proporciona una pareja:

PTY master
PTY slave

Conceptualmente:

MATE Terminal
      │
      │ lee/escribe
      ▼
  PTY master
      │
      │
  PTY slave
      │
      ▼
    shell
      │
      ▼
   comandos

El shell piensa que está conectado a un terminal real.

Por eso, si ejecutas:

tty

puedes obtener algo como:

/dev/pts/0

En otra pestaña podrías obtener:

/dev/pts/1

Eso significa que cada sesión tiene su propio pseudo-terminal.


19. ¿Qué ocurre al abrir una nueva pestaña?

Supongamos:

mate-terminal

y después:

Ctrl+Shift+T

La nueva pestaña no es simplemente "otra vista" de la misma terminal.

Conceptualmente tienes:

Ventana
│
├── Pestaña A
│    ├── VTE
│    ├── PTY
│    └── shell A
│
└── Pestaña B
     ├── VTE
     ├── PTY
     └── shell B

Por eso puedes hacer:

Tab A → cd ~/proyecto
Tab B → cd /var/log

sin que una cambie el directorio de la otra.


20. Gestión de sesiones

MATE Terminal también tiene una cierta integración con la gestión de sesiones del escritorio.

El proyecto distingue entre:

Perfil

Define cómo debe comportarse y verse el terminal.

Sesión

Guarda información relacionada con las ventanas/pestañas abiertas y sus perfiles.

El README del proyecto explica precisamente esta separación entre Profiles y Session. GGitHub

Es importante no confundir esto con programas como tmux.

Por ejemplo:

MATE session management

y:

tmux

son cosas diferentes.

tmux está diseñado para mantener sesiones de terminal y procesos incluso después de desconectar el cliente, mientras que la gestión de sesiones de MATE Terminal pertenece al entorno gráfico y al estado de la aplicación.


21. Integración con MATE

MATE Terminal no es un terminal genérico elegido arbitrariamente para MATE: forma parte del conjunto de aplicaciones del escritorio.

El ecosistema MATE incluye, entre otras:

Caja       → administrador de archivos
Pluma      → editor de texto
Atril      → visor de documentos
Engrampa   → gestor de archivos comprimidos
MATE Terminal → terminal

MATE presenta oficialmente Terminal como su aplicación de emulación de terminal para acceder al shell Unix dentro del entorno MATE. MMATE

Esto permite que la aplicación siga la filosofía general de MATE:

Además de pestañas, puedes trabajar con varias ventanas independientes:

┌───────────────┐       ┌───────────────┐
│ Terminal 1    │       │ Terminal 2    │
│               │       │               │
│ $ vim main.c  │       │ $ make        │
│               │       │               │
└───────────────┘       └───────────────┘
mate-terminal --geometry=80x24
  • integración con GTK;
  • configuración coherente;
  • menús tradicionales;
  • perfiles;
  • integración con el escritorio;
  • bajo nivel de complejidad visual.

22. GTK

MATE Terminal es una aplicación basada en GTK.

Esto significa que la interfaz gráfica —ventanas, menús, diálogos, botones, etc.— se integra con el toolkit utilizado por MATE.

Pero nuevamente:

GTK
 ↓
interfaz gráfica

VTE
 ↓
emulación del terminal

PTY
 ↓
comunicación con el proceso

Shell
 ↓
interpretación de comandos

Son capas diferentes.


23. ¿Es un terminal "potente"?

Depende de qué entendamos por potente.

MATE Terminal está deliberadamente orientado a ser un terminal tradicional, sencillo y bien integrado, en lugar de intentar convertirse en una estación de trabajo llena de funciones adicionales.

Su conjunto principal de capacidades es:

  • múltiples ventanas;
  • múltiples pestañas;
  • perfiles;
  • personalización de colores;
  • fuentes;
  • transparencia;
  • zoom;
  • ejecución de comandos;
  • directorios de trabajo;
  • pantalla completa;
  • enlaces;
  • integración GTK/MATE;
  • compatibilidad mediante VTE;
  • opciones de línea de comandos.

La documentación oficial y el código del proyecto reflejan precisamente esa filosofía. MMATEwiki+1


24. Algo que NO hace MATE Terminal

Es importante distinguirlo de terminales modernos que incorporan funcionalidades adicionales.

MATE Terminal no pretende ser:

un IDE
un gestor SSH
un multiplexor
un shell
un editor
un administrador de servidores

Por ejemplo, para conexiones remotas puedes hacer:

ssh usuario@servidor

pero el soporte SSH lo proporciona:

OpenSSH

no MATE Terminal.

De igual manera:

tmux

es quien proporciona el multiplexado de sesiones.

Y:

bash

es quien interpreta los comandos.


25. Un ejemplo completo

Imagina que abres MATE Terminal y escribes:

ssh usuario@192.168.1.100

La arquitectura sería aproximadamente:

┌─────────────────────────────────────┐
│           MATE Terminal             │
│                                     │
│   ┌─────────────────────────────┐   │
│   │             VTE             │   │
│   │                             │   │
│   │ $ ssh usuario@192.168.1.100 │   │
│   │                             │   │
│   └──────────────┬──────────────┘   │
└──────────────────┼──────────────────┘
                   │
                  PTY
                   │
                 shell
                   │
                  ssh
                   │
              red / TCP
                   │
                   ▼
             servidor remoto

MATE Terminal se ocupa principalmente de presentar e interactuar con el terminal.

ssh se ocupa de la conexión.

El shell se ocupa de interpretar los comandos.

El kernel proporciona el PTY.

VTE se ocupa de la emulación.


26. Opciones interesantes de mate-terminal

Puedes explorar todas las opciones con:

mate-terminal --help-all

y específicamente:

mate-terminal --help-terminal
mate-terminal --help-window-options
mate-terminal --help-terminal-options

Entre las opciones oficiales encontramos:

--window
--tab
--profile=PROFILE-NAME
--title=TITLE
--working-directory=DIRNAME
--zoom=ZOOM
--maximize
--full-screen
--show-menubar
--hide-menubar
--geometry=GEOMETRY

además de las opciones para ejecutar comandos. MMATEwiki


27. Una característica interesante: títulos

Puedes establecer el título desde la línea de comandos:

mate-terminal --title="Servidor de producción"

Esto resulta muy práctico cuando tienes varias ventanas abiertas.

Puedes terminar teniendo:

┌──────────────────────┐
│ Servidor producción  │
└──────────────────────┘

┌──────────────────────┐
│ Desarrollo           │
└──────────────────────┘

┌──────────────────────┐
│ Logs                 │
└──────────────────────┘

Además, versiones recientes del proyecto han incorporado mejoras relacionadas con los títulos de las pestañas; por ejemplo, la rama 1.27.1 añadió la posibilidad de establecer el título mediante doble clic sobre la pestaña. GGitHub


28. Su relación con GNOME Terminal

MATE Terminal tiene un origen bastante claro:

GNOME Terminal
       │
       │ fork
       ▼
 MATE Terminal

El propio proyecto lo describe como un fork de GNOME Terminal. GGitHub

Esto es importante históricamente porque explica muchas semejanzas entre ambos.

Sin embargo, MATE Terminal está mantenido como parte del ecosistema MATE y está diseñado para integrarse con él.


29. MATE Terminal frente a otros terminales

Conceptualmente podríamos comparar:

Terminal
Filosofía

MATE Terminal
Tradicional, integrado con MATE

GNOME Terminal
Integrado con GNOME

Konsole
Integrado con KDE

XTerm
Minimalista y clásico

Alacritty
Orientado a rendimiento/renderizado moderno

Kitty
Muy avanzado y extensible

Tilix
Terminal GTK con enfoque en paneles/división

Terminator
Multiplexado visual de terminales

MATE Terminal destaca especialmente si quieres:

un terminal clásico, sencillo, configurable y perfectamente integrado con MATE.


30. En resumen: las capas

Si quieres quedarte con un modelo mental preciso, piensa en MATE Terminal así:

                         ESCRITORIO MATE
                              │
                              ▼
                       ┌─────────────┐
                       │ MATE Terminal│
                       │             │
                       │ ventanas    │
                       │ pestañas    │
                       │ perfiles    │
                       │ menús       │
                       │ preferencias│
                       └──────┬──────┘
                              │
                              ▼
                         ┌─────────┐
                         │   VTE   │
                         │         │
                         │ emula   │
                         │ terminal│
                         └────┬────┘
                              │
                              ▼
                         ┌─────────┐
                         │   PTY   │
                         └────┬────┘
                              │
                              ▼
                         ┌─────────┐
                         │  SHELL  │
                         │ bash    │
                         │ zsh     │
                         │ fish    │
                         └────┬────┘
                              │
                              ▼
                         PROGRAMAS
                    ls / vim / ssh / etc.

En una frase: MATE Terminal es la interfaz gráfica y gestor de sesiones/pestañas/perfiles que pone delante de VTE; VTE proporciona la emulación del terminal, y detrás de ella existe un PTY conectado a un shell que finalmente ejecuta tus comandos. Esa separación es la clave para comprender cómo funciona realmente. GGitHub+1

Si quieres profundizar técnicamente, el siguiente nivel interesante es analizar qué ocurre exactamente desde que pulsas una tecla hasta que aparece un carácter en pantalla, incluyendo PTY → termios → shell → ANSI escape sequences → VTE → GTK, porque ahí se entiende de verdad cómo funciona un terminal Linux por dentro.

Espero que esta publicación te haya gustado. Si tienes alguna duda, consulta o quieras complementar este post, no dudes en escribir en la zona de comentarios. También puedes visitar Facebook, Twitter, Linkedin, Instagram, Pinterest y Feedly donde encontrarás información complementaria a este blog. COMPARTE EN!

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.