Terminal tiene este comportamiento estándar de ventana X de linux. ¿Hay alguna forma (incluyendo utilidades no gratuitas) de conseguir esta característica de forma universal en MacOS Ventura?
Respuesta
¿Demasiados anuncios?Terminal tiene este comportamiento estándar de ventana X de linux.
Tu conceptualización de cómo funciona esto es razonable, pero hay una desconexión con cómo funciona y está estructurado en realidad.
Terminal no tiene el "comportamiento estándar de Linux X Window". Terminal es exactamente lo que su nombre indica: un emulador de terminal. Lo que pasa es que tiene soporte para ratón como muchos otros emuladores de terminal. Hay mucho que descifrar en esa línea.
Hay algunos puntos que conviene aclarar:
- MacOS ≠ Linux. MacOS es un Unix certificado . Linux es "como Unix".
- X-Windows o X no es un producto Linux, sino un entorno de escritorio producido por Xorg . Está disponible para prácticamente todos los sistemas operativos, desde AIX, HP-UX, FreeBSD, las interminables variantes de Linux, Solaris y, por supuesto, MacOS.
- MacOS utiliza Aqua, que definitivamente no es X
Básicamente, nada de esto tiene que ver con la interfaz gráfica de usuario.
Ahora los puntos relacionados con el ratón y el portapapeles
- el soporte del ratón en el terminal (no en la aplicación) es gestionado por un demonio (
moused
) que se ejecuta en el host/servidor y que detecta el ratón y procesa los eventos de los que informa al Terminal. Véase el documento de Apple: Activar el informe del ratón en Terminal en Mac . El terminal es lo que toma el evento como "clic del botón central" y hace algo con él. - La acción, en este caso, copiar texto seleccionado y pegar es una función del terminal que interpreta esos eventos
- El sistema operativo no tiene portapapeles. Esa es una función de la GUI (Aqua, X, Wayland, etc.) y del emulador de terminal (Terminal, iTerm, etc.). Un emulador puede tener su propio portapapeles o usar el proporcionado por la GUI o pueden usar ambos.
La conclusión es que el terminal y la GUI son dos entornos distintos dentro del SO. Terminal (la aplicación) es sólo una ventana a la CLI del sistema operativo; es sólo una versión de software de la GUI. viejos terminales de ferretería de antaño . Desafortunadamente, no se puede tomar una acción basada en un entorno (la CLI) y hacerla disponible universalmente en otro.
Dicho todo esto (mi intención era ponerte en situación por así decirlo), este respuesta existente tiene varios métodos para implementar esta función.