openSUSE Aeon. En que me vi envuelto y como me desenvolví: VS Code

Estas son, digamos, anotaciones personales que voy haciendo para no olvidarme de como «resolví» algunas cuestiones.

Hace unos pocos días finalmente me decidí e instale openSUSE MicroOS Desktop (sistema operativo inmutable).

Lo recomendable es tener instalados todas las aplicaciones usando flatpaks. Si no existe versión flatpak de la aplicación, instalarlo dentro de un contenedor usando distrobox.

Este es el caso de VSCode, si bien existe una versión flatpak, decidí instalarlo en un contenedor en donde tenerlo junto a git y cualquier otra cosa que necesite.

Para ello básicamente es crear el contenedor (distrobox create), entrar al contenedor (distrobox enter), instalar opi (zypper in opi), instalar vscode (opi vscode).

Luego para facilitar las cosas, exponer la aplicación del contenedor al host (ejecutando dentro del contenedor distrobox-export --app code).

Ya con eso se puede usar VSCode. El problema fue al momento de querer sincronizar la configuración de VSCode guardada en mi cuenta de Microsoft. No se bien la razón, pero basicámente no había comunicación entre VSCode del contenedor y el Firefox (flatpak) del host, y por eso no podía habilitar la sincronización.

La solución fue (una fea, hay que decirlo, debe haber una solución más elegante) tener un navegador instalado dentro del contenedor. Para ver cual es el navegador default actual se ejecuta:

xdg-settings get default-web-browser

Vemos que devuelve:

which: no flatpak in (/usr/bin)
org.mozilla.firefox.desktop

En este caso ya tenía instalado Vivaldi en el contenedor, por lo tanto lo que hice fue poner a Vivaldi como navegador por defecto dentro del contenedor:

xdg-settings set default-web-browser vivaldi-stable.desktop

Y con eso salió andando, al pedir a VSCode sincronizar con mi cuenta, éste abrió en Vivaldi el sitio para poder validar contra mi cuenta de Microsoft.

¿Usas KDE Plasma y las aplicaciones GTK Flatpak no respetan el tema Breeze?

Me sucede que al instalar aplicaciones GTK Flatpak como por ej. GNOME Boxes, Zim o Shortwave, estas aplicaciones aparecen con el tema Adwaita en lugar de con el tema Breeze.

Pero la solución es sencilla. Basta con instalar la aplicación Flatseal (un administrador de aplicaciones flatpak), y poner como configuración global la posibilidad de las aplicaciones puedan acceder a los archivos .css de los temas.

En Flatseal, vamos a donde dice «Todas las aplicaciones» en la izquierda. Luego en la derecha vamos a la sección «Otros archivos» y añadimos dos entradas:

xdg-config/gtk-3.0:ro
xdg-config/gtk-4.0:ro

Y eso es todo, las aplicaciones GTK ahora tendrán el mismo tema que las aplicaciones de KDE Plasma.

Deshabilitar Tracker

Unas cuantas líneas sobre como deshabilitar Tracker sin desinstalarlo (por ej., cuando uno está en KDE Plasma, pero quiere instalar gnome-boxes que depende de tracker, pero no se quiere tener a tracker residente en memoria).

Pra tracker 2:

systemctl --user mask tracker-store.service tracker-miner-fs.service tracker-miner-rss.service tracker-extract.service tracker-miner-apps.service tracker-writeback.service

Para tracker 3:

systemctl --user mask tracker-extract-3.service tracker-miner-fs-3.service tracker-miner-rss-3.service tracker-writeback-3.service tracker-xdg-portal-3.service tracker-miner-fs-control-3.service

Fin.

