Notas para la instalación y configuración del escritorio MATE en OpenBSD:
-
Instalar los paquetes
mate
ymate-extras
:$ doas pkg_add mate mate-extras
-
Seguir las indicaciones del paquete mate que se encuentran en el archivo
/usr/local/share/doc/pkg-readmes/mate
:-
Agregar
mate-session
en~/.xsession
:exec /usr/local/bin/ck-launch-session /usr/local/bin/mate-session
-
Habilitar
messagebus
para ver el indicador de la conexión AC/batería:$ doas rcctl enable messagebus $ doas rcctl start messagebus
-
-
Configuración de bloqueo al cerrar la tapa.
Por defecto, al cerrar la tapa del laptop el equipo entra en suspensión y no se bloquea la pantalla, por lo que al volver a levantar la tapa y encender el equipo volvemos al escritorio y no está bloqueado. Esto es un problema de seguridad. Buscando en internet se encuentra la solución en el post Automatically lock screen on OpenBSD using xidle and xlock, la cual adaptandola queda como:
-
Configurar el uso de xidle en
~/.xsession
agregando antes del final del archivo la linea:xidle -delay 5 -nw -program "/usr/local/bin/mate-screensaver-command -l" -timeout 0 &
que ejecuta el programa mate-screensaver-command para nunca bloquear la pantalla.
En la documenentación de
xidle
no se indica que el parámetro de-timeout
debe ser positivo. Entendiendo que con el valor0
no se activa nunca, evitamos tener un conflicto entre el timeout dado porxidle
y la configuración del salvapantallas de mate configurada por la UI. -
Crear script
/etc/apm/suspend
de apmd para que al suspenderse el equipo se envíe una señal al programaxidle
:$ doas mkdir /etc/apm $ cat <<'END' | doas tee /etc/apm/suspend #!/bin/sh pkill -USR1 xidle END $ doas chmod +x /etc/apm/suspend
-
Habilitar
apmd
:$ doas rcctl enable apmd $ doas rcctl start apmd
-
-
Agregar indicador de mayusculas presionadas en barra de tareas y quitar íconos de escritorio.
Esto en debian se realiza con el paquete mate-tweak, pero en openbsd no existe aún ese paquete, por lo que hay que modificar los settings utilizando dconf.
Para obtener los valores a modificar utilizando
dconf
se puede inspeccionar el código fuente de mate-tweak y también los archivos en/usr/local/share/glib-2.0/schemas/
:-
https://github.com/ubuntu-mate/mate-tweak/blob/22.04.8/mate-tweak#L522:
self.set_bool('org.mate.peripherals-keyboard-xkb.general', None, 'duplicate-leds', self.keyboard_led_enabled)
Buscando el significado de la propiedad se confirma que es lo que estamos buscando:
$ grep -h -A4 duplicate-leds /usr/local/share/glib-2.0/schemas/org.mate.* <key name="duplicate-leds" type="b"> <default>false</default> <summary>Show keyboard leds indicator</summary> <description>Show keyboard leds indicator</description> </key>
-
https://github.com/ubuntu-mate/mate-tweak/blob/22.04.8/mate-tweak#L1631-L1636:
self.init_checkbox("org.mate.background", "show-desktop-icons", "checkbox_show_icons") self.init_checkbox("org.mate.caja.desktop", "computer-icon-visible", "checkbox_computer") self.init_checkbox("org.mate.caja.desktop", "home-icon-visible", "checkbox_home") self.init_checkbox("org.mate.caja.desktop", "network-icon-visible", "checkbox_network") self.init_checkbox("org.mate.caja.desktop", "trash-icon-visible", "checkbox_trash") self.init_checkbox("org.mate.caja.desktop", "volumes-visible", "checkbox_volumes")
Volvemos a buscar el significado de las propiedades anteriores:
$ grep -h -A4 \ -e show-desktop-icons \ -e computer-icon-visible \ -e home-icon-visible \ -e trash-icon-visible \ /usr/local/share/glib-2.0/schemas/org.mate.* <key name="show-desktop-icons" type="b"> <default>true</default> <summary>Show Desktop Icons</summary> <description>Have MATE file manager (Caja) draw the desktop icons.</description> </key> -- <key name="home-icon-visible" type="b"> <default>true</default> <summary>Home icon visible on desktop</summary> <description>If this is set to true, an icon linking to the home folder will be put on the desktop.</description> </key> <key name="computer-icon-visible" type="b"> <default>true</default> <summary>Computer icon visible on desktop</summary> <description>If this is set to true, an icon linking to the computer location will be put on the desktop.</description> </key> <key name="trash-icon-visible" type="b"> <default>true</default> <summary>Trash icon visible on desktop</summary> <description>If this is set to true, an icon linking to the trash will be put on the desktop.</description> </key>
Ahora, el problema que hay que tener en cuenta es que en el código fuente se indica el id del esquema y
dconf
utiliza el path del esquema.Para obtener los path a partir de los id del esquema:
$ grep -h -e '<schema .*org.mate.caja.desktop' \ -e '<schema .*org.mate.background' \ -e '<schema .*org.mate.peripherals-keyboard-xkb.general' \ /usr/local/share/glib-2.0/schemas/org.mate.* <schema id="org.mate.background" path="/org/mate/desktop/background/"> <schema id="org.mate.caja.desktop" path="/org/mate/caja/desktop/" gettext-domain="caja"> <schema id="org.mate.peripherals-keyboard-xkb.general" path="/org/mate/desktop/peripherals/keyboard/general/">
Y ya podemos utilizar
dconf
para establecer las propiedades anteriores:$ dconf write /org/mate/desktop/peripherals/keyboard/general/duplicate-leds true $ dconf write /org/mate/desktop/background/show-desktop-icons false $ dconf write /org/mate/caja/desktop/computer-icon-visible false $ dconf write /org/mate/caja/desktop/home-icon-visible false $ dconf write /org/mate/caja/desktop/trash-icon-visible false
-
-
Listar primero los directorios en los dialogos de GTK. La solución se encuentra publicada en internet:
$ dconf write /org/gtk/settings/file-chooser/sort-directories-first true
-
Agregar al grupo
operator
a los usuarios que pueden apagar y reiniciar el equipo para que no pida contraseña al momento de realizar la operación:$ doas usermod -G operator jmpc
NOTA: los settings pueden modificarse desde la UI de los programas del
escritorio MATE por lo que no se utiliza para ello dconf
.
Con esto ya está prácticamente configurado el escritorio MATE; solo quedan ajustes menores mediante las preferencias de MATE.