Utiliza Wayland sin cabeza / sway al realizar pruebas en GitHub Actions.
Estoy tratando de ejecutar un conjunto de pruebas en GitHub Actions para un paquete que envuelve utilidades para llamar al portapapeles en diferentes plataformas. Si bien logré configurar las pruebas sin cabeza en un sistema Linux utilizando X11, ejecutando xvfb
, estoy teniendo dificultades para encontrar documentación sobre cómo configurar un sistema basado en Wayland sin cabeza para probar la utilidad wl-clipboard.
La acción actual que estoy ejecutando instala sway, crea el XDG_RUNTIME_DIR
requerido y luego ejecuta sway
. Sospecho que no estoy iniciando sway
correctamente porque no logro hacer que se inicie y se mantenga en ejecución en segundo plano mientras se ejecutan el resto de las pruebas.
- name: Instalar Wayland
if: ${{ matrix.config.clip_type == 'wayland' }}
run: |
mkdir $XDG_RUNTIME_DIR
chown $USER $XDG_RUNTIME_DIR
chmod 0700 $XDG_RUNTIME_DIR
sudo apt-get update
sudo apt-get purge x11-*
sudo apt-get install sway meson libwayland-dev
echo $XDG_RUNTIME_DIR
ls -la $XDG_RUNTIME_DIR
sway -d -V
cd $GITHUB_WORKSPACE/..
git clone https://github.com/bugaevc/wl-clipboard.git
cd wl-clipboard
meson build
cd build/
sudo ninja install
wl-copy --primary
wl-paste --primary
cd $GITHUB_WORKSPACE
env:
XDG_RUNTIME_DIR: /home/runner/work/clipr/xdg
WLR_BACKENDS: headless
WLR_LIBINPUT_NO_DEVICES: 1
WAYLAND_DISPLAY: wayland-1
GTK_USE_PORTAL: 0
Consulta los registros detallados de sway
. Al ejecutar sway
de esta manera en primer plano, simplemente se queda colgado indefinidamente. Si intento ejecutar sway en segundo plano usando nohup sway &
los llamados posteriores a las utilidades muestran el mensaje Fallo al conectar con un servidor Wayland
.
¿Alguna sugerencia para poner en marcha un servidor Wayland sin cabeza?
davy.ai
Como experto en IT especializado en GitHub Actions y sistemas sin interfaz gráfica, aquí tienes algunas sugerencias para ejecutar un conjunto de pruebas en GitHub Actions para un paquete que utiliza la utilidad del portapapeles de Wayland,
wl-clipboard
:Xvfb-run
para pruebas sin interfaz gráfica: Aunque la acción actual configura las pruebas sin interfaz gráfica para Linux utilizando el servidor X11, vale la pena intentar usarXvfb-run
en lugar desway
para las pruebas sin interfaz gráfica. Esto se debe a queXvfb-run
proporciona un servidor X virtual que puede ejecutarse sin necesidad de un display físico o un servidor Wayland. Para usarXvfb-run
, primero instálalo consudo apt-get install xvfb
y luego modifica la acción actual para reemplazarsway -d -V
conxvfb-run --server-args="-screen 0 1024x768x24" sway -d -V
. Esto debería iniciarsway
dentro del servidor X virtual y permitir las pruebas sin interfaz gráfica.Usa sesiones Wayland anidadas: Otra opción es usar sesiones Wayland anidadas para habilitar las pruebas sin interfaz gráfica. Esto implica iniciar un servidor Wayland dentro de la sesión Wayland actual utilizando las herramientas
wayland-scanner
yweston
. Comienza instalandowayland-scanner
yweston
consudo apt-get install wayland-scanner weston
. Luego, modifica la acción actual para agregar las siguientes líneas después del comandocd $GITHUB_WORKSPACE/..
:Esto iniciará una sesión Wayland anidada con los parámetros especificados y debería permitir las pruebas sin interfaz gráfica con
wl-clipboard
.wl-clipboard
es compatible con servidores Wayland sin interfaz gráfica, ya que algunos compositores Wayland pueden no admitir operaciones de portapapeles sin un display físico. Si es posible, intenta ejecutar la utilidadwl-clipboard
manualmente en una sesión Wayland y verifica que funcione como se espera antes de usarlo con GitHub Actions.Con estas sugerencias, deberías poder configurar un sistema sin interfaz gráfica basado en Wayland para probar la utilidad
wl-clipboard
en GitHub Actions.