Noticias

Creación de shells gráficos: pruebe Mir en una máquina posible

¿Qué es Mir?

Mir es un conjunto de bibliotecas para crear shells gráficos para Linux en una variedad de hardware. Esto significa que hay varios shells basados ​​en Mir y funcionan en algunos factores de forma muy diferentes. Mir es lo que une la experiencia de «shell», las aplicaciones y el hardware:

Mir funciona con el protocolo Wayland innovador que, en principio, proporciona muchas ventajas sobre el protocolo X tradicional utilizado por los sistemas heredados. Con Wayland cada vez más apoyado, la destreza ahora se está poniendo al día con la teoría.

Existe una matiz de shells gráficos creados con Mir que van desde el simple «quiosco» utilizado para IoT por el mir-kiosk ajustar al shell Lomiri utilizado por el teléfono Ubuntu Touch.

Hemos simplificado la prueba de una variedad de shells basados ​​en Mir en una máquina posible. Esto debería darle una idea de las posibilidades de usar Mir.

Creando una máquina posible para Mir Desktop

Usaremos Multipass para crear una máquina posible [VM] y, como vamos a utilizar «X-forwarding», asimismo asumiremos que tiene un cliente ssh y una esencia ssh configurada en su computadora. Para instalar Multipass:

snap install multipass

Todavía usaremos un script de utilidad para entregar la configuración. Esto se muestra en su totalidad aquí y está apto en github:

git clone https://github.com/AlanGriffiths/multipass-utils
cd multipass-util

Para crear la VM:

./mir-demos

Choose the Mir server you'd like to try ("0" to exit):
1) egmde
2) miral-app
3) miral-app -kiosk
4) miral-app -demo-server
5) miral-app --window-manager tiling
6) cp --force .Xauthority snap/mircade/current/&&mircade
7) cp --force .Xauthority snap/egmde-confined-desktop/current/&&egmde-confined-desktop
#?

Hemos creado una máquina posible indicación «mir-demos» que se ha configurado para ejecutar algunos shells Mir en su entorno de escritorio contemporáneo. El script se puede usar nuevamente para reiniciar o retornar a conectarse a la misma VM. Para hacer esto más rápido, esto se deja ejecutándose de forma predeterminada, pero puede detenerlo con «multipass stop mir-demos«O elimínelo con»multipass delete --purge mir-demos”.

Las conchas de ejemplo

1) egmde

Egmde es un «ejemplo trabajado» de la construcción de un shell de escritorio con Mir. Hay algunos tutoriales para desarrolladores interesados ​​en cómo funciona en el foro Mir.

Puede iniciar aplicaciones usando Ctrl-Alt-A y desplazamiento. Pero, correcto a que no hay muchas aplicaciones instaladas en esta VM “básica”, no tiene muchas opciones. Sin bloqueo, puede utilizar el terminal (Ctrl-Alt-T) para instalar más.

Instalación de papel tapiz

Para amplificar un fondo de pantalla, necesitamos tanto el fondo de pantalla auténtico como un software para mostrarlo. Para este ejemplo usaremos el paquete ubuntu-wallpapers y swaybg. En la terminal en el tipo de VM:

sudo apt install swaybg ubuntu-wallpapers

Como la configuración de egmde no permite (actualmente) que se pasen parámetros a «componentes de shell», necesitamos un script simple para hacer eso:

mkdir bin
cat > bin/my-swaybg <<EOF
#!/bin/sh
exec swaybg -i '/usr/share/backgrounds/warty-final-ubuntu.png'
EOF
chmod +x bin/my-swaybg

Ahora necesitamos decirle a egmde que my-swaybg es un «componente de shell» que le permite convertirse en un fondo.

echo "shell-components=my-swaybg" >> ~/.config/egmde.config

Ahora cierra la sesión con Ctrl-Alt-BkSp y principiar de nuevo:

Es posible instalar otros «componentes de shell» como Waybar y MATE-panel con un enfoque similar. Primero instálelos, luego agréguelos a shell-components en ~/.config/egmde.config. Es posible que necesiten algunos ajustes para integrarse con Mir, pero básicamente funcionan.

Instalar otras aplicaciones

Como se mencionó anteriormente, se pueden instalar otras aplicaciones usando snap o apt desde la terminal. Por ejemplo:

sudo apt install neofetch
sudo snap install gnome-chess

Estos se pueden iniciar a través de egmde Ctrl-Alt-A arrojador de aplicaciones:

2) miral-aplicación

Hay algunos otros shells Mir proporcionados en los paquetes mir-demos y mir-test-tools. “Miral-app” es un script para ejecutarlos y los siguientes ejemplos lo usan. Estos son más simples que el ejemplo de egmde, pero ayudan a mostrar el rango de posibilidades.

La primera de estas «miral-app» ejecuta el miral-shell predeterminado:

3) miral-app -kiosk

Esto ejecuta el mismo servidor de “quiosco” que se usa en el popular complemento mir-kiosk. El servidor de “quiosco” sería suficiente inútil sin una forma de iniciar aplicaciones, por lo que el script asimismo le conecta un terminal desde el cual puede ejecutar otras aplicaciones. Con este servidor todo se ejecuta en pantalla completa:

4) miral-app -demo-server

