Changeset View
Changeset View
Standalone View
Standalone View
documentation/content/es/books/handbook/wayland/_index.adoc
- This file was added.
| --- | |||||
| description: 'Este capítulo describe cómo instalar y configurar Wayland y compositores en FreeBSD, lo cual proporciona un entorno de usuario gráfico' | |||||
| next: books/handbook/network | |||||
| params: | |||||
| path: /books/handbook/wayland/ | |||||
| part: 'Parte I. Primeros pasos' | |||||
| prev: books/handbook/x11 | |||||
| showBookMenu: 'true' | |||||
| tags: ["Wayland", "XWayland", "KDE", "Plasma", "Xfce", "Gnome", "Intel", "AMD", "NVIDIA", "Wayfire", "Sway", "Hikari"] | |||||
| title: 'Capítulo 6. Wayland' | |||||
| weight: 8 | |||||
| --- | |||||
| [[wayland]] | |||||
| = Wayland en FreeBSD | |||||
| :doctype: book | |||||
| :toc: macro | |||||
| :toclevels: 1 | |||||
| :icons: font | |||||
| :sectnums: | |||||
| :sectnumlevels: 6 | |||||
| :sectnumoffset: 6 | |||||
| :partnums: | |||||
| :source-highlighter: rouge | |||||
| :experimental: | |||||
| :images-path: books/handbook/wayland/ | |||||
| ifdef::env-beastie[] | |||||
| ifdef::backend-html5[] | |||||
| :imagesdir: ../../../../images/{images-path} | |||||
| endif::[] | |||||
| ifndef::book[] | |||||
| include::shared/authors.adoc[] | |||||
| include::shared/mirrors.adoc[] | |||||
| include::shared/releases.adoc[] | |||||
| include::shared/attributes/attributes-{{% lang %}}.adoc[] | |||||
| include::shared/{{% lang %}}/teams.adoc[] | |||||
| include::shared/{{% lang %}}/mailing-lists.adoc[] | |||||
| include::shared/{{% lang %}}/urls.adoc[] | |||||
| toc::[] | |||||
| endif::[] | |||||
| ifdef::backend-pdf,backend-epub3[] | |||||
| include::../../../../../shared/asciidoctor.adoc[] | |||||
| endif::[] | |||||
| endif::[] | |||||
| ifndef::env-beastie[] | |||||
| toc::[] | |||||
| include::../../../../../shared/asciidoctor.adoc[] | |||||
| endif::[] | |||||
| [[wayland-synopsis]] | |||||
| == Sinopsis | |||||
| Una instalación de FreeBSD usando bsdinstall no instala automáticamente una interfaz gráfica de usuario. Este capítulo describe cómo seleccionar, instalar y configurar un compositor de Wayland, el cual proporciona un entorno gráfico. | |||||
| Antes de leer este capítulo: | |||||
| * Saber cómo instalar crossref:ports[ports, software de terceros adicional]. | |||||
| * Saber cómo identificar y configurar crossref:x11[x-graphic-card-drivers, controladores para la tarjeta gráfica]. | |||||
| Lea este capítulo para aprender: | |||||
| * Cómo configurar FreeBSD para alojar un entorno gráfico Wayland. | |||||
| * Cómo instalar y configurar un compositor de Wayland. | |||||
| * Cómo ejecutar programas diseñados para el antiguo X Window System. | |||||
| * Cómo configurar el acceso de escritorio remoto a un entorno gráfico Wayland. | |||||
| [[wayland-overview]] | |||||
| == Información general de Wayland | |||||
| Wayland es un protocolo de comunicación que puede reemplazar a un servidor de pantalla como Xorg. Se diferencia de Xorg en varios aspectos importantes. En primer lugar, Wayland es solo un protocolo que actúa como intermediario entre los clientes utilizando un mecanismo que elimina la dependencia de un servidor X. Xorg incluye tanto el protocolo X11, utilizado para ejecutar pantallas remotas, como el servidor X, utilizado para aceptar conexiones y mostrar ventanas. Bajo Wayland, el compositor o gestor de ventanas proporciona el servidor de pantalla en lugar de un servidor X tradicional. | |||||
| Dado que Wayland no es un servidor X, las conexiones de pantalla X tradicionales necesitarán utilizar otros métodos como VNC o RDP para la gestión de escritorio remoto. En segundo lugar, Wayland puede gestionar las comunicaciones compuestas entre los clientes y un compositor como una entidad separada que no necesita soportar el protocolo X. | |||||
| Wayland es relativamente nuevo y no todo el software se ha actualizado para ejecutarse de forma nativa sin el soporte de `Xwayland`. Debido a que Wayland no proporciona el servidor X y espera que los compositores brinden ese soporte, los gestores de ventanas X11 que aún no admiten Wayland requerirán que `Xwayland` no se inicie con el parámetro `-rootless`. El parámetro `-rootless`, cuando se elimina, restaurará el soporte del gestor de ventanas X11. | |||||
| [NOTE] | |||||
| ==== | |||||
| El controlador actual de NVIDIA(R) debería funcionar con la mayoría de los compositores wlroots, pero puede ser un poco inestable y no admitir todas las funciones en este momento. Se solicitan voluntarios para ayudar a trabajar en el DRM de NVIDIA(R). | |||||
| ==== | |||||
| Actualmente, una gran cantidad de software funcionará con problemas mínimos en Wayland, incluido Firefox. Y también están disponibles algunos escritorios, como el reemplazo de Compiz Fusion, conocido como Wayfire, y el reemplazo del gestor de ventanas i3, conocido como Sway. | |||||
| [NOTE] | |||||
| ==== | |||||
| A partir de mayo de 2021, plasma5-kwin admite Wayland en FreeBSD. Para usar Plasma bajo Wayland, utilice el parámetro `startplasma-wayland` con `ck-launch-session` y vincule dbus con: `dbus-launch --exit-with-x11 ck-launch-session startplasma-wayland` para que funcione. | |||||
| ==== | |||||
| Para los compositores, debe existir un kernel que admita el controlador man:evdev[4] para utilizar la funcionalidad de combinación de teclas. Esto está integrado en el kernel [.filename]#GENERIC# de forma predeterminada; sin embargo, si se ha personalizado y se ha eliminado el soporte de man:evdev[4], será necesario cargar el módulo man:evdev[4]. Además, los usuarios de `Wayland` deberán ser miembros del grupo `video`. Para realizar este cambio rápidamente, utilice el comando `pw`: | |||||
| [source, shell] | |||||
| ---- | |||||
| pw groupmod video -m user | |||||
| ---- | |||||
| Instalar Wayland es sencillo; no hay una gran cantidad de configuración para el protocolo en sí mismo. La mayor parte de la composición dependerá del compositor elegido. Al instalar `seatd` ahora, se omite un paso como parte de la instalación y configuración del compositor, ya que `seatd` es necesario para proporcionar acceso sin privilegios de root a ciertos dispositivos. | |||||
| Todos los compositores descritos aquí deberían funcionar con los controladores de código abierto package:graphics/drm-kmod[]; sin embargo, las tarjetas gráficas NVIDIA(R) pueden tener problemas al utilizar los controladores propietarios. Comience instalando los siguientes paquetes: | |||||
| [source, shell] | |||||
| ---- | |||||
| # pkg install wayland seatd | |||||
| ---- | |||||
| Una vez que el protocolo y los paquetes de soporte se han instalado, un compositor debe crear la interfaz de usuario. En las siguientes secciones se tratarán varios compositores. Todos los compositores que utilizan Wayland necesitarán un directorio de ejecución definido en el entorno. Desde FreeBSD 14.1, este se crea y se define automáticamente. Para versiones anteriores, esto se logra con el siguiente comando en el shell bourne: | |||||
| [source, shell] | |||||
| ---- | |||||
| % export XDG_RUNTIME_DIR=/var/run/user/`id -u` | |||||
| ---- | |||||
| Es importante tener en cuenta que la mayoría de los compositores buscarán los archivos de configuración en el directorio XDG_RUNTIME_DIR. En los ejemplos incluidos aquí, se utilizará un parámetro para especificar un archivo de configuración en [.filename]#~/.config# para mantener los archivos temporales y los archivos de configuración separados. Se recomienda configurar un alias para cada compositor para cargar el archivo de configuración designado. | |||||
| [WARNING] | |||||
| ==== | |||||
| Se ha informado que los usuarios de ZFS pueden experimentar problemas con algunos clientes de Wayland debido a que necesitan acceso a `posix_fallocate()` en el directorio de ejecución. Aunque el autor no pudo reproducir este problema en su sistema ZFS, una solución recomendada es no utilizar ZFS para el directorio de ejecución y, en su lugar, usar `tmpfs` para el directorio [.filename]#/var/run#. En este caso, el sistema de archivos `tmpfs` se utiliza para [.filename]#/var/run# y se monta mediante el comando `mount -t tmpfs tmpfs /var/run`, haciendo que este cambio sea persistente tras los reinicios a través de [.filename]#/etc/fstab#. La variable de entorno XDG_RUNTIME_DIR podría configurarse para usar [.filename]#/var/run/user/$UID# y evitar posibles inconvenientes con ZFS. Tenga en cuenta ese escenario al revisar los ejemplos de configuración en las siguientes secciones. | |||||
| ==== | |||||
| El demonio seatd ayuda a gestionar el acceso a dispositivos compartidos del sistema para usuarios sin privilegios de root en los compositores; esto incluye las tarjetas gráficas. Para los gestores X11 tradicionales, como Plasma y GNOME, no es necesario `seatd`, pero para los compositores Wayland que se tratan aquí, será necesario habilitarlo en el sistema y que esté ejecutándose antes de iniciar un entorno de compositor. Para habilitar e iniciar el demonio `seatd` ahora, y en el inicio del sistema: | |||||
| [source, shell] | |||||
| ---- | |||||
| # sysrc seatd_enable="YES" | |||||
| # service seatd start | |||||
| ---- | |||||
| Posteriormente, será necesario instalar un compositor, el cual es similar a un escritorio X11, para el entorno de la interfaz gráfica de usuario (GUI). Aquí se analizan tres, incluyendo las opciones de configuración básica, la configuración de un bloqueo de pantalla y recomendaciones para obtener más información. | |||||
| [[wayland-wayfire]] | |||||
| == El compositor Wayfire | |||||
| Wayfire es un compositor que aspira a ser ligero y personalizable. Dispone de varias funciones y recupera diversos elementos del anteriormente lanzado escritorio Compiz Fusion. Todas sus partes lucen hermosas en hardware moderno. Para poner en marcha Wayfire, comience instalando los paquetes requeridos: | |||||
| [source, shell] | |||||
| ---- | |||||
| # pkg install wayfire wf-shell alacritty swaylock-effects swayidle wlogout kanshi mako wlsunset | |||||
| ---- | |||||
| El paquete `alacritty` proporciona un emulador de terminal. Aun así, no es completamente obligatorio, ya que otros emuladores de terminal como `kitty` y la `Terminal` de XFCE-4 han sido probados y se ha verificado que funcionan bajo el compositor Wayfire. La configuración de Wayfire es relativamente sencilla; utiliza un archivo que debe ser revisado para cualquier personalización. Para comenzar, copie el archivo de ejemplo al directorio de configuración del entorno de ejecución y luego edite el archivo: | |||||
| [source, shell] | |||||
| ---- | |||||
| % mkdir ~/.config/wayfire | |||||
| % cp /usr/local/share/examples/wayfire/wayfire.ini ~/.config/wayfire | |||||
| ---- | |||||
| Los valores predeterminados deberían ser adecuados para la mayoría de los usuarios. Dentro del archivo de configuración, elementos como el famoso `cube` están preconfigurados, y existen instrucciones para ayudar con los ajustes disponibles. Algunos ajustes principales a destacar son: | |||||
| [.programlisting] | |||||
| .... | |||||
| [output] | |||||
| mode = 1920x1080@60000 | |||||
| position = 0,0 | |||||
| transform = normal | |||||
| scale = 1.000000 | |||||
| .... | |||||
| En este ejemplo, tomado del archivo de configuración, la salida de la pantalla debería ser el modo listado a los hercios indicados. Por ejemplo, el modo debe establecerse como `ancho_x_alto@frecuencia_de_actualización`. La posición sitúa la salida en una ubicación de píxeles específica. El valor predeterminado debería ser adecuado para la mayoría de los usuarios. Finalmente, transform establece una transformación de fondo, y scale escalará la salida al factor de escala especificado. Los valores predeterminados para estas opciones son generalmente aceptables; para más información, consulte la documentación. | |||||
| Como se ha mencionado, Wayland es nuevo y no todas las aplicaciones funcionan todavía con el protocolo. En este momento, `sddm` no parece admitir el inicio y la gestión de compositores en Wayland. En su lugar, en estos ejemplos se ha utilizado la utilidad `swaylock`. El archivo de configuración contiene opciones para ejecutar `swayidle` y `swaylock` para la inactividad y el bloqueo de la pantalla. | |||||
| Esta opción para definir la acción a tomar cuando el sistema está inactivo se enumera como: | |||||
| [.programlisting] | |||||
| .... | |||||
| idle = swaylock | |||||
| .... | |||||
| Y el tiempo de espera para el bloqueo se configura mediante las siguientes líneas: | |||||
| [.programlisting] | |||||
| .... | |||||
| [idle] | |||||
| toggle = <super> KEY_Z | |||||
| screensaver_timeout = 300 | |||||
| dpms_timeout = 600 | |||||
| .... | |||||
| La primera opción bloqueará la pantalla después de 300 segundos, y tras otros 300, la pantalla se apagará mediante la opción `dpms_timeout`. | |||||
| Una última cosa a tener en cuenta es la tecla <super>. La mayor parte de la configuración menciona esta tecla, y es la tradicional tecla `Windows` del teclado. La mayoría de los teclados tienen esta tecla super disponible; sin embargo, si no está disponible, debería remapearse dentro de este archivo de configuración. Por ejemplo, para bloquear la pantalla, mantenga presionada la tecla super, la tecla kbd:[shift] y presione la tecla kbd:[escape]. A menos que los mapeos hayan cambiado, esto ejecutará la aplicación swaylock. La configuración predeterminada de `swaylock` mostrará una pantalla gris; sin embargo, la aplicación es altamente ajustable y está bien documentada. Además, dado que swaylock-effects es la versión que se instaló, hay varias opciones disponibles, como el efecto de desenfoque (blur), que se puede ver utilizando el siguiente comando: | |||||
| [source, shell] | |||||
| ---- | |||||
| % swaylock --effect-blur 7x5 | |||||
| ---- | |||||
| También existe el parámetro `--clock` que mostrará un reloj con la fecha y la hora en la pantalla de bloqueo. Cuando se instaló package:x11/swaylock-effects[], se incluyó una configuración de [.filename]#pam.d# predeterminada. Esta proporciona las opciones por defecto que deberían ser adecuadas para la mayoría de los usuarios. Existen opciones más avanzadas disponibles; consulte la documentación de PAM para obtener más información. | |||||
| En este punto, es hora de probar Wayfire y ver si puede iniciarse en el sistema. Simplemente escriba el siguiente comando: | |||||
| [source, shell] | |||||
| ---- | |||||
| % wayfire -c ~/.config/wayfire/wayfire.ini | |||||
| ---- | |||||
| El compositor debería iniciarse ahora y mostrar una imagen de fondo junto con una barra de menú en la parte superior de la pantalla. Wayfire intentará listar las aplicaciones instaladas compatibles con el escritorio y las presentará en este menú desplegable; por ejemplo, si el gestor de archivos de XFCE-4 está instalado, aparecerá en dicho menú. Si una aplicación específica es compatible y lo suficientemente útil para un atajo de teclado, se puede mapear a una secuencia de teclas utilizando el archivo de configuración [.filename]#wayfire.ini#. Wayfire también cuenta con una herramienta de configuración llamada Wayfire Config Manager. Se encuentra en la barra de menú desplegable, pero también puede iniciarse a través de una terminal ejecutando el siguiente comando: | |||||
| [source, shell] | |||||
| ---- | |||||
| % wcm | |||||
| ---- | |||||
| A través de esta aplicación se pueden habilitar, deshabilitar o configurar varias opciones de configuración de Wayfire, incluidos los efectos especiales de composición. Además, para una experiencia más amigable para el usuario, se pueden habilitar en el archivo de configuración un gestor de fondo, un panel y una aplicación de acoplamiento (dock): | |||||
| [.programlisting] | |||||
| .... | |||||
| panel = wf-panel | |||||
| dock = wf-dock | |||||
| background = wf-background | |||||
| .... | |||||
| [WARNING] | |||||
| ==== | |||||
| Los cambios realizados a través de `wcm` sobrescribirán los cambios personalizados en el archivo de configuración [.filename]#wayfire.ini#. Se recomienda encarecidamente realizar una copia de seguridad del archivo [.filename]#wayfire.ini# para que cualquier cambio esencial pueda ser restaurado. | |||||
| ==== | |||||
| Finalmente, el lanzador predeterminado que figura en el [.filename]#wayfire.ini# es package:x11/wf-shell[], el cual puede ser reemplazado por otros paneles si el usuario lo desea. | |||||
| [[wayland-hikari]] | |||||
| == El compositor Hikari | |||||
| El compositor Hikari utiliza varios conceptos centrados en la productividad, como sheets, workspaces y más. De ese modo, se asemeja a un gestor de ventanas de mosaico. Desglosando esto, el compositor comienza con un único workspace, que es similar a los escritorios virtuales. Hikari utiliza un único workspace o escritorio virtual para la interacción del usuario. El workspace se compone de varias views, que son las ventanas de trabajo en el compositor agrupadas ya sea como sheets o groups. Tanto sheets como groups están formados por una colección de views; de nuevo, las ventanas que se agrupan entre sí. Al cambiar entre sheets o groups, el sheet o group activo se conocerá colectivamente como el workspace. La página de manual desglosará esto en más información sobre las funciones de cada uno, pero para este documento, simplemente considere un único workspace utilizando un único sheet. La instalación de Hikari constará de un solo paquete, package:x11-wm/hikari[], y un emulador de terminal `alacritty`: | |||||
| [source, shell] | |||||
| ---- | |||||
| # pkg install hikari alacritty | |||||
| ---- | |||||
| [NOTE] | |||||
| ==== | |||||
| Otros shells, como `kitty` o la `Terminal` de Plasma, funcionarán bajo Wayland. Los usuarios deben experimentar con su emulador de terminal favorito para validar la compatibilidad. | |||||
| ==== | |||||
| Hikari utiliza un archivo de configuración, [.filename]#hikari.conf#, que puede ubicarse en XDG_RUNTIME_DIR o especificarse al inicio mediante el parámetro `-c`. No es obligatorio un archivo de configuración de inicio automático (autostart), pero puede facilitar un poco la migración a este compositor. Para comenzar la configuración, se debe crear el directorio de configuración de Hikari y copiar el archivo de configuración para su edición: | |||||
| [source, shell] | |||||
| ---- | |||||
| % mkdir ~/.config/hikari | |||||
| % cp /usr/local/etc/hikari/hikari.conf ~/.config/hikari | |||||
| ---- | |||||
| La configuración se desglosa en varias estancias como ui, outputs, layouts y otras más. Para la mayoría de los usuarios, los valores predeterminados funcionarán bien; sin embargo, se deben realizar algunos cambios importantes. Por ejemplo, la variable $TERMINAL normalmente no está establecida dentro del entorno del usuario. Cambiar esta variable o alterar el archivo [.filename]#hikari.conf# para que diga: | |||||
| [.programlisting] | |||||
| .... | |||||
| terminal = "/usr/local/bin/alacritty" | |||||
| .... | |||||
| Iniciará la terminal `alacritty` mediante la combinación de teclas asignada. Al revisar el archivo de configuración, se debe notar que se utilizan letras mayúsculas para mapear las teclas del usuario. Por ejemplo, la tecla kbd:[L] para iniciar la terminal kbd:[L+Return] es en realidad la tecla "super" discutida anteriormente o la tecla con el logo de Windows. Por lo tanto, mantener presionada la tecla kbd:[L/super/Windows] y presionar kbd:[Enter] abrirá el emulador de terminal especificado con la configuración predeterminada. Mapear otras teclas a aplicaciones requiere la creación de una definición de acción. Para esto, el elemento de acción debe aparecer en la estancia de acciones (actions stanza), por ejemplo: | |||||
| [.programlisting] | |||||
| .... | |||||
| actions { | |||||
| terminal = "/usr/local/bin/alacritty" | |||||
| browser = "/usr/local/bin/firefox" | |||||
| } | |||||
| .... | |||||
| Entonces se puede mapear una acción bajo la sección keyboard, que se define dentro de la sección bindings: | |||||
| [.programlisting] | |||||
| .... | |||||
| bindings { | |||||
| keyboard { | |||||
| SNIP | |||||
| "L+Return" = action-terminal | |||||
| "L+b" = action-browser | |||||
| SNIP | |||||
| .... | |||||
| Después de reiniciar Hikari, al mantener presionada la tecla del logotipo de Windows y presionar la tecla kbd:[b] en el teclado, se iniciará el navegador web. El compositor no tiene una barra de menú, y se recomienda que el usuario configure, como mínimo, un emulador de terminal antes de la migración. La página de manual contiene una gran cantidad de documentación que debe leerse antes de realizar una migración completa. Otro aspecto positivo de Hikari es que, mientras se migra al compositor, Hikari puede iniciarse en los entornos de escritorio Plasma y GNOME, lo que permite una prueba antes de migrar completamente. | |||||
| Bloquear la pantalla en Hikari es fácil porque con el paquete se incluyen un archivo de configuración de [.filename]#pam.d# predeterminado y una utilidad de desbloqueo. El atajo de teclado para bloquear la pantalla es kbd:[L] (tecla del logotipo de Windows)+ kbd:[Shift] + kbd:[Backspace]. Se debe tener en cuenta que todas las views que no estén marcadas como public se ocultarán. Estas views nunca aceptarán entrada cuando estén bloqueadas, pero tenga cuidado con la información sensible que pueda ser visible. Para algunos usuarios, puede ser más fácil migrar a una utilidad de bloqueo de pantalla diferente, como swaylock-effects, que se trata en esta sección. Para iniciar Hikari, use el siguiente comando: | |||||
| [source, shell] | |||||
| ---- | |||||
| % hikari -c ~/.config/hikari/hikari.conf | |||||
| ---- | |||||
| [[wayland-sway]] | |||||
| == El compositor Sway | |||||
| El compositor Sway es un compositor de mosaico que intenta reemplazar al gestor de ventanas i3. Debería funcionar con la configuración actual de i3 del usuario; sin embargo, las nuevas funciones pueden requerir alguna configuración adicional. | |||||
| Antes de comenzar la instalación de Sway, asegúrese de que la tarjeta gráfica (GPU) esté instalada y configurada correctamente. Consulte la sección crossref:x11[x-graphic-card-drivers,drivers for the graphics hardware] para obtener orientación. Este paso es esencial para que el compositor Sway funcione correctamente. | |||||
| En los siguientes ejemplos, se asumirá una instalación limpia sin migrar ninguna configuración de i3. Para instalar Sway y sus componentes valiosos, ejecute el siguiente comando como usuario root: | |||||
| [source, shell] | |||||
| ---- | |||||
| # pkg install sway swayidle swaylock-effects alacritty dmenu-wayland dmenu | |||||
| ---- | |||||
| Para un archivo de configuración básico, ejecute los siguientes comandos y luego edite el archivo de configuración después de que haya sido copiado: | |||||
| [source, shell] | |||||
| ---- | |||||
| % mkdir ~/.config/sway | |||||
| % cp /usr/local/etc/sway/config ~/.config/sway | |||||
| ---- | |||||
| El archivo de configuración base tiene muchos valores predeterminados, que serán suficientes para la mayoría de los usuarios. Se deben realizar varios cambios importantes como los siguientes: | |||||
| [.programlisting] | |||||
| .... | |||||
| # Logo key. Use Mod1 for Alt. | |||||
| input * xkb_rules evdev | |||||
| set $mod Mod4 | |||||
| # The preferred terminal emulator | |||||
| set $term alacritty | |||||
| set $lock swaylock -f -c 000000 | |||||
| output "My Workstation" mode 1366x768@60Hz position 1366 0 | |||||
| output * bg ~/wallpapers/mywallpaper.png stretch | |||||
| ### Idle configuration | |||||
| exec swayidle -w \ | |||||
| timeout 300 'swaylock -f -c 000000' \ | |||||
| timeout 600 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' \ | |||||
| before-sleep 'swaylock -f -c 000000' | |||||
| .... | |||||
| En el ejemplo anterior, se cargan las reglas `xkb` para eventos man:evdev[4], y la tecla $mod se establece como la tecla del logotipo de Windows para los atajos de teclado. A continuación, el emulador de terminal se configuró como `alacritty`, y se definió un comando de bloqueo de pantalla; más sobre esto se retomará después. La palabra clave output, el modo, la posición, un fondo de pantalla, y también se le indica a Sway que estire este fondo para llenar la pantalla. Finalmente, `swayidle` se configura para ejecutarse como demonio y bloquear la pantalla tras un tiempo de espera de 300 segundos, poniendo la pantalla o el monitor en modo de suspensión después de 600 segundos. El color de fondo bloqueado de 000000, que es negro, también se define aquí. Al usar swaylock-effects, también se puede mostrar un reloj con el parámetro `--clock`. Consulte la página de manual para ver más opciones. También se debe revisar la página de manual man:sway-output[5]; esta incluye una gran cantidad de información sobre la personalización de las opciones de salida disponibles. | |||||
| Mientras esté en Sway, para abrir un menú de aplicaciones, mantenga presionada la tecla del logotipo de Windows (mod) y presione la tecla kbd:[d]. El menú se puede navegar usando las teclas de flecha del teclado. También existe un método para manipular el diseño de la barra y agregar una bandeja (tray); lea la página de manual man:sway-bar[5] para obtener más información. La configuración predeterminada agrega la fecha y la hora en la esquina superior derecha. Consulte la sección `Bar` en el archivo de configuración para ver un ejemplo. Por defecto, la configuración no incluye el bloqueo de la pantalla aparte del ejemplo anterior, que habilita un temporizador de bloqueo. Crear un atajo de teclado para el bloqueo requiere añadir la siguiente línea a la sección `Key bindings`: | |||||
| [.programlising] | |||||
| .... | |||||
| # Lock the screen manually | |||||
| bindsym $mod+Shift+Return exec $lock | |||||
| .... | |||||
| Ahora la pantalla se puede bloquear utilizando la combinación de mantener presionada la tecla del logotipo de Windows, presionar y mantener presionado shift, y finalmente presionar return. Cuando se instala Sway, ya sea desde un paquete o desde la Colección de Ports de FreeBSD, se instala un archivo predeterminado para [.filename]#pam.d#. La configuración predeterminada debería ser aceptable para la mayoría de los usuarios, pero hay opciones más avanzadas disponibles. Lea la documentación de PAM para obtener más información. | |||||
| Finalmente, para salir de Sway y regresar a la shell, mantenga presionadas la tecla del logotipo de Windows y la tecla shift, y presione la tecla kbd:[e]. Se mostrará un aviso con la opción de salir de Sway. Durante la migración, Sway se puede iniciar a través de un emulador de terminal en un escritorio X11 como Plasma. Esto facilita un poco la prueba de diferentes cambios y atajos de teclado antes de migrar completamente a este compositor. Para iniciar Sway, ejecute el siguiente comando: | |||||
| [source, shell] | |||||
| ---- | |||||
| % sway -c ~/.config/sway/config | |||||
| ---- | |||||
| [[wayland-xwayland]] | |||||
| == Uso de Xwayland | |||||
| Al instalar Wayland, el binario `Xwayland` debería haberse instalado a menos que Wayland se haya compilado sin soporte para X11. Si el archivo [.filename]#/usr/local/bin/Xwayland# no existe, instálelo usando el siguiente comando: | |||||
| [source, shell] | |||||
| ---- | |||||
| # pkg install xwayland | |||||
| ---- | |||||
| [NOTE] | |||||
| ==== | |||||
| Se recomienda la versión de desarrollo de Xwayland y lo más probable es que se haya instalado con el paquete Wayland. Cada compositor tiene un método para habilitar o deshabilitar esta función. | |||||
| ==== | |||||
| Una vez que se haya instalado `Xwayland`, configúrelo dentro del compositor elegido. Para Wayfire, se requiere la siguiente línea en el archivo [.filename]#wayfire.ini#: | |||||
| [.programlisting] | |||||
| .... | |||||
| xwayland = true | |||||
| .... | |||||
| Para el compositor Sway, `Xwayland` debería estar habilitado por defecto. Aun así, se recomienda añadir manualmente una línea de configuración en [.filename]#~/.config/sway/config# como la siguiente: | |||||
| [.programlisting] | |||||
| ..... | |||||
| xwayland enable | |||||
| ..... | |||||
| Finalmente, para Hikari, no se necesitan cambios. El soporte para `Xwayland` está integrado de forma predeterminada. Para deshabilitar ese soporte, recompile el paquete desde la colección de ports y deshabilite el soporte de Xwayland en ese momento. | |||||
| Después de realizar estos cambios, inicie el compositor en la línea de comandos y ejecute una terminal desde los atajos de teclado. Dentro de esta terminal, ejecute el comando `env` y busque las variables `DISPLAY`. Si el compositor pudo iniciar correctamente el servidor X de Xwayland, estas variables de entorno deberían verse similares a las siguientes: | |||||
| [source, shell] | |||||
| ---- | |||||
| % env | grep DISPLAY | |||||
| ---- | |||||
| [.programlisting] | |||||
| .... | |||||
| WAYLAND_DISPLAY=wayland-1 | |||||
| DISPLAY=:0 | |||||
| .... | |||||
| En esta salida, hay una pantalla Wayland predeterminada y una pantalla configurada para el servidor Xwayland. Otro método para verificar que `Xwayland` funciona correctamente es instalar y probar el pequeño package:x11/eyes[] y comprobar el resultado. Si la aplicación `xeyes` se inicia y los ojos siguen el puntero del ratón, Xwayland está funcionando correctamente. Si se muestra un error como el siguiente, algo sucedió durante la inicialización de `Xwayland` y es posible que deba reinstalarse: | |||||
| [.programlisting] | |||||
| .... | |||||
| Error: Cannot open display wayland-0 | |||||
| .... | |||||
| [WARNING] | |||||
| ==== | |||||
| Una característica de seguridad de Wayland es que, al no ejecutar un servidor X, no hay otro escuchador de red (network listener). Una vez que se habilita `Xwayland`, esta característica de seguridad ya no se aplica al sistema. | |||||
| ==== | |||||
| Para algunos compositores, como Wayfire, es posible que `Xwayland` no se inicie correctamente. Como tal, `env` mostrará la siguiente información para las variables de entorno `DISPLAY`: | |||||
| [source, shell] | |||||
| ---- | |||||
| % env | grep DISPLAY | |||||
| ---- | |||||
| [.programlisting] | |||||
| .... | |||||
| DISPLAY=wayland-1 | |||||
| WAYLAND_DISPLAY=wayland-1 | |||||
| .... | |||||
| Aunque `Xwayfire` se instaló y configuró, las aplicaciones X11 no se iniciarán debido a un problema de pantalla (display). Para solucionar esto, verifique si ya existe una instancia de `Xwayland` utilizando un socket UNIX a través de estos dos métodos. Primero, compruebe la salida de `sockstat` y busque X11-unix: | |||||
| [source, shell] | |||||
| ---- | |||||
| % sockstat | grep x11 | |||||
| ---- | |||||
| Debería haber algo similar a la siguiente información: | |||||
| [.programlisting] | |||||
| .... | |||||
| trhodes Xwayland 2734 8 stream /tmp/.X11-unix/X0 | |||||
| trhodes Xwayland 2734 9 stream /tmp/.X11-unix/X0 | |||||
| trhodes Xwayland 2734 10 stream /tmp/.X11-unix/X0 | |||||
| trhodes Xwayland 2734 27 stream /tmp/.X11-unix/X0_ | |||||
| trhodes Xwayland 2734 28 stream /tmp/.X11-unix/X0 | |||||
| .... | |||||
| Esto sugiere la existencia de un socket X11. Esto se puede verificar más a fondo intentando ejecutar Xwayland manualmente dentro de un emulador de terminal que se ejecute bajo el compositor: | |||||
| [source, shell] | |||||
| ---- | |||||
| % Xwayland | |||||
| ---- | |||||
| Si un socket X11 ya está disponible, se debería presentar el siguiente error al usuario: | |||||
| [.programlisting] | |||||
| .... | |||||
| (EE) | |||||
| Fatal server error: | |||||
| (EE) Server is already active for display 0 | |||||
| If this server is no longer running, remove /tmp/.X0-lock | |||||
| and start again. | |||||
| (EE) | |||||
| .... | |||||
| Dado que hay una pantalla X activa disponible utilizando la pantalla cero, la variable de entorno simplemente se configuró de forma incorrecta; para solucionar esto, cambie la variable de entorno `DISPLAY` a `:0` e intente ejecutar la aplicación de nuevo. El siguiente ejemplo utiliza package:mail/claws-mail[] como la aplicación que necesita el servicio `Xwayland`: | |||||
| [source, shell] | |||||
| ---- | |||||
| export DISPLAY=:0 | |||||
| ---- | |||||
| Después de este cambio, la aplicación package:mail/claws-mail[] debería iniciarse ahora utilizando `Xwayland` y funcionar correctamente. | |||||
| [[wayland-remotedesktop]] | |||||
| == Escritorio remoto mediante VNC | |||||
| Al principio de este documento se señaló que Wayland no proporciona el mismo acceso al estilo del servidor X que proporciona Xorg. En su lugar, los usuarios son libres de elegir un protocolo de escritorio remoto como RDP o VNC. La colección de Ports de FreeBSD incluye `wayvnc`, que admite compositores basados en wlroots como los analizados aquí. Esta aplicación se puede instalar mediante el siguiente comando: | |||||
| [source, shell] | |||||
| ---- | |||||
| # pkg install wayvnc | |||||
| ---- | |||||
| A diferencia de otros paquetes, `wayvnc` no incluye un archivo de configuración. Afortunadamente, la página de manual documenta las opciones importantes y estas se pueden extrapolar a un archivo de configuración sencillo: | |||||
| [.programlisting] | |||||
| .... | |||||
| address=0.0.0.0 | |||||
| enable_auth=true | |||||
| username=username | |||||
| password=password | |||||
| private_key_file=/path/to/key.pem | |||||
| certificate_file=/path/to/cert.pem | |||||
| .... | |||||
| Será necesario generar los archivos de claves, y se recomienda encarecidamente que se utilicen para aumentar la seguridad de la conexión. Al ser invocado, wayvnc buscará el archivo de configuración en [.filename]#~/.config/wayvnc/config#. Esto se puede sobrescribir usando la opción `-C configuration_file` al iniciar el servidor. Por lo tanto, para iniciar el servidor `wayvnc`, ejecute el siguiente comando: | |||||
| [source, shell] | |||||
| ---- | |||||
| % wayvnc -C ~/.config/wayvnc/config | |||||
| ---- | |||||
| [NOTE] | |||||
| ==== | |||||
| Al momento de escribir esto, no existe un script rc.d para iniciar `wayvnc` en la inicialización del sistema. Si se desea esa funcionalidad, será necesario crear un archivo de inicio local. Probablemente se trate de una solicitud de funcionalidad para el mantenedor del port. | |||||
| ==== | |||||
| [[wayland-ly]] | |||||
| == Gestor de inicio de sesión de Wayland | |||||
| Si bien existen varios gestores de inicio de sesión que están migrando lentamente a Wayland, una opción es el gestor de interfaz de usuario de texto (TUI) package:x11/ly[]. Al requerir una configuración mínima, `ly` iniciará Sway, Wayfire y otros al presentar una ventana de inicio de sesión en la inicialización del sistema. Para instalar `ly`, ejecute el siguiente comando: | |||||
| [source, shell] | |||||
| ---- | |||||
| # pkg install ly | |||||
| ---- | |||||
| Se presentarán algunas sugerencias de configuración, los pasos importantes son añadir las siguientes líneas a [.filename]#/etc/gettytab#: | |||||
| [programlisting] | |||||
| .... | |||||
| Ly:\ | |||||
| :lo=/usr/local/bin/ly:\ | |||||
| :al=root: | |||||
| .... | |||||
| Y luego modifique la línea ttyv1 en [.filename]#/etc/ttys# para que coincida con la siguiente línea: | |||||
| [programlisting] | |||||
| .... | |||||
| ttyv1 "/usr/libexec/getty Ly" xterm onifexists secure | |||||
| .... | |||||
| Después de un reinicio del sistema, debería aparecer un inicio de sesión. Para configurar ajustes específicos, como el idioma, edite [.filename]#/usr/local/etc/ly/config.ini#. Como mínimo, este archivo debe tener el tty designado que se especificó previamente en [.filename]#/etc/ttys#. | |||||
| [NOTE] | |||||
| ==== | |||||
| Si se configura ttyv0 como el terminal de inicio de sesión, puede que sea necesario presionar las teclas kbd:[alt] y kbd:[F1] para ver correctamente la ventana de inicio de sesión. | |||||
| ==== | |||||
| Cuando aparezca la ventana de inicio de sesión, el uso de las flechas izquierda y derecha permitirá desplazarse por los diferentes gestores de ventanas compatibles. | |||||
| [[wayland-utilities]] | |||||
| == Utilidades de interés | |||||
| Una utilidad de Wayland de interés de la que todos los compositores pueden hacer uso es waybar. Si bien Wayfire incluye un menú de inicio, una barra de tareas rápida y fácil de usar es un buen accesorio para cualquier compositor o gestor de escritorio. Una barra de tareas compatible con Wayland que es rápida y fácil de configurar es waybar. Para instalar el paquete y una utilidad de control de audio compatible, ejecute el siguiente comando: | |||||
| [source, shell] | |||||
| ---- | |||||
| # pkg install pavucontrol waybar | |||||
| ---- | |||||
| Para crear el directorio de configuración y copiar un archivo de configuración predeterminado, ejecute los siguientes comandos: | |||||
| [source, shell] | |||||
| ---- | |||||
| % mkdir ~/.config/waybar | |||||
| % cp /usr/local/etc/xdg/waybar/config ~/.config/waybar | |||||
| ---- | |||||
| La utilidad `lavalauncher` proporciona una barra de lanzamiento para diversas aplicaciones. No se proporciona un archivo de configuración de ejemplo con el paquete, por lo que se deben realizar las siguientes acciones: | |||||
| [source, shell] | |||||
| ---- | |||||
| mkdir ~/.config/lavalauncher | |||||
| ---- | |||||
| A continuación se muestra un ejemplo de un archivo de configuración que solo incluye Firefox y se ubica a la derecha: | |||||
| [.programlising] | |||||
| .... | |||||
| global-settings { | |||||
| watch-config-file = true; | |||||
| } | |||||
| bar { | |||||
| output = eDP-1; | |||||
| position = bottom; | |||||
| background-colour = "#202020"; | |||||
| # Condition for the default configuration set. | |||||
| condition-resolution = wider-than-high; | |||||
| config { | |||||
| position = right; | |||||
| } | |||||
| button { | |||||
| image-path = /usr/local/lib/firefox/browser/chrome/icons/default/default48.png; | |||||
| command[mouse-left] = /usr/local/bin/firefox; | |||||
| } | |||||
| button { | |||||
| image-path = /usr/local/share/pixmaps/thunderbird.png; | |||||
| command[mouse-left] = /usr/local/bin/thunderbird; | |||||
| } | |||||
| .... | |||||