(fuente https://www.linuxuprising.com/2019/07/how-to-completely-disable-tracker.html)

Configurar sudo y polkit en openSUSE para que pida contraseña de un usuario en lugar de la de root

Antes aclaro que no soy ‘administrador de sistemas’, ni tampoco tengo mucho conocimiento en eso.

openSUSE viene sin tener sudo configurado, y polkit está configurado para para pedir autorización al usuario ID=0, es decir, root.

Si queremos que para las autenticaciones nos pida la contraseña de nuestro usuario, y no la de root, podemos hacer lo siguiente (rápidamente explicado, y sin mucho detalle):

sudo

Agregar nuestro usuario al grupo wheel, ejecutando como root:

usermod -aG wheel nombre_usuario

Como root, ejecutar visudo para configurar sudo. Comentar las siguiente lineas (agregando # antes):

Defaults targetpw
ALL ALL=(ALL) ALL

Descomentar la linea (borrar # que tiene la linea):

%wheel ALL=(ALL) ALL

Cerramos y guardamos el archivo (presionando ESC, y luego :qw).

Hay que reiniciar sesión para que estos cambios surtan efecto.

Polkit

Por defecto, polkit pide la contraseña del usuario root. Para que pida la contraseña de nuestro usuario, hacemos lo siguiente.

Creamos este archivo /etc/polkit-1/rules.d/40-default.rules

Dentro, ponemos algo así:

polkit.addAdminRule(function(action, subject) {
       return ["unix-group:wheel"];
});

De esta forma, polkit pedirá la contraseña del usuario que esté en el grupo wheel (ya lo habiamos configurado en la parte de sudo).

Fuentes

https://wiki.archlinux.org/title/Polkit#Authorization_rules

https://es.opensuse.org/SDB:Configurar_sudo_y_administrar_el_sistema_con_%C3%A9l

Chromecast y openSUSE

openSUSE por defecto viene con el cortafuegos (firewall) habilitado, por lo que si queremos «enviar» algo al Chromecast hay que abrir algunos puertos.

Para eso, vamos al Cortafuegos de YaST (se encuentra en el menú en cualquiera de los escritorios GNOME, Plasma, XFCE, etc.).

Una vez dentro, seleccionamos Public, luego la pestaña Puertos.

En Puertos TCP ponemos: 8008-9000, y en Puertos UDP: 1900, 5353.

Le damos Aceptar, y eso sería todo. Ya podemos enviar contenido al Chromecast usando VLC, Chrome, Vivaldi, Brave, etc.

Tear free AMDGPU en openSUSE

Tomado de la wiki de Arch Linux.

Para habilitar Tear free manualmente, ejecutamos

$ xrandr --output output --set TearFree on

Donde output es algo así como DisplayPort-0 o HDMI-A-0

Se puede ver una lista ejecutando xrandr -q, o se autocompleta con Tab.

Para dejarlo fijo, hay que editar/agregar el archivo /etc/X11/xorg.conf.d/20-amdgpu.conf con lo siguiente

Section "Device"
     Identifier "AMD"
     Driver "amdgpu"
     Option "TearFree" "true" 
EndSection

Usar la cámara del celular como webcam en openSUSE Tumbleweed

Para esto existe Iriun Webcam.

Nota: todo el procedimiento se hará en la consola.

Primeramente, instalamos Irun Webcam en el celular (disponibles en las app-stores).

Luego, necesitamos android-tools. Para ellos agregamos el repositorio Hardware y lo instalamos:

# zypper addrepo https://download.opensuse.org/repositories/hardware/openSUSE_Tumbleweed/hardware.repo
# zypper install android-tools

Como no existe paquete oficial de Irium para openSUSE, hay que agregar un repositorio comunitario.

Este repositorio corresponde a una distribución basada en openSUSE 15.2 llamada Regata OS, aunque funciona igual. Por esto, mejor darle una baja prioridad al repositorio y luego removerlo del sistema, para evitar inconvenientes.

Ejecutamos los siguientes comandos como root:

# zypper addrepo -p 100 https://download.opensuse.org/repositories/home:regataos/openSUSE_Leap_15.2/home:regataos.repo
# zypper install iriunwebcam

Una vez hecho esto, procedemos a quitar la referencia al repositorio

# zypper rr home_regataos

Luego, hay que configurar el firewall para permitir los puertos TCP 5037 y UDP 4698, usando el Cortafuegos de YaST.

Ingresamos a Iriun WebCabm tanto en el celular como en la PC. La conexión puede ser tanto por USB como por WiFi.

Iriun Webcam ejecutandose en openSUSE Tumbleweed

DVD – Ripear solo audio

Tengo un DVD de un concierto en vivo, y quería pasarlo a mp3, un archivo mp3 por canción.

El concierto estaba en el Title 2 del DVD, y cada canción es un ‘chapter’ del Title 2. Entonces, el script bash quedó así:

#!/bin/bash
for i in {1..33}
do
    mplayer dvd://2 -chapter $i-$i -dvd-device /dev/sr0 -dumpaudio -dumpfile track$i.mp3
done

33 son la cantidad total de canciones (chapters)

dvd://2 indica que tiene buscar dentro del Title 2 del DVD

-dvd-device le dice cual es dispositivo DVD

Getting Things GNOME (GTG) y Dropbox

Si si, sincronizar las notas-tareas de GTG con Dropbox. Rapidamente, los pasos que copie de otro blog

Despues de instalar gtg y cargar algunas tareas, hacer estos sencillos pasos:


mkdir ~/Dropbox/gtg
mv ~/.local/share/gtg/* ~/Dropbox/gtg/
rm -rf ~/.local/share/gtg
ln -vsf ~/Dropbox/gtg ~/.local/share/gtg

Y listo, a probar si funciona la sincronizacion

Robado desde El Atareao