Consejos y Trucos
Ocultar el explorador por defecto (Firefox)
Si está utilizando otro explorador que el que instaló por defecto (Firefox) entonces puede ocultar el predeterminado desde el interfaz por medio de las instrucciones siguientes:
# Para Fedora 39 y anteriores: $ sudo cp /usr/share/applications/firefox.desktop /usr/local/share/applications/ $ sudo sed -i "2a\\NotShowIn=GNOME;KDE" /usr/local/share/applications/firefox.desktop
# Fedora 40 y posterior: $ sudo cp /usr/share/applications/org.mozilla.firefox.desktop /usr/local/share/applications/ $ sudo sed -i "2a\\NotShowIn=GNOME;KDE" /usr/local/share/applications/org.mozilla.firefox.desktop
$ sudo update-desktop-database /usr/local/share/applications/ ```
== Reactivando el explorador por defecto (Firefox)
Si desea hacer que el explorador por defecto (Firefox) sea visible de nuevo tras ocultarlo, puede seguir estos pasos:
``` $ sudo rm -f /usr/local/share/applications/*firefox*.desktop $ sudo update-desktop-database /usr/local/share/applications ```
== Activando repos de RPM Fusion
[CAUTION]
====
Esta sección discute fuentes de software de tercera-parte no afiliadas oficialmente con o avalada por el Proyecto Fedora. Utilícelos según su propia discreción. Fedora recomienda el uso de software con fuente libre y abierta y evitación de software gravado por patentes.
====
Los usuarios pueden desear tomar ventaja del software no-libre que es hecho disponible por medio de repos https://rpmfusion.org/[RPM Fusion] con el fin de utilizar los controladores NVIDIA propietarios, códigos multimedia, u otro software no distribuido como parte de Fedora.
La primera vez que instala los repos de RPM Fusion, necesita instalar los RPMs versionados:
$ sudo rpm-ostree install \
https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm \
https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
$ reboot
Una vez que haya reiniciado en el despliegue nuevo, puede ejecutar el siguiente comando para quitar el “bloqueo” en los paquetes versionados que fueron instalados previamente. Esto habilitará los repos de RPM Fusion para ser actualizados automáticamente y versionados correctamente a través de las liberaciones de versión mayor de Fedora:
$ sudo rpm-ostree update \
--uninstall rpmfusion-free-release \
--uninstall rpmfusion-nonfree-release \
--install rpmfusion-free-release \
--install rpmfusion-nonfree-release
$ reboot
Para más información, consulte https://discussion.fedoraproject.org/t/simplifying-updates-for-rpm-fusion-packages-and-other-packages-shipping-their-own-rpm-repos/30364[este hilo] en el sitio de Discusión de Fedora.
== Trabajando con Toolbx
=== Encontrar fuera si está utilizando en un contenedor Toolbx
Si frecuentemente hace uso de Toolbx para realizar varias tareas y utilizar múltiples contenedores de Toolbx puede ser duro conservar pista de si sea ejecutada actualmente comandos en un contenedor Toolbx o en el host. Además, actualmente no hay comandos para decirle en cual contenedor de Toolbx está funcionando.
Para aliviar esto, puede añadir el siguiente alias al intérprete al final de su `~/.bashrc`:
alias istoolbx='[ -f "/run/.toolboxenv" ] && grep -oP "(?<=name=\")[^\";]+" /run/.containerenv'
Cuando abra un intérprete (shell) nuevo, ahora tiene acceso al comando `istoolbx` nuevo. Esto se comportará como sigue:
* Cuando ejecute desde el host, devuelva un código de salida de 1
* Cuando ejecute desde un contenedor Toolbx, devuelva un código de salida de 0 y exhiba el nombre de contenedores de Toolbx actual a la consola
Si una solución más automatizada es su preferencia lo siguiente añadido a su `~/.bashrc` cambiará su intérprete de bash para incluir "[toolbox <nombre>]":
function is_toolbox() { if [ -f "/run/.toolboxenv" ] then TOOLBOX_NAME=$(cat /run/.containerenv | grep -oP "(?⇐name=\")[^\";]+") echo "[${HOSTNAME} ${TOOLBOX_NAME}]" fi }
Ahora puede incluir `is_toolbox`en su variable `PS1` y no necesita ejecutar cualquier comando adicional en orden para conocer si o no está en un toolbx o intérprete de host.
Ejemplo: ``` export PS1="\[\e[31m\]\`is_toolbox\`\]\e[m\]\[\e[32m\]\\$ \[\e[m\]\[\e[37m\]❱\[\e[m\] " ```
Esto resulta en un intérprete el cual aparece como tal cuando no en un toolbox: `$ ❱`
Sin embargo, cuando ejecuta dentro de un toolbox nombrado "default" parece como: `[toolbox default]$ ❱`
=== Ejecutando aplicaciones desde dentro de Toolbx en el host
Esto puede ser necesario si quiere interactuar con herramientas disponibles desde el host, por ejemplo `podman`, `nmcli` o `rpm-ostree` sin dejar el contenedor de Toolbx dentro de ellos. Puede utilizar `flatpak-spawn`, incluido en la instalación base para esto:
$ flatpak-spawn --host podman --help
Si la aplicación que desea para invocar requiere acceso `sudo`, la opción `-S` debe ser suministrada para `sudo` como debajo:
$ flatpak-spawn --host sudo -S rpm-ostree status
Si se encuentra a sí mismo utilizando comandos como estos frecuentemente para acceder p.ej. el comando flatpak desde dentro del contenedor Toolbx, puede crear usted mismo un enlace personal cubridor de script (*dentro del contenedor Toolbx*). Para hacer esto, realice los siguientes pasos:
1. Defina el alias `istoolbx` (por conveniencia) ejecutando el comando mencionado arriba en su terminal
2. Asegúrese que está dentro de un contenedor Toolbx. Si el comando siguiente no produce ninguna salida, aún está trabajando en el host.
[toolbx]$ istoolbx
<Toolbx contiene nombre aquí>
3. Una vez que haya asegurado que está dentro de un contenedor Toolbx, ejecute el siguiente comando:
[toolbx]$ echo -e '#!/bin/sh\nexec /usr/bin/flatpak-spawn --host flatpak "$@"' | sudo tee /usr/local/bin/flatpak 1>/dev/null && sudo chmod +x /usr/local/bin/flatpak
Ahora tiene un comando `flatpak` disponible que le permite interactuar con `flatpak` como si estuviera ejecutando el comando en el host.
== Trabajar con `ostree` /`rpm-ostree`
=== Siguiendo cambios al SO base
Algunos directorios en sistemas operativos basados en `ostree` son escribibles por el usuario, como `/etc`. Puede obtener una vista previa rápida de los archivos cambiados bajo `/etc` utilizando el siguiente comando:
$ sudo ostree admin config-diff
Para obtener un diff más elaborado, puede utilizar algo como esto:
$ sudo diff -yrW200 --suppress-common-lines --color=always /usr/etc /etc 2>/dev/null
NOTE: Esto funciona porque ostree conserva una copia no modificada del directorio `/etc` bajo `/usr/etc`.
Todo de sus cambios van al `/etc` directamente.
== Funcionando con aplicaciones Flatpak
=== Directamente accediendo a aplicaciones Flatpak desde el CLI
El cambio más noticiable cunado utilice aplicaciones Flatpak en vez de instalaciones convencionales es que las aplicaciones no puede ser invocadas directamente desde el CLI nada más, como así:
$ evince
bash: orden no encontrada: evince
En su lugar, uno puede invocarlos como esto:
$ flatpak run org.gnome.Evince
En adición, muchas aplicaciones de Flatpak exportan sus binarios internos bajo un lugar de instalación-dependiente:
* Para aplicaciones Flatpak instaladas desde `system` remotos, estos pueden ser encontrados bajo `/var/lib/flatpak/exports/bin/`
* Para aplicaciones Flatpak instaladas desde `user` remotos, estos pueden ser encontrados bajo `$HOME/.local/share/flatpak/exports/bin/`
[NOTE]
====
Si está inseguro para cual instalación una aplicación Flatpak pertenece, puede utilizar este comando para escribirla fuera:
$ flatpak list --app --columns=name,installation
====
Entonces puede incluso añadir esos directorios en su ruta `$PATH`:
$ org.gnome.Evince
o bien configurar los `alias` del intérprete como sea necesario para hacerlos disponibles para el CLI como así:
$ alias evince="flatpak run org.gnome.Evince"
# o alias evince="org.gnome.Evince"
$ evince
Want to help? Learn how to contribute to Fedora Docs ›