El “servidor de demostración” de Mir es útil para realizar pruebas, ya que habilita todas las extensiones de Wayland compatibles con Mir. Esto es particularmente útil si está probando componentes de shell (paneles, fondos, etc.) ya que todas las extensiones de Wayland que necesitan están habilitadas de forma predeterminada. (Se pueden configurar para otros shells, y egmde solo los habilita para «componentes de shell»)

Intenta principiar miral-app -demo-server y luego en la terminal que aparece:

sudo apt install swaybg ubuntu-wallpapers mate-panel
swaybg -i /usr/share/backgrounds/warty-final-ubuntu.png &
mate-panel&

Habrá algunos cuadros de diálogo de error en Mate Panel ya que algunos widgets no funcionan o no están instalados. Si selecciona «Eliminar», se eliminan del panel y no volverán a molestarlo.

6) cp –force .Xauthority snap / mircade / current / && mircade

Mircade es un ejemplo de un shell diseñado para ejecutar una aplicación de pantalla completa a la vez. Para tener un tema para estas aplicaciones, se eligieron algunos juegos del archivo. Obviamente, podría hacer poco similar con su sufragio de aplicaciones.

Todos los ejemplos anteriores han sido ejemplos de shells que se ejecutan en un entorno «no confinado». Por el contrario, estos dos últimos ejemplos, mircade y egmde-confined-desktop, funcionan con el confinamiento completo de Snap. En consecuencia, se pueden utilizar en el sistema operante Ubuntu Core basado en snap.

El uso del confinamiento de Snap significa que el tirada de esta demostración necesita la copia del archivo «.Xauthority» en el «división correcto» para ser utilizado por el complemento. Esto hace que estas opciones se vean un poco diferentes.

7) cp –force .Xauthority snap / egmde-confined-desktop / current / && egmde-confined-desktop

Egmde-confined-desktop, como mircade, es un complemento completamente confinado. Al igual que mircade, solo puede ejecutar aplicaciones que están incluidas en el complemento. (Esta es actualmente una término del entorno instantáneo. Adentro de esta término, egmde-confined-desktop proporciona poco parecido a un entorno de escritorio, con ventanas flotantes y un conjunto más diverso de aplicaciones de ejemplo).

El script mir-demos para configurar la VM

Esta sección es simplemente informativa. Si no desea ver cómo funciona el script, simplemente puede ejecutar las demostraciones.

$ cat mir-demos
#!/bin/bash
set -euo pipefail

vm_name="$1:-mir-demos"

until command -v multipass > /dev/null
do
  echo "Multipass is not installed, do you wish to install it?"
  select install in "Yes" "No"; do
    case $install in
      Yes ) sudo snap install multipass; break;;
      No ) break;;
    esac
  done
done

if ! multipass start "$vm_name"
then
  set -x
  multipass launch -v -n "$vm_name" --cloud-init - <<EOF
apt:
  preserve_sources_list: true
  sources:
      mir-team:
          source: 'ppa:mir-team/release'
ssh_authorized_keys:
    - $(cat ~/.ssh/id_rsa.pub)
packages:
    - xwayland
    - fonts-freefont-ttf
    - xfce4-terminal
    - epiphany-browser
    - mir-graphics-drivers-desktop
    - mir-demos
    - mir-test-tools
runcmd:
    - sudo snap install --classic --candidate egmde
    - sudo snap install mircade
    - sudo snap install --edge egmde-confined-desktop
EOF
  multipass exec "$vm_name" -- mircade --help > /dev/null || true
  multipass exec "$vm_name" -- egmde-confined-desktop --help > /dev/null || true
  multipass exec "$vm_name" -- sh -c "mkdir --parents ~/.config"
  multipass exec "$vm_name" -- sh -c "if ! grep -q no-of-workspaces= ~/.config/egmde.config; then echo no-of-workspaces=4 >> .config/egmde.config; fi"
  multipass exec "$vm_name" -- sh -c "if ! grep -q enable-autostart= ~/.config/egmde.config; then echo enable-autostart=  >> .config/egmde.config; fi"
  set +x
fi

host_ip=$(multipass info "$vm_name" --format csv | awk -F, '/^'"$vm_name"'/ print $3 ')

while :
do
  echo "Choose the Mir server you'd like to try ("0" to exit):"
  select demo in "egmde"
             "miral-app"
         "miral-app -kiosk"
         "miral-app -demo-server"
                 "miral-app --window-manager tiling"
                 "cp --force .Xauthority snap/mircade/current/&&mircade"
                 "cp --force .Xauthority snap/egmde-confined-desktop/current/&&egmde-confined-desktop"
  do
    if [ "$demo" = "" ]; then exit 0; fi
    ssh -X "[email protected]$host_ip" sh -lc ""$demo""
    break
  done
done

Sumario

Esta máquina posible “mir-demos” le permite probar algunos de los shells gráficos que se pueden construir con Mir. Estos van desde un entorno de escritorio para una computadora de escritorio hasta una única aplicación de pantalla completa para sistemas integrados.

Puede confirmar que las aplicaciones funcionan correctamente con Mir instalándolas y ejecutándolas en la VM.

Si nadie de los shells de Mir de ejemplo que se muestran aquí es del todo adecuado para sus deposición, es en realidad sencillo construir el suyo propio, como muestra el tesina egmde.

¿Disfrutaste este tutorial? ¿Está utilizando Mir para fomentar su próxima pantalla inteligente? Nos encantaría enterarse sobre ti y tu tesina Mir. Mandar un sinopsis a [email protected]y nos pondremos en contacto.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba