Tipps und Tricks
Ausblenden des Standardbrowsers (Firefox)
Wenn Sie einen anderen Browser als den standardmäßig installierten (Firefox) verwenden, können Sie den Standardbrowser über die Benutzeroberfläche mit den folgenden Befehlen ausblenden:
$ sudo mkdir -p /usr/local/share/applications
$ 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/
Den Standardbrowser (Firefox) wieder aktivieren
Wenn Sie den Standardbrowser (Firefox) nach dem Ausblenden wieder sichtbar machen möchten, können Sie folgende Schritte befolgen:
$ sudo rm -f /usr/local/share/applications/org.mozilla.firefox.desktop
$ sudo update-desktop-database /usr/local/share/applications
Alternative Methode
Wenn Sie Sway verwenden oder den Standardbrowser nur für Ihren Benutzer ausblenden möchten, können Sie dies mit diesen Befehlen tun:
$ mkdir -p ~/.local/share/applications
$ cp /usr/share/applications/org.mozilla.firefox.desktop ~/.local/share/applications/
$ sed -i "2a\\NotShowIn=GNOME;KDE;sway" ~/.local/share/applications/org.mozilla.firefox.desktop
$ update-desktop-database ~/.local/share/applications
und um wieder zu aktivieren:
$ rm -f ~/.local/share/applications/org.mozilla.firefox.desktop
$ update-desktop-database ~/.local/share/applications
Aktivierung der RPM Fusion-Paketquellen
|
Dieser Abschnitt behandelt Softwarequellen von Drittanbietern, die nicht offiziell mit dem Fedora-Projekt verbunden sind oder von diesem unterstützt werden. Die Verwendung erfolgt auf eigene Verantwortung. Fedora empfiehlt die Verwendung freier und quelloffener Software und rät von patentgeschützter Software ab. |
Benutzer können die über die Paketquellen von RPM Fusion bereitgestellte nicht-freie Software nutzen, um die proprietären NVIDIA-Treiber, Multimedia-Codecs oder andere Software zu verwenden, die nicht Teil von Fedora ist.
Erste Installation
Bei der erstmaligen Installation der RPM Fusion-Paketquellen müssen Sie die versionierten RPMs installieren:
$ 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
$ neu starten
Fahren Sie dann mit dem nächsten Abschnitt fort, um Ihr System auf größere Fedora-Aktualisierungen vorzubereiten.
Wichtige Fedora-Aktualisierungen
Nach dem Neustart im neuen Bereitstellungsmodus können Sie den folgenden Befehl ausführen, um die Sperre für die zuvor installierten versionierten Pakete aufzuheben. Dadurch werden die RPM-Fusion-Paketquellen bei größeren Fedora-Versionsaktualisierungen automatisch aktualisiert und korrekt versioniert:
$ sudo rpm-ostree update \
--uninstall rpmfusion-free-release \
--uninstall rpmfusion-nonfree-release \
--install rpmfusion-free-release \
--install rpmfusion-nonfree-release
$ reboot
Weitere Informationen finden Sie diesem Thread im Fedora Diskussionsforum.
Arbeiten mit Toolbx
Herausfinden, ob Sie sich aktuell in einem Toolbx-Container befinden
Wenn Sie Toolbx häufig für verschiedene Aufgaben nutzen und mehrere Toolbx-Container verwenden, kann es schwierig sein, den Überblick zu behalten, ob Sie Befehle gerade auf dem Host oder in einem Toolbx-Container ausführen. Außerdem gibt es derzeit keinen Befehl, der Ihnen anzeigt, in welchem Toolbx-Container Sie arbeiten.
Um dies zu beheben, können Sie den folgenden Shell-Alias am Ende Ihrer ~/.bashrc hinzufügen:
alias istoolbx='[ -f "/run/.toolboxenv" ] && grep -oP "(?<=name=\")[^\";]+" /run/.containerenv'
Wenn Sie eine neue Shell öffnen, steht Ihnen nun der neue Befehl istoolbx zur Verfügung. Dieser verhält sich wie folgt:
-
Wird er vom Host ausgeführt, gibt er den Exit-Code 1 zurück.
-
Wird er aus einem Toolbx-Container ausgeführt, gibt er den Exit-Code 0 zurück und gibt den Namen des aktuellen Toolbx-Containers in der Konsole aus.
Wenn Sie eine automatisiertere Lösung bevorzugen, ändert das Hinzufügen des Folgenden zu Ihrer ~/.bashrc Ihre Bash-Eingabeaufforderung so, dass sie "[toolbox <Name>]" enthält:
function is_toolbox() {
if [ -f "/run/.toolboxenv" ]
then
TOOLBOX_NAME=$(cat /run/.containerenv | grep -oP "(?<=name=\")[^\";]+")
echo "[${HOSTNAME} ${TOOLBOX_NAME}]"
fi
}
Sie können nun is_toolbox in Ihre PS1-Variable aufnehmen und müssen keine zusätzlichen Befehle ausführen, um festzustellen, ob Sie sich in einer Toolbox- oder Host-Shell befinden.
export PS1="\[\e[31m\]\`is_toolbox\`\]\e[m\]\[\e[32m\]\\$ \[\e[m\]\[\e[37m\]❱\[\e[m\] "
Dies führt zu einer Eingabeaufforderung, die außerhalb einer Toolbox folgendermaßen angezeigt wird: $ ❱
Wenn man es jedoch in einer Toolbox mit dem Namen "default" ausführt, sieht es so aus: [toolbox default]$ ❱
Ausführen von Anwendungen aus Toolbx auf dem Host
Dies kann erforderlich sein, wenn Sie mit Werkzeugen des Hostsystems wie podman, nmcli oder rpm-ostree interagieren möchten, ohne den Toolbx-Container zu verlassen. Hierfür können Sie flatpak-spawn verwenden, das in der Basisinstallation enthalten ist:
$ flatpak-spawn --host podman --help
Wenn die Anwendung, die Sie aufrufen möchten, sudo-Zugriff benötigt, muss die Option -S wie folgt an sudo übergeben werden:
$ flatpak-spawn --nost sudo -S rpm-ostre status
Wenn Sie häufig Befehle wie diese verwenden, um beispielsweise vom Toolbx-Container aus auf den flatpak-Befehl zuzugreifen, können Sie sich ein kurzes, benutzerdefiniertes Wrapper-Skript erstellen (innerhalb des Toolbx-Containers). Führen Sie dazu die folgenden Schritte aus:
-
Definieren Sie den Alias
istoolbx(der Einfachheit halber), indem Sie den oben genannten Befehl in Ihrem Terminal ausführen. -
Stellen Sie sicher, dass Sie sich in einem Toolbx-Container befinden. Falls der folgende Befehl keine Ausgabe erzeugt, arbeiten Sie wahrscheinlich noch auf dem Hostsystem!
[toolbx]$ istoolbx <Name des Toolbx-Containers hier> -
Sobald Sie sichergestellt haben, dass Sie sich in einem Toolbx-Container befinden, führen Sie folgenden Befehl aus:
[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
Es steht Ihnen nun ein flatpak-Befehl zur Verfügung, mit dem Sie mit flatpak interagieren können, als ob Sie den Befehl auf dem Host ausführen würden.
Arbeiten mit ostree/rpm-ostree
Änderungen am Basisbetriebssystem verfolgen
In Betriebssystemen, die auf ostree basieren, sind einige Verzeichnisse, wie beispielsweise /etc, für den Benutzer beschreibbar. Mit dem folgenden Befehl erhalten Sie einen schnellen Überblick über die unter /etc geänderten Dateien:
$ sudo sharper admin config-diff
Um einen detaillierteren Unterschied zu erhalten, können Sie beispielsweise Folgendes verwenden:
$ sudo diff -yrW200 --suppress-common-lines --color=always /usr/etc /etc 2>/dev/null
|
Das funktioniert, weil ostree eine unveränderte Kopie des Verzeichnisses |
Arbeiten mit Flatpak-Anwendungen
Direkter Zugriff auf Flatpak-Anwendungen über die Befehlszeile
Der auffälligste Unterschied bei der Verwendung von Flatpak-Anwendungen anstelle herkömmlicher Installationen besteht darin, dass die Anwendungen nicht mehr direkt über die Befehlszeile aufgerufen werden können, etwa so:
$ evince
bash: Befehl nicht gefunden: evince
Man kann sie stattdessen auch so nennen:
$ flatpak run org.gnome.Evince
Darüber hinaus exportieren die meisten Flatpak-Anwendungen ihre internen Binärdateien unter einem installationsabhängigen Speicherort:
-
Bei Flatpak-Anwendungen, die von
system-Remotes installiert wurden, befinden sich diese unter/var/lib/flatpak/exports/bin/. -
Bei Flatpak-Anwendungen, die von
user-Remotes installiert wurden, befinden sich diese unter$HOME/.local/share/flatpak/exports/bin/.
|
Wenn Sie sich nicht sicher sind, zu welcher Installation eine Flatpak-Anwendung gehört, können Sie dies mit diesem Befehl anzeigen lassen:
|
Sie können diese Verzeichnisse dann entweder zu Ihrem $PATH hinzufügen:
$ org.gnome.Evince
oder richten Sie bei Bedarf Shell-Aliase ein, um sie der Befehlszeilenschnittstelle wie folgt zur Verfügung zu stellen:
$ alias evince="flatpak run org.gnome.Evince"
### oder:
alias evince="org.gnome.Evince"
$ evident
Want to help? Learn how to contribute to Fedora Docs ›