Schlagwort: uu

  • Fedora Silverblue – Speicherplatz freigeben

    Option 1: Alte Deployments entfernen

    Gewöhnlich werden immer nur 2 bzw. 3 Deployments bei Silverblue vorgehalten. D.h. man hat mind. eine alte Version des Betriebssystems, in die man z.B. bei Problemen booten kann:

    rpm-ostree status
    State: idle
    Deployments:
    ● fedora:fedora/37/x86_64/silverblue
                      Version: 37.20221210.0 (2022-12-10T00:41:48Z)
                   BaseCommit: ae94b79996705356a2aa95038f6155a8132899bbd6d63762b563ba7cb7e46de3
                 GPGSignature: Valid signature by ACB5EE4E831C74BB7C168D27F55AD3FB5323552A
              LayeredPackages: distrobox powertop vim
    
      fedora:fedora/37/x86_64/silverblue
                      Version: 37.20220925.n.0 (2022-09-25T08:01:09Z)
                   BaseCommit: c6a720b4ca644974554dc7069d0e6bd7f3f091cff702345024196b5295657413
                 GPGSignature: Valid signature by ACB5EE4E831C74BB7C168D27F55AD3FB5323552A
              LayeredPackages: distrobox powertop vim

    Damit Deployments nicht automatisch gelöscht werden (z.B. nach einem Upgrade von Fedora 36 auf 37) können diese angepinnt werden. Diese Einträge werden dann mit folgendem Hinweis versehen:

                   Pinned: yes

    Um diese Einträge zu entfernen, muss man erstmal die Stecknadel lösen:

    sudo ostree admin pin --unpin <nummer> # nummer ist der Index in der Liste

    Danach werden auch diese Einträge mit dem cleanup Befehl entfernt:

    rpm-ostree cleanup -r 
    Transaction complete; bootconfig swap: yes; bootversion: boot.0.0, deployment count change: -3
    Freed: 3,7 GB (pkgcache branches: 6)

    Option 2: ungenutzte Flatpaks entfernen

    Gewöhnlich werden alte Flatpaks automatisch entfernt. Ist dies jedoch noch nicht geschehen, kann man dies auch erzwingen:

    flatpak uninstall --unused
  • Gnome Erweiterungsmanager

    Gnome Erweiterungsmanager

    Es gibt mehrere Methoden, wie man Gnome Shell Erweiterungen installieren kann:

    1. Über die Webseite extensions.gnome.org mit Browsererweiterung
    2. Über den Paketmanager
    3. Dateien kopieren (nach ~/.local/share/gnome-shell/extensions)

    Leider findet man nicht alle Erweiterungen im Repo der eigenen Distribution und leider existiert die Browsererweiterung, die man benötigt, um extensions.gnome.org zu nutzen nicht für jeden Browser bzw. ist auch nicht immer einfach nutzbar (z.B. im Firefox Flatpak). Die manuelle Installation und besonders das Aktualisieren empfiehlt sich aus offensichtlichen Gründen natürlich nicht.

    Erweiterungsmanager

    Doch seit kurzem gibt es eine neue Anwendung über Flathub, mit der man sowohl Erweiterungen suchen, diese installieren als auch konfigurieren kann.

    Hierzu muss man natürlich Flatpak installiert und Flathub aktiviert haben. Danach kann man die Anwendung Erweiterungs Manager entweder über die Softwareverwaltung installieren oder über die Kommandozeile (siehe vorheriger Link).

    Detailansicht der "Blur My Shell" Erweiterung
    Detailansicht
    Ansicht der Suche vom Erweiterungs Manager
    Suche
    Das Bild zeigt die installierten Anwendungen im Erweiterungs Manager
    Installierte Erweiterungen
  • Schnelle Emoji-Eingabe in allen Anwendungen

    Mit Strg + . (Punkt) kann unter Gnome der Emoji-Dialog angezeigt werden. Leider funktioniert dieser nur in GTK Anwendungen.

    Emoji Dialog in Gnome

    Um schnell in allen Anwendungen, also auch denen, die nicht GTK verwenden, Emojis einzugeben kann eine IBus-Eingabehilfe verwendet werden:

    Chrome – hier funktioniert der normale Dialog leider nicht

    Konfiguration:

    Die Einrichtung geht recht einfach:

    1. Gnome Tastatur-Einstellungen öffnen
    2. Neue Eingabequelle „Typing Booster“ hinzufügen
    3. In dessen Einstellungen die Emoji-Optiona aktivieren und ggf. andere Optionen deaktivieren (z.B. Wortvorschläge)

    Video:

    Benutzung:

    Wechseln mittels Super + Leertaste

    Um die Eingabequelle zu wechseln, muss man nun nur noch Super + Leertaste drücken. Nach dem Eingeben von Emojis sollte man natürlich wieder zurückwechseln, da jedes Wort als Emoji-Name interpretiert wird.

    Natürlich geht die Emoji-Eingabe damit auch in GTK-Anwendungen. Man kann nach den Emojis auch auf Englisch suchen:

    Eingabe mittels IBus Typing Booster auf 🇬🇧

    Über die Nummern kann man übrigens auch direkt das richtige Emoji aus der Liste auswählen.

  • LXC-Container mit zwei+ IP-Adressen in verschiedenen Netzwerken

    Mit mehrere Netzwerkgeräten kann man einem LXC-Container mehrere IP-Adressen in unterschiedlichen Netzen zuweisen.

    Dazu erstellt man in der LXC-Container-Konfiguration (z.B.: /var/lib/lxc/beispiel-kontainer/config) zwei (oder mehr) Blöcke mit entsprechenden Netzwerk-Einstellungen.

    lxc.network.type = veth
    lxc.network.flags = up
    lxc.network.link = br0
    lxc.network.name = eth0
    lxc.network.hwaddr = 00:16:3e:1d:3f:2b
    lxc.network.ipv4 = 123.122.121.120/32
    lxc.network.ipv4.gateway = 188.187.186.185
    
    
    lxc.network.type = veth
    lxc.network.flags = up
    lxc.network.link = lxcbr0
    lxc.network.name = eth1
    lxc.network.hwaddr = 00:16:3e:1d:4f:1b
    lxc.network.ipv4 = 10.0.0.10
    

    In diesem Beispiel hat der Host die IP-Adresse 188.187.186.185 und der Container die private 10.0.0.10 und öffentliche 123.122.121.120 IP-Adresse. Da Host-IP und die öffentliche IP-Adresse des Containers in unterschiedlichen Netzwerken liegen muss man beim Host eine entsprechende Route eintragen.

    Hier der entsprechende Auszug aus /etc/network/interfaces des Hosts:

    iface br0 inet static
            bridge_ports eth0
            bridge_stp off
            bridge_fd 0
            bridge_maxwait 0
            address 188.187.186.185
            broadcast 188.187.186.255
            gateway 188.187.186.1    
            up route add -host  123.122.121.120/32 dev br0
    

    Nun kann der Container neu gestartet werden. Ohne Konfiguration innerhalb des Containers kennt dieser nun 2 neue Netzwerkgeräte, IP-Adressen und die entsprechenden Routen:

    $ route -n
    Kernel-IP-Routentabelle
    Ziel                         Router                      Genmask                   Flags  Metric Ref    Use Iface
    0.0.0.0                   188.187.186.185    0.0.0.0                   UG            0       0        0 eth0
    10.0.0.0                 0.0.0.0                    255.0.0.0               U              0       0        0 eth1
    188.187.186.185   0.0.0.0                    255.255.255.255   UH            0       0        0 eth0
    
  • Bash Prompt mit zufälligen Farben

    Bildschirmfoto von »2016-06-21 00-08-29«

    Wer mit vielen Containern oder Rechnern arbeitet verliert schnell den Überblick darüber in welcher Shell man sich gerade befindet. Aus diesem Grund habe ich mich entschieden die Farben meines Prompts zufällig generieren zu lassen, damit ich schnell merke in welcher Shell ich mich befinde.

    Dazu habe ich bei jedem Container drei Zeilen in die ~/.bashrc der root Nutzer eingetragen:

    r_col1=$(( $RANDOM * 6 / 32767 +1 ))
    r_col2=$(( $RANDOM * 6 / 32767 +1 ))
    PS1='\[$debian_chroot\]\[\e[3$(echo "$r_col1")m\]\u\[\033[0m\]@\[\e[3$(echo "$r_col2")m\]\h\[\033[0m\]:\w\$ '
    

    Die ersten beiden Zeilen generieren jeweils einen Zufallswert zwischen 1 und 6. Dann werden diese als Farb-Codes in den Prompt eingesetzt:

    \e[3$(echo $r_col1)m\u
    

    Dieser Teil fügt mit \e[34m einen zufälligen Farbcode hinzu (31 – 36). Darauf folgt der Benutzername mit \u. Das selbe dann nochmal in anderer Farbe für den Hostname (\h).

    Durch die Kombination von Benutzername und Hostname gibt es insgesamt 36 Farbkombinationen. Wer Rot als Farbe ausschließen möchte kann aus dem +1 einfach ein +2 machen.

    Das kann man bestimmt auch etwas eleganter umsetzen. In diesem Sinne: Verbesserungsvorschläge willkommen.

  • mpv – Videos per Tastendruck löschen und verschieben

    Wenn man eine größere Video-Sammlung zum Sichten hat, oder Video-Podcasts automatisch herunterladen lässt, dann ist es oft aufwendig die Dateienin einem zweiten Schritt zu löschen oder sortieren.

    Mit mpv und selbst definierten Tastenkombinationen in der Konfigurationsdatei ~/.mpv/input.conf kann man den Prozess vereinfachen.

    Folgende Zeile in der Datei löscht beim Drücken von Strg+r die aktuell angezeigte Mediendatei und zeigt eine Meldung an.

    ctrl+r run "rm" "-v" "${path}" ; show_text "Gelöscht: ${filename}"
    

    Um die Datei nur in den Papierkorb zu verschieben, nicht aber zu löschen kann das Programm trash-cli anstelle von rm verwendet werden. Das Programm befindet sich in den Repositories der meisten großen Linux Distributionen.

    Zum verschieben verwendet man mv anstelle von rm.

    ctrl+m run "mv" "-v" ${path} "/home/Schreiberling/Schnitt/gesichtet" ; show_text "Nach ~/Schnitt/gesichtet verschoben"
    
  • mpv – Tastenkombination zum Drehen von Videos

    In der heutigen Zeit kommt es immer häufiger vor dass man mit vertikalen Videos zu tun hat. Es kann viele verschiedene Gründe geben warum warum die Metadaten zur Orientierung des Videos verloren gehen. Für diese Fälle bietet es sich an das Video einfach im Video-Player zu drehen.

    Um bei mpv eine Tastenkombination zu vergeben fügt man folgende Zeilen in die Datei ~/.mpv/input.conf hinzu:

    # Rotate by 90 degrees clockwise
    Alt+RIGHT no-osd vf add rotate=90
    # Rotate by 90 degrees counterclockwise
    Alt+LEFT no-osd vf add rotate=270
    

    Danach kann man mit „alt“+“Linker Pfeiltaste“ bzw. Rechter Pfeiltaste das Video um 90° gegen oder im Uhrzeigersinn drehen.

  • Passwort-Recovery bei einem Headless RaspberryPi

    Hat man seinen RaspberryPi länger nicht benutzt, oder will SD-Karten mit alten Installationen nutzen kann es sein dass man das Passwort vergessen hat.

    Da der RaspberryPi headless läuft kann man nicht einfach einen Bildschirm und Tastatur anschließen und via init=/bin/bash in eine Shell starten. Zumindest ist das in meinem Fall so.

    Deshalb nimmt man sich einfach die SD-Karte und öffnet die Passwort-Datei /etc/shadow dort kann man nun folgendes tun:

    1. Den Passwort-Hash ersetzen
    2. Den Passwort-Hash entfernen

    Bei der ersten Methode braucht es zuerst einen neuen Hash den man einsetzen kann. Bei Debian und ebenso Raspbian wird der SHA-512 Hashing-Algorithmus verwendet.

    In der /etc/shadow steht in der zweiten Spalte der Passwort-Hash, die Spalten werden hier mit : getrennt:

    root:$6$X1FoOoKgi4PZR[…]
    

    Fängt der Hash mit $6 an dann handelt es sich um SHA-512. Um nun einen neuen Hash zu generieren nutzt man folgenden Befehl:

    mkpasswd -m sha-512 
    

    Dann wird man nach dem Passwort gefragt und es wird ein Hash erstellt. Diesen kann man dann in die Passwort-Datei kopieren.

    Man kann aber auch ganz einfach den Hash ganz entfernen, dann braucht es überhaupt kein Passwort mehr. Danach sollte man beim einloggen mit passwd zur Sicherheit jedoch ein neues Passwort vergeben.

  • GRUB auf allen RAID-Festplatten installieren (Debian & Derivate)

    Installiert man ein RAID möchte man im Zweifelsfall von jeder Festplatte booten können. Deshalb sollte GRUB auf allen Festplatten installiert sein. Der Installer von Debian installiert GRUB standardmäßig jedoch nur auf einer Festplatte.

    Die einfachste Methode GRUB auf allen Festplatten eines RAIDs zu installieren ist über den folgenden Befehl:

    dpkg-reconfigure grub-pc
    

    Dort kann man nun die Festplatten auswählen auf denen GRUB installiert wird. Ändert man die Konfiguration von GRUB wird die Änderung automatisch auf alle Festplatten übertragen.

    grub-raid

  • mpv – ein moderner mplayer fork

    mpv ist ein Fork von mplayer bzw. mplayer2 der einige Dinge besser macht.

    Neben offensichtlichen Vorteilen wie dem kürzerem Befehl (mpv) verbessert der mplayer-Fork die Usability auch durch andere Kleinigkeiten, wie etwa dem Icon und der UI.

    Rechts mplayer ohne Icon, links mpv mit
    Rechts mplayer ohne Icon, links mpv mit

    Andere Bemerkenswerte Unterschiede zu mplayer(2):

    • Fehler und Meldungen werden farbig im Terminal dargestellt
    • mpv kann direkt von Youtube streamen
    • Das Problem dass Videos, bei verschiedenen Aktionen, un-pausiert wurden existiert nicht
    • Spielt man eine Liste von Videos ab, wird nicht jedes mal ein neues Fenster gezeichnet
    • Lange Parameter starten mit doppeltem Minus: –fullscreen

    Die Entwicklung findet bei Github statt: mpv-player

    Die Lizenz ist GPLv2 oder höher.

    Neues OSD (On Screen Display)
    Neues OSD (On Screen Display)

    Edit: Möchte man eigene Kommandos aus mpv heraus ausführen kann man dies über das run Kommando tun.

    Möchte man etwa die Mediendatei löschen die gespielt wird kann man dies über folgenden Befehl tun.

    echo 'ctrl+r run "rm" "${filename}"' >> ~/.mpv/input.conf
    

    Dadurch wird ein neuer Eintrag in die Datei ~/.mpv/input.conf geschrieben. Zunächst definiert man die Taste (-nkombination), nutzt dann den run Befehl und das Kommando das man ausführen möchte, hier rm.

    Weitere Informationen findet man in der Datei input.rst und unter Property Expansion in der Dokumentation.