staging.inyokaproject.org

15. September 2023

Firefox Send war ein Filesharing-Dienst von Mozilla, der zwischen März 2019 und Juli 2020 betrieben und dann eingestellt wurde. Wie die MZLA Technologies Corporation in seinem Podcast bekannt gegeben hat, wird Firefox Send zurückkommen – als Teil von Thunderbird.

Was war Firefox Send?

Firefox Send war ein Filesharing-Dienst, den Mozilla im März 2019 offiziell gestartet hatte. Die Nutzung von Firefox Send war kostenlos und erfolgte durch eine Ende-zu-Ende-Verschlüsselung sicher. Durch die Festlegung einer Maximal-Dauer sowie einer Maximal-Anzahl an Downloads löschten sich die Dateien nach kurzer Zeit wieder von selbst vom Mozilla-Server.

Im Juli 2020 hatte Mozilla den Dienst wieder offline genommen, nachdem dieser zunehmend für Cyberkriminalität missbraucht worden war. Ursprünglich sollte es sich dabei nur um eine temporäre Auszeit handeln, während Mozilla im Hintergrund an Verbesserungen arbeitete. Nicht zuletzt durch die finanziellen Auswirkungen von COVID-19 sowie Kommerzialisierungsplänen anderer Produkte, die nicht wie erhofft aufgingen, kam es dann allerdings zu einer Umstrukturierung innerhalb Mozillas, welche auch die Kündigung von 250 Mitarbeitern zur Folge hatte. Im Zuge dieser Umstrukturierung wurde dann im September beschlossen, Firefox Send aus Kostengründen nicht wieder online zu schalten.

Thunderbird-Projekt bringt Firefox Send zurück

Wie die MZLA Technologies Coporation, die Tochtergesellschaft der Mozilla Foundation, welche Thunderbird entwickelt, vor kurzem in seinem Podcast verraten hat, wird „Firefox Send innerhalb der Thunderbird-Familie wiedergeboren“.

Wie das genau aussehen wird, ist zu diesem Zeitpunkt noch nicht bekannt. Das Ganze geschieht jedenfalls mit der Zielsetzung, E-Mails besser zu machen, indem nicht nur Dinge genutzt werden, die auf dem Computer des Anwenders ausgeführt werden können, sondern durch Dienste, die das Thunderbird-Projekt für seine Nutzer bereitstellen kann.

Bereits im Februar hatte die MZLA Technologies Coporation angekündigt, zusätzliche Dienste in Entwicklung zu haben und damit neue Einnahmequellen zu schaffen. Denn bislang lebt Thunderbird fast ausschließlich von Spenden, während das Team immer größer wird und ambitionierte Pläne hat. So verändert sich nicht nur Thunderbird für Windows, macOS und Linux mit großen Schritten, auch befindet sich Thunderbird für Android seit der Übernahme von K-9 Mail in Entwicklung, während die Entwicklung von Thunderbird für Apple iOS noch in diesem Jahr starten soll.

Es ist also gut möglich, dass wir in Zukunft entweder einen vollständig kostenpflichtigen Dienst oder auch einen Dienst mit sowohl kostenloser sowie kostenpflichtiger Option in Thunderbird sehen werden, um Dateien sicher an andere Empfänger zu übermitteln, ohne die Maximalgröße des jeweiligen Postfachs zu belasten, möglicherweise auch wieder mit der Option der Selbstlöschung. Was genau das Team vorhat, ist noch nicht angekündigt.

Der Beitrag Firefox Send kommt zurück – als Teil von Thunderbird erschien zuerst auf soeren-hentzschel.at.

FOSS-Einsteiger werden oft zu "Distrohoppern". Hat das eigentlich nur Vorteile?



Als ich mich zuerst mit GNU/Linux beschäftigt habe, fiel die Wahl meiner ersten Distribution auf Linux Mint. Ich hatte damit einen wirklich tollen Einstieg in die Welt des freien Betriebssystems – und auch in die FOSS-Gemeinschaft. Mir hat das Konzept dahinter sogar so gut gefallen, dass ich mich immer mehr mit den verschiedenen Aspekten der Software und der zugehörigen Community befasst habe. Ich habe versucht, mir möglichst viel Wissen dazu anzulesen, weil mich die Ideen hinter freier Software begeistert haben. Irgendwann bin ich dann auf die vielen weiteren Distributionen neben Linux Mint gestoßen, und es war um mich geschehen.

Mit der Zeit habe ich immer mehr Distros ausprobiert: Von Debian bis Slackware, von Manjaro und openSUSE bis zu Fedora, selbst Arch habe ich mir irgendwann angeschaut, um hier mal ein paar Beispiele zu nennen. Über die Monate und Jahre hinweg, in denen ich bisher Linux-Betriebssysteme verwendet habe, hatte ich Gelegenheit, so einige Projekte kennenzulernen. Und diese Gelegenheit habe ich auch genutzt. Mit dieser Verhaltensweise bin ich sicherlich nicht der einzige in der Community: Gerade Einsteiger werden oft zu „Distrohoppern“, die ihr Betriebssystem ständig wechseln. Zumindest kann dieser Eindruck aufkommen, wenn man sich die Diskussionen in den einschlägen Linux-Foren, zum Beispiel in den GNU/Linux.ch-Matrix-Kanälen anschaut.

Bei mir war das im Grunde nicht anders, das habe ich ja bereits beschrieben: Mein Interesse an freier Software hat mich dazu veranlasst, immer mehr davon zu testen. Dadurch konnte ich einiges hinzulernen, und die Stärken und Schwächen verschiedener Projekte herausfinden. Ich habe feststellen können, welche Software mir besonders gut gefällt, und welche eher nichts für mich ist. Eigentlich klingt das doch ziemlich positiv, oder? Denn nur wer sich wirklich mit einem Projekt, einer Anwendung oder eben einer Distribution auseinandersetzt, kann auch tatsächlich darüber urteilen. Vielleicht lassen sich so sogar Vorurteile ausschließen, was die Diskussionskultur in der FOSS-Gemeinschaft wiederum verbessern könnte. Aber ist das Distrohopping als ständiger Distributionswechsel wirklich so positiv?

Ja, ich sehe durchaus positive Seiten. Wenn man so über das Thema nachdenkt, kommen einem diese vermutlich auch am ehesten in den Sinn. Freie Software ist für viele ein Hobby, in das sie sich wunderbar vertiefen können. Das möchte ich auch niemandem absprechen – aber trotzdem habe ich das Gefühl, dass es nicht wirklich sinnvoll ist, das Distrohopping so einseitig zu betrachten.

Für mich spielt hier zunächst ein ganz grundlegender Faktor eine Rolle: Distrohopping kostet Zeit. In einer euphorischen Begeisterung über die Ideen freier Software fällt das vielleicht gar nicht so sehr auf. Doch genau hier liegt die Krux, ein Problem, dass sich für mich schleichend immer größer angefühlt hat. Es lohnt sich, das Ganze einfach mal durchzurechnen: Mal angenommen, ein Installationsabbild für eine Distribution ist zwei Gigabyte groß. Je nach Downloadgeschwindigkeit kann es mit einer Wlan-Verbindung durchaus eine Viertelstunde dauern, bis das Installationsabbild überhaupt heruntergeladen ist. Danach muss diese ISO-Datei noch auf ein Installationsmedium, also zum Beispiel einen USB-Stick geschrieben werden – das dauert überschlagen auch eine Viertelstunde. Wenn die eigentliche Installation dann wieder eine halbe Stunde beansprucht, liegt ein Anwender bereits bei einer Stunde „investierter“ Zeit.

Aber hier hört es noch lange nicht auf: Denn wenn ein System einmal installiert ist, möchte es auch eingerichtet werden. Wieder vergeht eine Stunde, oder auch zwei. Auch Dateien und Webbrowser-Lesezeichen möchten importiert werden, das frisst auch wieder Zeit. Und was ist eigentlich, wenn auf dem neuen System auf einmal unerwartete Probleme auftreten, die gelöst werden wollen? Ich weiß nicht, ob ich meine Schätzungen hier zu hoch ansetze – aber im Grunde können Anwender bei einem Distributionswechsel mit mindestens zwei, vielleicht sogar drei oder mehr Stunden Arbeit rechnen. Wenn nun ein Distrohopper monatlich, vielleicht sogar alle zwei Wochen oder noch regelmäßiger das eigene System austauscht, kommen da wohl einige Augenblicke zusammen.

Natürlich macht man das als Linux-Anwender gerne, natürlich lernt man die neue Distribution dadurch besser kennen und sammelt Erfahrungen zu freier Software im Allgemeinen. Aber eine Frage muss doch erlaubt sein: Lohnt sich das wirklich? Ich kann hier nicht für alle sprechen, nur für mich selbst. Und für mich selbst muss ich leider feststellen, dass sich meine Eskapaden durch den den Linux-Dschungel nicht immer gelohnt haben, und das ich mir manchmal zu große Hoffnungen von einer Distribution gemacht habe.

Wenn auf dem eigenen Rechner eine Distribution die nächste überschreibt, oder die fünfte virtuelle Maschine der Woche angelegt wird, frage ich mich schon, ob das Distrohopping hier so wirklich positive Auswirkungen hat. Klar, man lernt dazu – aber muss man dazu wirklich immer ein neues Betriebssystem installieren? Im Grunde lässt sich mit den meisten Distributionen ohnehin ein Großteil jeglicher Arbeit erledigen, die man je von einem System abverlangen könnte. Trotzdem habe zumindest ich viele Distros ausprobiert. Manchmal habe ich mich sogar dabei erwischt, bei Distributionen explizit nach Gründen zu suchen, etwas anderes auszuprobieren. So kann Distrohopping doch auch keinen Spaß mehr machen, oder?

Im Grunde läuft die Diskussion, die ich hier anstoßen möchte, auf eine Frage hinaus: Wann wollen wir uns mit einer Distribution zufrieden geben? Denn es sind immer unsere eigenen Ansprüche, die hier im Vordergrund stehen, und erfüllt werden wollen. Ich würde aus heutiger Sicht nicht sagen, dass ich meine Distrohopping-Abenteuer bereue – aber manche waren vielleicht doch zu viel des Guten. Ja, ich weiß heute, welche Distributionen ich mehr oder weniger gern mag. Aber hätte ich das nicht auch anders herausfinden können?

Die meisten grafischen Oberflächen können unter den meisten bekannten Distributionen problemlos nachinstalliert und individuell konfiguriert werden. Trotzdem haben Distros, die diese Aufgaben übernehmen, einen Reiz. Kleine Distro-spezifische Hilfsprogramme klingen toll, wenn man in einem Artikel darüber ließt. Aber im Alltag braucht man sie vielleicht doch nur einmal im Monat. Jede Distribution findet mindestens eine Anhängerin, nämlich diejenige, die sie erstellt. Aber ob sie auch für die große Masse der Linux-Anwender eine Installation wert ist, bleibt eine ganz andere Frage. Und bei manchen Distributionen würde ich diese heute wohl ein bisschen anders beantworten, als noch vor ein paar Wochen oder Monaten.

Momentan läuft bei mir ein Debian GNU/Linux-System auf dem Hauptrechner – und ich bin sehr zufrieden damit. Ich habe mir diese Installation genau so konfiguriert, wie ich sie gerne hätte, und habe eigentlich keinen Grund, noch über andere Distributionen nachzudenken. Trotzdem weiß ich, dass mich die neue Ubuntu-Version interessieren wird, und dass ich beim nächsten Fedora-Release die Augen offen halten werde. Ob ich das wirklich sollte, oder müsste – da bin ich mir selbst nicht ganz so sicher.

Distrohopping kann Spaß machen, es kann ein interessanter Zeitvertreib sein. Freie Software ist ein Hobby, und es ist auch mein Hobby. Aber ständig das eigene System zu tauschen, keiner Distribution treu zu bleiben – das kann auch auf die Nerven gehen. Zumindest ging es mir so. Momentan habe ich eher Lust, mich tiefgehender mit einer Distribution zu befassen. Meine Wahl fällt dabei auf Debian – wenn das bei euch anders ist, ist das auch vollkommen in Ordnung. Den schleichenden Verdacht, mit dem Distrohopping eigentlich stets an der Oberfläche der Software zu kratzen, mit der man sich eigentlich auskennen möchte, den konnte ich mit der Zeit einfach nicht mehr ausblenden. Und das wollte ich irgendwann auch nicht mehr. Wie seht ihr das?

Bildnachweis: Christopher Michel, CC BY 2.0, via Wikimedia Commons


GNU/Linux.ch ist ein Community-Projekt. Bei uns kannst du nicht nur mitlesen, sondern auch selbst aktiv werden. Wir freuen uns, wenn du mit uns über die Artikel in unseren Chat-Gruppen oder im Fediverse diskutierst. Auch du selbst kannst Autor werden. Reiche uns deinen Artikelvorschlag über das Formular auf unserer Webseite ein.

13. September 2023

Die MZLA Technologies Corporation hat mit Thunderbird 115.2.2 ein Sicherheits-Update für seinen Open Source E-Mail-Client veröffentlicht.

Neuerungen von Thunderbird 115.2.2

Mit dem Update auf Thunderbird 115.2.2 hat die MZLA Technologies Corporation ein Sicherheits-Update für seinen Open Source E-Mail-Client veröffentlicht. Dieses behebt eine schwerwiegende Sicherheitslücke im Code für das Dekodieren von WebP-Bildern, welche bereits aktiv ausgenutzt wird. Es handelt sich dabei um die gleiche Sicherheitslücke, welche unter anderem auch in Firefox 117.0.1 und dem gestern veröffentlichten Update von Google Chrome behoben worden ist.

Der Beitrag Sicherheits-Update Thunderbird 115.2.2 veröffentlicht erschien zuerst auf soeren-hentzschel.at.

12. September 2023

Mozilla hat Firefox 117.0.1 veröffentlicht. Neben anderen Korrekturen behebt Firefox 117.0.1 auch eine schwerwiegende Sicherheitslücke, welche bereits aktiv ausgenutzt wird.

Download Mozilla Firefox 117.0.1

Mit dem Update auf Firefox 117.0.1 behebt Mozilla eine Sicherheitslücke im Code für das Dekodieren von WebP-Bildern, welche bereits aktiv ausgenutzt wird. Es handelt sich dabei um die gleiche Sicherheitslücke, von welcher auch Google Chrome betroffen war, für den heute ebenfalls ein Update veröffentlicht worden ist. Auch andere auf Chromium basierende Browser dürften betroffen sein und entweder ein Update erhalten haben oder zeitnah erhalten. Sowohl der Zeitpunkt als auch die Beschreibung der Schwachstelle sowie Apple und Citizen Lab als erwähnte Reporter der Schwachstelle legen einen Zusammenhang zum sogenannten Blastpass-Exploit nahe: Apple veröffentlichte vor wenigen Tagen Sicherheits-Updates für macOS, iOS und iPadOS. Die damit behobene Schwachstelle wurde ausgenutzt, um über ein manipuliertes Bild die sogenannte Pegasus-Spyware einzuschleusen, ohne dass dazu eine weitere Interaktion durch den Angreifer notwendig gewesen ist.

Eine Änderung in Firefox 117.0 verursachte, dass Erweiterungen, welche länger andauernde Aufgaben im Hintergrund ausführten, nach 30 Sekunden stoppten. Dieses Problem wurde behoben. Auch meine Erweiterung Bookmarks Organizer wurde betroffen. Hierfür veröffentlichte ich allerdings bereits vor ein paar Tagen ein Update, welches das Problem umging. Aber auch andere Erweiterungen können potenziell betroffen gewesen sein.

Ein Fehler wurde behoben, der verursachte, dass Links, welche in einer anderen Anwendung angeklickt worden sind, einen bis dahin geschlossenen Firefox auf macOS nicht öffnen ließen.

Die Option, alle kürzlich geschlossenen Tabs mit einem Mal zu öffnen, hatte nicht mehr alle Tabs geöffnet.

Das Problem wurde behoben, dass das Lesezeichen-Menü manchmal teilweise sichtbar geblieben war, nachdem Firefox minimiert wurde.

Ein Problem mit dem Inspektor-Entwicklerwerkzeug beim Untersuchen von SVG-Elementen wurde behoben sowie ein Fehler in Zusammenhang mit Sourcemaps im Debugger.

Außerdem wurden drei Webkompatibilitätsprobleme behoben. Zum einen konnte URL.protocol seit Firefox 117.0 nicht mehr geändert werden. Diese war eine beabsichtigte Änderung gemäß Spezifikation, welche mit Firefox 117.0.1 temporär zurückgenommen worden ist. Sobald Google die gleiche Änderung in Chrome ausgeliefert hat (was nach aktuellem Plan am 10. Oktober sein wird) wird Firefox die Änderung final umsetzen. Des Weiteren wurden auf manchen Websites falsche Zeitzonen erkannt und Websites, welche WebAssembly-Ausnahmebehandlungen und Audio-Worklets verwenden, funktionierten nicht mehr.

Schließlich wurde noch in den Firefox-Einstellungen eine zu groß angezeigte Grafik verkleinert.

Der Beitrag Mozilla veröffentlicht Sicherheits-Update Firefox 117.0.1 erschien zuerst auf soeren-hentzschel.at.

Weitere Vim Artikel hier im Blog.

- [Vim Modi](#VimModi) - [Erklärung](#moduserkl) - [Normalmodus](#normalmodus) - [Einfügemodus](#Einfügemodus) - [Kommandomodus](#Kommandomodus) - [FAQ](#FAQ)
- [Normalmodus](#Normalmodus) - [Beenden](#vimend) - [Multiplikator](#Multiplikator) - [Navigieren](#Navigieren) - [Book(m)arks](#Bookmarks) - [Undo & Redo](#Undo) - [Copy n Paste](#Copy) - [~Groß/Klein](#Kleinschreibung) - ["Register](#Register) - [Makros](#Makros) - [Autovervollständigung](#Autovervollständigung) - [Markieren](#Markieren) - [Löschen](#entfernen) - [Suchen](#Suchen) - [Suchen mit Logik Operatoren](#SuchenLogik) - [Suchen und Ersetzen](#Sersetzen)
- [Kommandomodus](#Commandmodus) - [Datei laden](#Dateiladen)

## Vim Modi

Erklärung

Vim ist ein modaler Editor. Dies bedeutet, dass man in unterschiedlichen Modi arbeitet, was Einsteigern oft Probleme bereitet, andererseits aber eine sehr große Zahl von Tastenkürzeln erlaubt, da sich diese an einzelne Modi binden und daher auch mehrfach belegen lassen.
Es gibt sechs Grundmodi. Zusätzlich gibt es noch fünf weitere Grundvarianten der Grundmodi.

Normalmodus ESC

Vim startet im Normalmodus, oft auch als Kommando- oder Befehlsmodus bezeichnet. Hier kann man über Tastenkürzel zum Beispiel Zeilen kopieren und verschieben oder Text formatieren. Dies ist der zentrale Modus, von dem in alle anderen Modi gewechselt wird. Durch das zweifache Drücken der Esc-Taste gelangt man immer in den Normalmodus zurück.

Der Punkt . wiederholt immer den letzten eingegebenen Befehl.

Einfügemodus / Insert

Im Einfügemodus verändern Tastatureingaben den editierten Text, so wie man es von anderen Editoren kennt. Man erreicht diesen Modus vom Normalmodus aus zum Beispiel über i (für engl. insert = einfügen).

Kommandomodus / Command

Vom Normalmodus ausgehend! Dieser Modus wird durch den einleitenden Doppelpunkt : erreicht. Hinter dem Doppelpunkt können dann komplexe Kommandos wie beispielsweise zum Suchen und Ersetzen eingegeben werden. Nach dem abschließenden Enter “Eingabetaste” wird der Befehl ausgeführt und man befindet sich wieder im Normalmodus. Zu diesem Modus zählen des Weiteren die Kommandos / (Textmuster vorwärts suchen), ? (Textmuster rückwärts suchen) und das Filter-Kommando !, mit dem die UNIX-Kommandos “UNIX-Kommandos” (zum Beispiel sort) aufgerufen und auf den Text angewandt werden können.

Vim Normalmodus ESC ESC

Vim beenden & speichern (Kommandomodus)

  • :q beenden (quit)
  • :q! , :cq, SHIFT + ZQ beenden ohne zu speichern trotz Änderungen (cancel)
  • :wq , SHIFT + zz speichern (write) und beenden
  • :w aktueller Inhalt in Datei speichern
  • :w FILE.TXT speichert den Inhalt des Editors in die Datei FILE.TXT
  • :w !sudo tee FILE.TXT speichert die Datei mit dem vorangehenden sudo Aufruf

Multiplikator

:help motion-count-multiplied

Zu einem Befehl kann noch eine Zahl eingegeben werden, dann wird der Befehl entsprechend oft wiederholt.
Beispiele

  1. Wurde eine Zeile mit yy (yank) in den Zwischenspeicher kopiert, dann wird sie mit 5p 5x darunter eingefügt.
  2. Sollen die nächsten 7 Zeichen rechts gelöscht werden : 7x
  3. Sollen ab der aktuellen Position die nächsten 3 Wörter gelöscht werden: 3dw
  4. Soll ab der aktuellen Position mitten in einem Wort, insgesamt 3 Wörter gelöscht werden: 3diw (3x Delete Include Word)
  5. Soll ab der aktuellen Position mitten in einem Wort, insgesamt 3 Wörter gelöscht werden und gleich in den Eingabemodus gewechselt werden: 3ciw (3x Change Include Word)
  6. Die nächsten 10 Zeilen löschen: 10dd

Navigieren / Motion

:help motion
:help scroll-cursor
  • Pfeiltasten , hjkl links, runter, hoch, rechts . Die Pfeiltasten hjkl sind sehr wichtig bei der Nutzung von Multiplikatoren.
  • j und k bei diesen runter und hoch “Movement” Bewegungs-Tasten ist noch wichtig zu wissen, dass sie immer Zeilenweise interpretiert werden. Wenn also eine Multiline, also eine Zeile, die wegen ihrer Länge mehrfach umgebrochen wird, vorhanden ist, dann springt der Cursor visuell mehrere Zeilen runter oder hoch! Aber soll der Cursor visuell zwischen den Zeilen bewegt werden und damit im Prinzip innerhalb EINER Zeile, so geht das mit der zusätzlichen Taste g und damit mit gj und gk . Hier ist visuell nicht mit dem VISUAL Mode von vim zu verwechseln.
  • gj / gk Zeilenweise runter oder Zeilenweise hoch bei umgebrochenen Zeilen. Beispiel: g4j springt 4 visuelle Zeilen runter und g7k springt 7 visuelle Zeilen hoch
  • g0 / g$ analog zum an den Anfang / Ende der visuellen Zeile zu springen
  • Bild hoch , Bild runter Eine Seite hoch / runter
  • Pos1 , 0 an den Zeilenanfang springen
  • ^ springt an den Zeilenanfang auf das erste Zeichen, das kein Leerzeichen oder Tab ist
  • Ende , $ an das Zeilenende springen
  • w ein Wort nach rechts springen (Wortanfang)
  • SHIFT +w also groß W springt bis zum nächsten Wort (Ausdruck), der durch ein Leerzeichen zum vorherigen Wort (Ausdruck) getrennt ist. z.B. springt W hier vom Anfang von Let.me.out() Thanks direkt auf das T von Thanks.
  • e an das Ende eines Wortes, auf den letzten Buchstaben springen (Wortende)
  • b ein Wort nach links springen (Wortanfang)
  • ) einen Satz vorwärts springen
  • ( einen Satz rückwärts springen
  • SHIFT + h zur ersten Zeile des aktuellen Fensters springen
  • SHIFT + m in die Mitte des aktuellen Fensters springen
  • SHIFT + l in die letzte Zeile des aktuellen Fensters springen
  • STRG + d einen halben Bildschirm runter blättern (down)
  • STRG + u einen halben Bildschirm hoch blättern (up)
  • gg an den Datei Anfang springen
  • SHIFT + g an das Datei Ende springen
  • : + ZAHL springt in die Zeile ZAHL
  • f + ZEICHEN springt zum nächsten Vorkommen des Zeichens
  • SHIFT+ f + ZEICHEN springt zum vorherigen Vorkommen des Zeichens
  • z + ENTER oder zt aktuelle Zeile in die erste Zeile des Displays scrollen (top)
  • zz oder z. aktuelle Zeile in die Mitte des Bildschirms scrollen
  • z- oder zb aktuelle Zeile an den unteren Rand scrollen (bottom)

Marks (Bookmarks)

:help bookmark

Bookmarks sind einzelne Zeichen von a-z und A-Z die im Text gesetzt werden können, um schnell hin und her zu springen.

  • m + ZEICHEN einen Marker setzen. z.B. mb setzt den Marker b
  • ' + ZEICHEN zu einem Marker springen . z.B. 'b springt zum Marker b
    • Das ' ist das Zeichen auf einer deutschen Tastatur auf dem #

Undo & Redo

:help undo
  • u Undo (Rückgängig machen)
  • SHIFT + u Undo alle Änderungen, die zuletzt in der aktuellen Zeile gemacht wurden
  • STRG + R Redo
  • :undolist zeigt den Verlauf der letzten Änderungen, die rückgängig gemacht werden können. Dabei zeigt die Nummer den Index der Veränderung, die direkt ausgewählt werden kann. Changes zeigt an, wieviele Veränderungen gemacht wurden und die Uhrzeit, wann die Veränderungen gemacht wurden.
  • NUMMER + STRG + r macht die Veränderung mit der Index NUMMER wieder rückgängig
  • Plugins wie undotree oder mundo machen das Undo & Redo sehr übersichtlich und einfacher

Copy & Paste

  • y Kopieren (yank)
  • yy Ganze Zeile kopieren
  • p vor dem aktuellen Cursor einfügen, oder Zeile
  • Shift + p nach dem aktuellen Cursor einfügen, oder Zeile
  • Zwischenablage / Clipboard (FAQ System Clipboard !)
  • "*y , "+y in den System Zwischenspeicher kopieren
  • "*p , "+p aus den System Zwischenspeicher einfügen. Analog "* oder "+ + SHIFT + p
  • Register / Vim interne Zwischenablage
    • Vim unterstützt von a-z 48 verschiedene Register (Zwischenablagen). So können unterschiedliche Dinge in verschiedene Register kopiert und an anderer Stelle in gleicher oder neuer Reihenfolge eingefügt werden.
    • Das Register wird mit " eingeleitet und der folgende Buchstabe a-z definiert in welchem Register der Inhalt gespeichert werden soll
  • "gyy kopiert die aktuelle Zeile ins Register g
  • "gp fügt den Inhalt aus dem Register ab dem aktuellen Cursor ein

Register / Zwischenspeicher 48 :registers

:help registers

  • Auszüge aus dem Hilfedokument
  • :registers zeigt alle Register an. :registers ZEICHEN zeigt das Register ZEICHEN an
  • STRG + r + REGISTER fügt im Insertmodus den Inhalt von REGISTER direkt ein.
  • "" (unnamed) Standardregister in das alles rein kopiert wird, was mit dcsx gelöscht oder mit y kopiert wurde
  • "a-z (named) mit einem großen A-Z wird das Kopierte an das a-z Register angehängt. Zusammen mit einem > wird vor dem Anhängen ein Zeilenumbruch eingefügt.
  • "0-9 (numbered) In Register 0 wird immer der zuletzt kopierte (yank) Inhalt. In Register 1 steht immer der zuletzt gelöschte Inhalt dc
  • "- Im Small Delete Register steht immer der zuletzt gelöschte Inhalt, wenn es weniger als eine Zeile war
  • Read-Only
    • ". enthält immer den zuletzt eingefügten Text
    • "% enthält den Dateinamen
    • ": enthält den zuletzt eingegeben Befehl
  • "* , "+ , "~ Zwischenspeicher / Clipboard . "~ ist der Inhalt des letzten Drag’n’Drop auf das Vim Fenster
  • "_ (black hole) bei einem Löschvorgang wird nichts in Register gespeichert
  • "/ (last search) enthält den Text der letzten Suche

Makros / Recording q

:help recording
  • MAKRO AUFZEICHNEN
    • q + a-z mit q wird das Recording gestartet und das nächste Zeichen z.b. a ist der Name des Makros. Also qa startet die Aufnahmen von Makro a
    • Mit dem erneuten Drücken der Taste q wird die Aufzeichnung des Makros beendet
  • MAKRO ABSPIELEN / AUFRUFEN
    • @ + a-z mit z.B. @a wird das Makro a abgespielt bzw ausgeführt
    • Mit @@ wird das Makro wiederholt
    • mit 10@a wird das Makro 10x hintereinander ausgeführt
  • MAKROS EDITIEREN
    • Makros werden als normaler Text in Registern gespeichert
    • Das REGISTER am besten in eine leere Zeile einfügen, weil nach dem Editieren einfach direkt die gesamte Zeile wieder im Register gespeichert werden kann " + REGISTERNUMMER + p z.B. "4p
    • Die Zeile editieren und (die gesamte Zeile) wieder zurück in das Register schreiben " + 4 + yy
    • Zur Kontrolle kann :registers oder :registers 4 eingegeben werden
    • Ein Makro kann einfach gelöscht werden, indem nichts aufgezeichnet wird. Z.b. Makro a = q4q
  • STEUERUNGZEICHEN EINGEBEN
    • Im Eingabemodus STRG + v + TASTE z.B. Enter/Return, ESC, F2, Backspace ….
  • REKURSIVE MAKROS
    • Im Makro selbst das Makro aufrufen
    • Läuft solange, bis es auf einen Fehler aufläuft

Autovervollständigung :abbr

  • :abbr + abkrz + AUSGESCHRIEBENER BEGRIFF wenn im Einfügemodus der Begriff abkrz und Leertaste (oder Enter, dann mit Zeilenumbruch) eingegeben wird, erscheint der AUSGESCHRIEBENER BEGRIFF
  • Beispiel: :abbr zb Zum Beispiel

Groß-/Kleinschreibung

  • ZEICHEN
    • ~ ändert das aktuelle Zeichen auf Groß oder Klein
  • WORT
    • g~w Invertiert die Groß-/Kleinschreibung des aktuellen Wortes
    • guw Ändert von der aktuellen Position bis zum Ende des Worts von Groß- auf Kleinschreibung
    • guaw Ändert das gesamte Wort auf Kleinschreibung. Egal auf welcher Position der Cursor ist
    • gUw Ändert von der aktuellen Position bis zum Ende des Worts von Klein- auf Großschreibung
    • gUaw Ändert das gesamte Wort auf Großschreibung. Egal auf welcher Position der Cursor ist
  • ZEILE
    • guu Ändert die aktuelle Zeile von Groß- auf Kleinschreibung
    • gUU Ändert die aktuelle Zeile von Klein- auf Großschreibung
    • g~~ Invertiert die Groß-/Kleinschreibung der gesamten Zeile
    • gU5jÄndert die darunter liegenden Zeilen zu Großschreibung
    • gu3k Ändert die darüber liegenden Zeilen zu Großschreibung
  • SATZ
    • gU)Ändert alles zu Großschreibung bis zum Ende des Satzes
  • SATZ alle Wörter am Anfang groß geschrieben
    • s/\<./\u&/g
      • s/ ... / Such Funktion
      • \< springt an den Anfang eines Wortes
      • . selektiert das erste Zeichen des Wortes
      • \u Befehl um das folgende Zeichen des Ersetzungs-Strings in der Variable & in Großschreibung umzuwandeln
      • & Variable für den String aus . der ersetzt werden soll.
      • g ersetzt alle gefundenen Treffer. Nicht nur den ersten Treffer.
  • ABSATZ
    • gu} Ändert alles bis zum Ende des Absatzes zu Kleinschreibung
  • DOKUMENT
    • guG Ändert alles zu Kleinschreibung bis zum Ende des Dokumentes
    • Alle Anfangsbuchstaben groß
      • s/\<./\u&/g ändert alle Anfangsbuchstaben im gesamten Dokument um in Großbuchstaben. Kann mit Visual Markierung oder anderen Markern lokal eingegrenzt werden.
        \< sucht den Anfang eines Wortes
        . positioniert den ersten Buchstaben eines Wortes
        \u der nachfolgende Buchstabe des “substition Strings” soll in einen Großbuchstaben umgewandelt werden (&)
        & der “Substition String” der gefunden wurde
        g soll ALLE gefundenen Treffer umwandeln und nicht nur den ersten

Auswählen/Markieren

  • v Zeichenweise
  • SHIFT + v + Pfeiltasten Zeilenweise
  • STRG + v + Pfeiltasten Vertikal
  • Beispiele: 10v markiert 10 Zeichen, 3wv markiert 3 Wörter, )vy markiert bis zum Ende des Satzes und kopiert ihn in den Zwischenspeicher/Register.

Löschen & entfernen

  • x Zeichen unter dem Cursor löschen
  • SHIFT + x Zeichen links vom Cursor löschen
  • DELETE & CHANGE
    • Gelöscht werden kann mit d (delete) oder c (change). Bei d bleibt Vim im Normalmodus und bei c wird nach dem Löschen in den Eingabemodus gewechselt und es kann direkt mit der Eingabe begonnen werden.
  • dd löscht die komplette Zeile
  • dw , cw löscht das Wort rechts
  • dip , cip Lösche nur den Absatz
  • dap , cap Lösche den Absatz und die nachfolgenden Leerzeilen
  • g/^$/d Lösche alle leeren Zeilen im Dokumente ^ Anfang und $ Ende der Zeile liegen “nebeneinander”
  • :5,20d/^$/ alle leeren Zeilen zwischen Zeile 5 und Zeile 20 löschen

Suchen

  • /Suchbegriff vorwärts suchen. Vim zeigt den ersten Fundort an. Soll der nächste Fundort angesprungen werden muss die Taste n (Next) oder * gedrückt werden mit Shift + n oder # wird die Suche rückwärts ausgeführt.
  • ?Suchbegriff rückwärts suchen
  • Das Wort suchen, auf dem gerade der Cursor steht mit * (Stern)

Suchen mit Logik Operatoren UND und ODER

  • \& UND Verknüpfung: Um eine Zeile zu finden, die zwei Suchbegriffe enthält, die aber nicht unbedingt nebeneinander stehen, also eine UND Verknüpfung wie zum Beispiel Herr und ins im Satz “Herr Müller geht gerne ins Schwimmbad” funktioniert folgendes Beispiel
    /.*Herr\&.*ins
    vor jedem Suchbegriff MUSS .* eingegeben werden und
  • \| ODER Verknüpfung: Um den einen ODER den anderen Suchbegriff in EINER Zeile zu finden, wird der Operator \| (das senkrechte Pipesymbol) benutzt. Zum Beispiel /.*Herr\&|.*ins in jeder Zeile nach Herr ODER ins
  • Wenn gleich GLOBAL in der gesamten Datei gesucht und gehighlighted werden soll, dann muss die Suche mit :g begonnen werden. Also zum Beispiel :g/.*Herr\&.*ins
  • Die Metacharakter + * . ? usw weiter im Artikel “ttrss Label, Filter & Strategien” genauer erklärt.

Suchen und Ersetzen

: [range]substitude/SUCHE/ERSETZE/[flags][count]

  • %s/SUCHE/ERSETZE/g Suche im ganzen (%) Dokument nach SUCHE und ersetze alle Vorkommen automatisch (g - global) mit ERSETZE
  • 3,40s/SUCHE/ERSETZE/g Suche von Zeile 3 bis Zeile 40
  • 23,$s/SUCHE/ERSETZE/g Suche von Zeile 23 bis Dateiende ($)
  • %s/SUCHE/ERSETZE/ Suche und ersetze im ganzen Dokument und frage jedes Mal nach (fehlendes g am Schluß)
  • g/^$/d Lösche alle leeren Zeilen im Dokumente ^ Anfang und $ Ende der Zeile liegen “nebeneinander”
  • :5,20d/^$/ alle leeren Zeilen zwischen Zeile 5 und Zeile 20 löschen
  • Ausführlicher Artikel Suchen & Ersetzen mit Vim

Vim Command Modus

Datei laden

  • :e Öffnet den Dateibrowser. Bei Auswahl mit der Entertaste wird die Datei in das aktuelle Fenster geladen.
  • :e FILE.TXT öffnet direkt die Datei in das aktuelle Fenster
  • :Sex Teilt das Fenster horizontal in ein weiteres Fenster mit einem Dateibrowser
  • :Vex Teilt das Fenster vertikal in ein weiteres Fenster mit einem Dateibrowser

Fenstermanagement

  • :tabnew Neues Fenster in neuem Tab
    • :tabprev , gt gehe zum nächsten Tab
    • :tabnext , gT gehe zum vorherigen Tab
      • Bessere Lesbarkeit der Tabs
      • :hi tablinesel ctermbg=darkblue ctermfg=white
      • :hi tabline ctermbg=black ctermfg=green
    • Hilfe :help tabpage
  • :new Neues Fenster horizontal
  • :split Aktuelles Fenster horizontal teilen
  • :vsplit Aktuelles Fenster vertikal teilen
  • STRG + ww wechselt zum nächsten Fenster und rotiert bei Wiederholung durch alle Fenster
  • STRG + w mit sind die Pfeiltasten gemeint, oder auch hjkl mit denen direkt in das entsprechende Fenster gewechselt werden kann.
    Zum Beispiel
    • STRG + wl wechselt in das linke Fenster
    • STRG + wj in das untere Fenster
    • STRG + w in das linke Fenster.
    • :ls die offenen Buffer (Fenster/Tabs) anzeigen lassen

Session Management

  • vim -S startet Vim wieder mit der zuletzt gespeicherten Session (aus der Session.vim Datei)
  • :mks! speichert die aktuelle Session in der Session.vim Datei

FAQ

  1. Paste Modes (Einfüge Modi)
    :set paste deaktiviert einige Automatismen, so dass eingefügte Daten z.B. ihre Struktur erhalten und nicht umformatiert werden. :set nopaste deaktiviert dieses Verhalten wieder.
    Hilfen :help paste , :help pastetoggle
  2. System Clipboard (Zwischenablage) Copy&Paste - Interaktion
    Damit "* und "+ funktioniert, muss ein Vim Paket mit grafischer Unterstützung installiert sein, in das die Option +clipboard mit eincompiliert wurde.
    Unter Linux mit einem X11 System repräsentiert "* die Option, womit der Inhalt mit der mittleren Maustaste an die aktuelle Stelle eingefügt werden kann.
    Um zu prüfen, ob die aktuelle Vim Installation den Austausch mit dem System Clipboard unterstützt: Im Normalmodus :echo has('clipboard') und ENTER eingeben. Wenn als Ergebnis eine 0 heraus kommt, wird es nicht unterstützt.
    Durch die Installation des Paketes vim-gtk3 (Ubuntu) wird Copy&Paste unterstützt.
    Hilfen :help clipboard , :help registers , :help cb (Current Buffer)

Weitere Vim Artikel hier im Blog.

Quellen

  1. https://de.wikipedia.org/wiki/Vim
  2. https://wiki.ubuntuusers.de/VIM/
  3. Einführung zu Vim - Tutorials Deutsch https://www.youtube.com/playlist?list=PLZ0CUq-i3Io9dAIKsHNwNAnTeKXamcQ5N
  4. Vim Tricks Live Coding auf Deutsch mit Daniel Siepmann https://youtu.be/P5tAKRVYj4E
  5. Register und Makros in Vim (clt23) Info Seite / Video

Weitere hyperblog Artikel zum Thema

vim[postlist id=730]

Weitere Vim Artikel hier im Blog.

Vim Modi

Erklärung

Vim ist ein modaler Editor. Dies bedeutet, dass man in unterschiedlichen Modi arbeitet, was Einsteigern oft Probleme bereitet, andererseits aber eine sehr große Zahl von Tastenkürzeln erlaubt, da sich diese an einzelne Modi binden und daher auch mehrfach belegen lassen.
Es gibt sechs Grundmodi. Zusätzlich gibt es noch fünf weitere Grundvarianten der Grundmodi.

Normalmodus ESC

Vim startet im Normalmodus, oft auch als Kommando- oder Befehlsmodus bezeichnet. Hier kann man über Tastenkürzel zum Beispiel Zeilen kopieren und verschieben oder Text formatieren. Dies ist der zentrale Modus, von dem in alle anderen Modi gewechselt wird. Durch das zweifache Drücken der Esc-Taste gelangt man immer in den Normalmodus zurück.

Der Punkt . wiederholt immer den letzten eingegebenen Befehl.

Einfügemodus / Insert

Im Einfügemodus verändern Tastatureingaben den editierten Text, so wie man es von anderen Editoren kennt. Man erreicht diesen Modus vom Normalmodus aus zum Beispiel über i (für engl. insert = einfügen).

Kommandomodus / Command

Vom Normalmodus ausgehend! Dieser Modus wird durch den einleitenden Doppelpunkt : erreicht. Hinter dem Doppelpunkt können dann komplexe Kommandos wie beispielsweise zum Suchen und Ersetzen eingegeben werden. Nach dem abschließenden Enter „Eingabetaste“ wird der Befehl ausgeführt und man befindet sich wieder im Normalmodus. Zu diesem Modus zählen des Weiteren die Kommandos / (Textmuster vorwärts suchen), ? (Textmuster rückwärts suchen) und das Filter-Kommando !, mit dem die UNIX-Kommandos „UNIX-Kommandos“ (zum Beispiel sort) aufgerufen und auf den Text angewandt werden können.

Vim Normalmodus ESC ESC

Vim beenden & speichern (Kommandomodus)

  • :q beenden (quit)
  • :q! , :cq, SHIFT + ZQ beenden ohne zu speichern trotz Änderungen (cancel)
  • :wq , SHIFT + zz speichern (write) und beenden
  • :w aktueller Inhalt in Datei speichern
  • :w FILE.TXT speichert den Inhalt des Editors in die Datei FILE.TXT
  • :w !sudo tee FILE.TXT speichert die Datei mit dem vorangehenden sudo Aufruf

Multiplikator

:help motion-count-multiplied

Zu einem Befehl kann noch eine Zahl eingegeben werden, dann wird der Befehl entsprechend oft wiederholt.
Beispiele

  1. Wurde eine Zeile mit yy (yank) in den Zwischenspeicher kopiert, dann wird sie mit 5p 5x darunter eingefügt.
  2. Sollen die nächsten 7 Zeichen rechts gelöscht werden : 7x
  3. Sollen ab der aktuellen Position die nächsten 3 Wörter gelöscht werden: 3dw
  4. Soll ab der aktuellen Position mitten in einem Wort, insgesamt 3 Wörter gelöscht werden: 3diw (3x Delete Include Word)
  5. Soll ab der aktuellen Position mitten in einem Wort, insgesamt 3 Wörter gelöscht werden und gleich in den Eingabemodus gewechselt werden: 3ciw (3x Change Include Word)
  6. Die nächsten 10 Zeilen löschen: 10dd

Navigieren / Motion

:help motion
:help scroll-cursor
  • Pfeiltasten , hjkl links, runter, hoch, rechts . Die Pfeiltasten hjkl sind sehr wichtig bei der Nutzung von Multiplikatoren.
  • j und k bei diesen runter und hoch „Movement“ Bewegungs-Tasten ist noch wichtig zu wissen, dass sie immer Zeilenweise interpretiert werden. Wenn also eine Multiline, also eine Zeile, die wegen ihrer Länge mehrfach umgebrochen wird, vorhanden ist, dann springt der Cursor visuell mehrere Zeilen runter oder hoch! Aber soll der Cursor visuell zwischen den Zeilen bewegt werden und damit im Prinzip innerhalb EINER Zeile, so geht das mit der zusätzlichen Taste g und damit mit gj und gk . Hier ist visuell nicht mit dem VISUAL Mode von vim zu verwechseln.
  • gj / gk Zeilenweise runter oder Zeilenweise hoch bei umgebrochenen Zeilen. Beispiel: g4j springt 4 visuelle Zeilen runter und g7k springt 7 visuelle Zeilen hoch
  • g0 / g$ analog zum an den Anfang / Ende der visuellen Zeile zu springen
  • Bild hoch , Bild runter Eine Seite hoch / runter
  • Pos1 , 0 an den Zeilenanfang springen
  • ^ springt an den Zeilenanfang auf das erste Zeichen, das kein Leerzeichen oder Tab ist
  • Ende , $ an das Zeilenende springen
  • w ein Wort nach rechts springen (Wortanfang)
  • SHIFT +w also groß W springt bis zum nächsten Wort (Ausdruck), der durch ein Leerzeichen zum vorherigen Wort (Ausdruck) getrennt ist. z.B. springt W hier vom Anfang von Let.me.out() Thanks direkt auf das T von Thanks.
  • e an das Ende eines Wortes, auf den letzten Buchstaben springen (Wortende)
  • b ein Wort nach links springen (Wortanfang)
  • ) einen Satz vorwärts springen
  • ( einen Satz rückwärts springen
  • SHIFT + h zur ersten Zeile des aktuellen Fensters springen
  • SHIFT + m in die Mitte des aktuellen Fensters springen
  • SHIFT + l in die letzte Zeile des aktuellen Fensters springen
  • STRG + d einen halben Bildschirm runter blättern (down)
  • STRG + u einen halben Bildschirm hoch blättern (up)
  • gg an den Datei Anfang springen
  • SHIFT + g an das Datei Ende springen
  • : + ZAHL springt in die Zeile ZAHL
  • f + ZEICHEN springt zum nächsten Vorkommen des Zeichens
  • SHIFT+ f + ZEICHEN springt zum vorherigen Vorkommen des Zeichens
  • z + ENTER oder zt aktuelle Zeile in die erste Zeile des Displays scrollen (top)
  • zz oder z. aktuelle Zeile in die Mitte des Bildschirms scrollen
  • z- oder zb aktuelle Zeile an den unteren Rand scrollen (bottom)

Marks (Bookmarks)

:help bookmark

Bookmarks sind einzelne Zeichen von a-z und A-Z die im Text gesetzt werden können, um schnell hin und her zu springen.

  • m + ZEICHEN einen Marker setzen. z.B. mb setzt den Marker b
  • ' + ZEICHEN zu einem Marker springen . z.B. 'b springt zum Marker b
    • Das ' ist das Zeichen auf einer deutschen Tastatur auf dem #

Undo & Redo

:help undo
  • u Undo (Rückgängig machen)
  • SHIFT + u Undo alle Änderungen, die zuletzt in der aktuellen Zeile gemacht wurden
  • STRG + R Redo
  • :undolist zeigt den Verlauf der letzten Änderungen, die rückgängig gemacht werden können. Dabei zeigt die Nummer den Index der Veränderung, die direkt ausgewählt werden kann. Changes zeigt an, wieviele Veränderungen gemacht wurden und die Uhrzeit, wann die Veränderungen gemacht wurden.
  • NUMMER + STRG + r macht die Veränderung mit der Index NUMMER wieder rückgängig
  • Plugins wie undotree oder mundo machen das Undo & Redo sehr übersichtlich und einfacher

Copy & Paste

  • y Kopieren (yank)
  • yy Ganze Zeile kopieren
  • p vor dem aktuellen Cursor einfügen, oder Zeile
  • Shift + p nach dem aktuellen Cursor einfügen, oder Zeile
  • Zwischenablage / Clipboard (FAQ System Clipboard !)
  • "*y , "+y in den System Zwischenspeicher kopieren
  • "*p , "+p aus den System Zwischenspeicher einfügen. Analog "* oder "+ + SHIFT + p
  • Register / Vim interne Zwischenablage
    • Vim unterstützt von a-z 48 verschiedene Register (Zwischenablagen). So können unterschiedliche Dinge in verschiedene Register kopiert und an anderer Stelle in gleicher oder neuer Reihenfolge eingefügt werden.
    • Das Register wird mit " eingeleitet und der folgende Buchstabe a-z definiert in welchem Register der Inhalt gespeichert werden soll
  • "gyy kopiert die aktuelle Zeile ins Register g
  • "gp fügt den Inhalt aus dem Register ab dem aktuellen Cursor ein

Register / Zwischenspeicher 48 :registers

:help registers

  • Auszüge aus dem Hilfedokument
  • :registers zeigt alle Register an. :registers ZEICHEN zeigt das Register ZEICHEN an
  • STRG + r + REGISTER fügt im Insertmodus den Inhalt von REGISTER direkt ein.
  • "" (unnamed) Standardregister in das alles rein kopiert wird, was mit dcsx gelöscht oder mit y kopiert wurde
  • "a-z (named) mit einem großen A-Z wird das Kopierte an das a-z Register angehängt. Zusammen mit einem > wird vor dem Anhängen ein Zeilenumbruch eingefügt.
  • "0-9 (numbered) In Register 0 wird immer der zuletzt kopierte (yank) Inhalt. In Register 1 steht immer der zuletzt gelöschte Inhalt dc
  • "- Im Small Delete Register steht immer der zuletzt gelöschte Inhalt, wenn es weniger als eine Zeile war
  • Read-Only
    • ". enthält immer den zuletzt eingefügten Text
    • "% enthält den Dateinamen
    • ": enthält den zuletzt eingegeben Befehl
  • "* , "+ , "~ Zwischenspeicher / Clipboard . "~ ist der Inhalt des letzten Drag’n’Drop auf das Vim Fenster
  • "_ (black hole) bei einem Löschvorgang wird nichts in Register gespeichert
  • "/ (last search) enthält den Text der letzten Suche

Makros / Recording q

:help recording
  • MAKRO AUFZEICHNEN
    • q + a-z mit q wird das Recording gestartet und das nächste Zeichen z.b. a ist der Name des Makros. Also qa startet die Aufnahmen von Makro a
    • Mit dem erneuten Drücken der Taste q wird die Aufzeichnung des Makros beendet
  • MAKRO ABSPIELEN / AUFRUFEN
    • @q + a-z mit z.B. @qa wird das Makro a abgespielt bzw ausgeführt
    • Mit @@ wird das Makro wiederholt
    • mit 10@qa wird das Makro 10x hintereinander ausgeführt
  • MAKROS EDITIEREN
    • Makros werden als normaler Text in Registern gespeichert
    • Das REGISTER am besten in eine leere Zeile einfügen, weil nach dem Editieren einfach direkt die gesamte Zeile wieder im Register gespeichert werden kann " + REGISTERNUMMER + p z.B. "4p
    • Die Zeile editieren und (die gesamte Zeile) wieder zurück in das Register schreiben " + 4 + yy
    • Zur Kontrolle kann :registers oder :registers 4 eingegeben werden
    • Ein Makro kann einfach gelöscht werden, indem nichts aufgezeichnet wird. Z.b. Makro a = q4q
  • STEUERUNGZEICHEN EINGEBEN
    • Im Eingabemodus STRG + v + TASTE z.B. Enter/Return, ESC, F2, Backspace ….
  • REKURSIVE MAKROS
    • Im Makro selbst das Makro aufrufen
    • Läuft solange, bis es auf einen Fehler aufläuft

Autovervollständigung :abbr

  • :abbr + abkrz + AUSGESCHRIEBENER BEGRIFF wenn im Einfügemodus der Begriff abkrz und Leertaste (oder Enter, dann mit Zeilenumbruch) eingegeben wird, erscheint der AUSGESCHRIEBENER BEGRIFF
  • Beispiel: :abbr zb Zum Beispiel

Groß-/Kleinschreibung

  • ZEICHEN
    • ~ ändert das aktuelle Zeichen auf Groß oder Klein
  • WORT
    • g~w Invertiert die Groß-/Kleinschreibung des aktuellen Wortes
    • guw Ändert von der aktuellen Position bis zum Ende des Worts von Groß- auf Kleinschreibung
    • guaw Ändert das gesamte Wort auf Kleinschreibung. Egal auf welcher Position der Cursor ist
    • gUw Ändert von der aktuellen Position bis zum Ende des Worts von Klein- auf Großschreibung
    • gUaw Ändert das gesamte Wort auf Großschreibung. Egal auf welcher Position der Cursor ist
  • ZEILE
    • guu Ändert die aktuelle Zeile von Groß- auf Kleinschreibung
    • gUU Ändert die aktuelle Zeile von Klein- auf Großschreibung
    • g~~ Invertiert die Groß-/Kleinschreibung der gesamten Zeile
    • gU5jÄndert die darunter liegenden Zeilen zu Großschreibung
    • gu3k Ändert die darüber liegenden Zeilen zu Großschreibung
  • SATZ
    • gU)Ändert alles zu Großschreibung bis zum Ende des Satzes
  • ABSATZ
    • gu} Ändert alles bis zum Ende des Absatzes zu Kleinschreibung
  • DOKUMENT
    • guG Ändert alles zu Kleinschreibung bis zum Ende des Dokumentes
    • Alle Anfangsbuchstaben groß
      • s/\<./\u&/g ändert alle Anfangsbuchstaben im gesamten Dokument um in Großbuchstaben. Kann mit Visual Markierung oder anderen Markern lokal eingegrenzt werden.
        \< sucht den Anfang eines Wortes
        . positioniert den ersten Buchstaben eines Wortes
        \u der nachfolgende Buchstabe des „substition Strings“ soll in einen Großbuchstaben umgewandelt werden (&)
        & der „Substition String“ der gefunden wurde
        g soll ALLE gefundenen Treffer umwandeln und nicht nur den ersten

Auswählen/Markieren

  • v Zeichenweise
  • SHIFT + v + Pfeiltasten Zeilenweise
  • STRG + v + Pfeiltasten Vertikal
  • Beispiele: 10v markiert 10 Zeichen, 3wv markiert 3 Wörter, )vy markiert bis zum Ende des Satzes und kopiert ihn in den Zwischenspeicher/Register.

Löschen & entfernen

  • x Zeichen unter dem Cursor löschen
  • SHIFT + x Zeichen links vom Cursor löschen
  • DELETE & CHANGE
    • Gelöscht werden kann mit d (delete) oder c (change). Bei d bleibt Vim im Normalmodus und bei c wird nach dem Löschen in den Eingabemodus gewechselt und es kann direkt mit der Eingabe begonnen werden.
  • dd löscht die komplette Zeile
  • dw , cw löscht das Wort rechts
  • dip , cip Lösche nur den Absatz
  • dap , cap Lösche den Absatz und die nachfolgenden Leerzeilen

Suchen

  • /Suchbegriff<ENTER> vorwärts suchen. Vim zeigt den ersten Fundort an. Soll der nächste Fundort angesprungen werden muss die Taste n (Next) oder * gedrückt werden mit Shift + n oder # wird die Suche rückwärts ausgeführt.
  • ?Suchbegriff<ENTER> rückwärts suchen
  • Das Wort suchen, auf dem gerade der Cursor steht mit * (Stern)

Suchen mit Logik Operatoren UND und ODER

  • \& UND Verknüpfung: Um eine Zeile zu finden, die zwei Suchbegriffe enthält, die aber nicht unbedingt nebeneinander stehen, also eine UND Verknüpfung wie zum Beispiel Herr und ins im Satz „Herr Müller geht gerne ins Schwimmbad“ funktioniert folgendes Beispiel
    /.*Herr\&.*ins
    vor jedem Suchbegriff MUSS .* eingegeben werden und
  • \| ODER Verknüpfung: Um den einen ODER den anderen Suchbegriff in EINER Zeile zu finden, wird der Operator \| (das senkrechte Pipesymbol) benutzt. Zum Beispiel /.*Herr\&|.*ins in jeder Zeile nach Herr ODER ins
  • Wenn gleich GLOBAL in der gesamten Datei gesucht und gehighlighted werden soll, dann muss die Suche mit :g begonnen werden. Also zum Beispiel :g/.*Herr\&.*ins

Vim Command Modus

Datei laden

  • :e Öffnet den Dateibrowser. Bei Auswahl mit der Entertaste wird die Datei in das aktuelle Fenster geladen.
  • :e FILE.TXT öffnet direkt die Datei in das aktuelle Fenster
  • :Sex Teilt das Fenster horizontal in ein weiteres Fenster mit einem Dateibrowser
  • :Vex Teilt das Fenster vertikal in ein weiteres Fenster mit einem Dateibrowser

Fenstermanagement

  • :tabnew Neues Fenster in neuem Tab
    • :tabprev , gt gehe zum nächsten Tab
    • :tabnext , gT gehe zum vorherigen Tab
      • Bessere Lesbarkeit der Tabs
      • :hi tablinesel ctermbg=darkblue ctermfg=white
      • :hi tabline ctermbg=black ctermfg=green
    • Hilfe :help tabpage
  • :new Neues Fenster horizontal
  • :split Aktuelles Fenster horizontal teilen
  • :vsplit Aktuelles Fenster vertikal teilen
  • STRG + ww wechselt zum nächsten Fenster und rotiert bei Wiederholung durch alle Fenster
  • STRG + w<N> mit <N> sind die Pfeiltasten gemeint, oder auch hjkl mit denen direkt in das entsprechende Fenster gewechselt werden kann.
    Zum Beispiel
    • STRG + wl wechselt in das linke Fenster
    • STRG + wj in das untere Fenster
    • STRG + w<Pfeiltaste links> in das linke Fenster.
    • :ls die offenen Buffer (Fenster/Tabs) anzeigen lassen

Session Management

  • vim -S startet Vim wieder mit der zuletzt gespeicherten Session (aus der Session.vim Datei)
  • :mks! speichert die aktuelle Session in der Session.vim Datei

FAQ

  1. Paste Modes (Einfüge Modi)
    :set paste deaktiviert einige Automatismen, so dass eingefügte Daten z.B. ihre Struktur erhalten und nicht umformatiert werden. :set nopaste deaktiviert dieses Verhalten wieder.
    Hilfen :help paste , :help pastetoggle
  2. System Clipboard (Zwischenablage) Copy&Paste – Interaktion
    Damit "* und "+ funktioniert, muss ein Vim Paket mit grafischer Unterstützung installiert sein, in das die Option +clipboard mit eincompiliert wurde.
    Unter Linux mit einem X11 System repräsentiert "* die Option, womit der Inhalt mit der mittleren Maustaste an die aktuelle Stelle eingefügt werden kann.
    Um zu prüfen, ob die aktuelle Vim Installation den Austausch mit dem System Clipboard unterstützt: Im Normalmodus :echo has('clipboard') und ENTER eingeben. Wenn als Ergebnis eine 0 heraus kommt, wird es nicht unterstützt.
    Durch die Installation des Paketes vim-gtk3 (Ubuntu) wird Copy&Paste unterstützt.
    Hilfen :help clipboard , :help registers , :help cb (Current Buffer)

Weitere Vim Artikel hier im Blog.

Quellen

  1. https://de.wikipedia.org/wiki/Vim
  2. https://wiki.ubuntuusers.de/VIM/
  3. Einführung zu Vim – Tutorials Deutsch https://www.youtube.com/playlist?list=PLZ0CUq-i3Io9dAIKsHNwNAnTeKXamcQ5N
  4. Vim Tricks Live Coding auf Deutsch mit Daniel Siepmann https://youtu.be/P5tAKRVYj4E
  5. Register und Makros in Vim (clt23) Info Seite / Video

Weitere hyperblog Artikel zum Thema

vim

Views: 145

The post Vim Cheat Sheet first appeared on Dem hoergen Blog.

11. September 2023

Mozilla hat die Release-Termine des kommenden Jahres für Firefox gegeben. Dieser Artikel fasst alle Termine für Firefox und Firefox ESR im Jahr 2024 übersichtlich zusammen.

Neue Major-Releases von Firefox erscheinen in der Regel alle vier Wochen. Auf diese Weise erreichen Neuerungen schneller den Endnutzer, der nicht viele Monate auf bereits implementierte Funktionen warten muss.

Mittlerweile hat Mozilla die Veröffentlichungstermine von Firefox für das Jahr 2024 offiziell bekannt gegeben.

Das sind die Firefox Release-Termine 2024

Firefox 122, Firefox ESR 115.7
23. Januar 2024 (5 Wochen nach Firefox 121)

Firefox 123, Firefox ESR 115.8
20. Februar 2024 (4 Wochen nach Firefox 122)

Firefox 124, Firefox ESR 115.9
19. März 2024 (4 Wochen nach Firefox 123)

Firefox 125, Firefox ESR 115.10
16. April 2024 (4 Wochen nach Firefox 124)

Firefox 126, Firefox ESR 115.11
14. Mai 2024 (4 Wochen nach Firefox 125)

Firefox 127, Firefox ESR 115.12
11. Juni 2024 (4 Wochen nach Firefox 126)

Firefox 128, Firefox ESR 128.0, Firefox ESR 115.13
09. Juli 2024 (4 Wochen nach Firefox 127)

Firefox 129, Firefox ESR 128.1, Firefox ESR 115.14
06. August 2024 (4 Wochen nach Firefox 128)

Firefox 130, Firefox ESR 128.2, Firefox ESR 115.15
03. September 2024 (4 Wochen nach Firefox 129)

Firefox 131, Firefox ESR 128.3
01. Oktober 2024 (4 Wochen nach Firefox 130)

Firefox 132, Firefox ESR 128.4
29. Oktober 2024 (4 Wochen nach Firefox 131)

Firefox 133, Firefox ESR 128.5
26. November 2024 (4 Wochen nach Firefox 132)

Firefox 134, Firefox ESR 128.6
07. Januar 2025 (6 Wochen nach Firefox 133)

Firefox 135, Firefox ESR 128.7
04. Februar 2025 (4 Wochen nach Firefox 134)

Der Beitrag Firefox: Release-Termine 2024 erschien zuerst auf soeren-hentzschel.at.

Die MZLA Technologies Corporation hat mit Thunderbird 115.2.1 ein Update für seinen Open Source E-Mail-Client veröffentlicht.

Neuerungen von Thunderbird 115.2.1

Mit dem Update auf Thunderbird 115.2.1 hat die MZLA Technologies Corporation ein Update für seinen Open Source E-Mail-Client veröffentlicht und behebt damit mehrere Probleme, welche sich in den Release Notes (engl.) nachlesen lassen.

Der Beitrag Thunderbird 115.2.1 veröffentlicht erschien zuerst auf soeren-hentzschel.at.

Im siebten Teil meiner losen Reihe über die RHEL System Roles stelle ich die Rolle rhc vor, mit welcher sich RHEL-Systeme (Version >= 8.6) in der Hybrid Cloud Console, Insights und dem RHSM registrieren lassen.

Das Tool rhc selbst habe ich bereits im Artikel Red Hat Remote Host Configuration ausführlich vorgestellt.

Anwendungsfall

Möchte man ein oder mehrere RHEL-Systeme in der Hybrid Cloud Console registrieren, kann man dazu die RHEL System Role rhc verwenden.

Die Rolle

Durch die Installation des Pakets rhel-system-roles existiert die Rolle rhc bereits auf meinem System und muss nur noch konfiguriert werden. Die Rolle selbst findet man im Pfad /usr/share/ansible/roles/rhel-system-roles.rhc/ und die Dokumentation in /usr/share/doc/rhel-system-roles/rhc/README.md.

Das Playbook

- name: Register systems
  hosts: all
  vars:
    rhc_auth:
      activation_keys:
        keys: ["key-1", ...]
    rhc_organization: "your-organization"
  roles:
    - rhel-system-roles.rhc
  • key-1 ist durch den eigenen Activation Key zu ersetzen
  • your-organization ist durch die eigene Org-ID zu ersetzen
  • Mit diesem Playbook werden die Hosts im RHSM und der Hybrid Cloud Console registriert
  • Die Systeme werden bei Insights registriert und laden regelmäßig aktuelle Daten hoch
  • Die Systeme werden für die Ausführung von Remediation Playbooks konfiguriert

Fazit

Mit dieser System Role ist es einfach möglich, eine große Anzahl Systeme in die Hybrid Cloud Console aufzunehmen. Dabei lässt sich konfigurieren, ob Funktionen wie Insights und Remediation Playbooks genutzt werden können.

Eine weitere tolle Rolle aus dem Paket rhel-system-roles, die sich einfach zur Anwendung bringen lässt.

Weiterführende Quellen und Links

  1. Red Hat Enterprise Linux (RHEL) System Roles {en}
  2. Ansible Documentation: Role Directory Structure {en}
  3. Red Hat Software and Download Center {en}
  4. Die Vorteile einer Red Hat Subskription
  5. RHEL System Roles: selinux
  6. RHEL System Roles: timesync
  7. RHEL System Roles: sshd
  8. RHEL System Roles: firewall
  9. RHEL System Roles: storage

9. September 2023

Dieser Artikel ist eine Erweiterung des tmux Artikels “tmux ein Windowmanager für die Konsole

Eine für mich sehr gut funktionierende tmux.conf entweder systemweit in /etc/ oder nur für einen Benutzer in der ~/.tmux.conf ist die folgende Konfiguration. Für mich waren hier die Statuszeile und die Einbindung des Maus Scrollrades zum Scrollen wichtig.

######################
### DESIGN CHANGES ###
######################

# loud or quiet?
set -g visual-activity off
set -g visual-bell off
set -g visual-silence off
setw -g monitor-activity off
set -g bell-action none

set -g mouse on

# modes
setw -g clock-mode-colour colour25
setw -g mode-style "fg=colour255 bg=colour25 bold"

# panes
set -g pane-border-style "fg=colour19 bg=colour0"
set -g pane-active-border-style "bg=colour0 fg=colour9"

# statusbar
set -g status-position bottom
set -g status-justify left
set -g status-style "bg=colour25 fg=colour255"
set -g status-left "#[bg=colour25,fg=colour255]"
set -g status-right "#[fg=colour255,bg=colour25] %d/%m/%Y #[fg=colour255,bg=colour25] %H:%M "
set -g status-right-length 50
set -g status-left-length 20

setw -g window-status-current-style "fg=colour15 bg=colour31 bold"
setw -g window-status-current-format "#I#[fg=colour249]:#[fg=colour255]#W#[fg=colour249]#F"

setw -g window-status-style "fg=colour0 bg=colour25 bold"
setw -g window-status-format "#I#[fg=colour237]:#[fg=colour250]#W#[fg=colour244]#F"

setw -g window-status-bell-style "fg=colour255 bg=colour1 bold"

Dieser Artikel ist eine Erweiterung des tmux Artikels “tmux ein Windowmanager für die Konsole

Eine für mich sehr gut funktionierende tmux.conf entweder systemweit in /etc/ oder nur für einen Benutzer in der ~/.tmux.conf ist die folgende Konfiguration. Für mich waren hier die Statuszeile und die Einbindung des Maus Scrollrades zum Scrollen wichtig.

######################
### DESIGN CHANGES ###
######################

# loud or quiet?
set -g visual-activity off
set -g visual-bell off
set -g visual-silence off
setw -g monitor-activity off
set -g bell-action none

set -g mouse on

# modes
setw -g clock-mode-colour colour25
setw -g mode-style "fg=colour255 bg=colour25 bold"

# panes
set -g pane-border-style "fg=colour19 bg=colour0"
set -g pane-active-border-style "bg=colour0 fg=colour9"

# statusbar
set -g status-position bottom
set -g status-justify left
set -g status-style "bg=colour25 fg=colour255"
set -g status-left "#[bg=colour25,fg=colour255]"
set -g status-right "#[fg=colour255,bg=colour25] %d/%m/%Y #[fg=colour255,bg=colour25] %H:%M "
set -g status-right-length 50
set -g status-left-length 20

setw -g window-status-current-style "fg=colour15 bg=colour31 bold"
setw -g window-status-current-format "#I#[fg=colour249]:#[fg=colour255]#W#[fg=colour249]#F"

setw -g window-status-style "fg=colour0 bg=colour25 bold"
setw -g window-status-format "#I#[fg=colour237]:#[fg=colour250]#W#[fg=colour244]#F"

setw -g window-status-bell-style "fg=colour255 bg=colour1 bold"

Weitere hyperblog Artikel zum Thema

tmux

bash

Views: 30

8. September 2023

Wenn du Musikproduktion mit einer DAW z.B. Bitwig unter Linux machst, dann ist für dich das Thema Latenz sehr wichtig.

Was ist Latenz?

  1. Die Latenz (Verzögerung/Puffer) ist wichtig im Zusammenspiel zwischen dem Computer und dem Audiointerface (Audio und Midi).
  2. Je niedriger die Latenz, desto höher wird die CPU belastet, weil sie in sehr kurzen Abständen die Datenpakete verarbeiten muss. Je größer die Latenz, desto mehr Zeit darf vergehen, bis sich die CPU wieder um die Datenpakete kümmern muss.
  3. Wenn ausschließlich nur im Computer produziert wird, kann die Latenz ohne Probleme hoch sein.
  4. Ein guter Startwert ist schon mal 1024 Samples (21.3ms) - bei 48kHz.
  5. Erst wenn hier störende Verzögerungen bemerkbar sind, z.B. beim Spielen auf einem Controller oder Synthesizer und der Umsetzung auf den Computer, macht es Sinn diesen Wert zu verkleinern. Zum Beispiel wenn der Tastendruck und das Ertönen eines Sounds spürbar verzögert sind.

Eventuell interessiert dich noch der Artikel zum Thema Pipewire Realtime Konfiguration “Pipewire modul-rt Konfiguration” , um deine Audio/Videoanwendungen noch performanter zu machen

Pipewire Metadaten lesen mit pw-metadata

Der Befehl lautet pw-metadata und kann folgendermaßen benutzt werden

pw-metadata [options] [ id [ key [ value [ type ] ] ] ]
  -h, --help     Show this help
      --version  Show version
  -r, --remote   Remote daemon name
  -l, --list     List available metadata
  -m, --monitor  Monitor metadata
  -d, --delete   Delete metadata
  -n, --name     Metadata name (default: "default")

Die ID mit pw-metadata rausfinden

pw-metadataohne weitere Angaben ergibt so eine Ausgabe, die je nach Hardware natürlich unterschiedlich ist. Die ID steht hier immer weit links id:0

odo@computer~$ pw-metadata

update: id:0 key:'default.configured.audio.sink' value:'{"name":"alsa_output.usb-SOOPERAUDIOCARD_192k-00.pro-output-0"}' type:'Spa:String:JSON'
update: id:0 key:'default.configured.audio.source' value:'{"name":"alsa_input.usb-SOOPERAUDIOCARD_192k-00.pro-input-0"}' type:'Spa:String:JSON'
update: id:0 key:'default.audio.sink' value:'{"name":"alsa_output.usb-SOOPERAUDIOCARD_192k-00.pro-output-0"}' type:'Spa:String:JSON'
update: id:0 key:'default.audio.source' value:'{"name":"alsa_input.usb-SOOPERAUDIOCARD_192k-00.pro-input-0"}' type:'Spa:String:JSON'
update: id:0 key:'default.video.source' value:'{"name":"v4l2_input.pci-0000_00_14.0-usb-0_7_1.0"}' type:'Spa:String:JSON'

Alle verfügbaren Metadaten mit pw-metadata -l anzeigen lassen

odo@computer~$ pw-metadata -l

Found "settings" metadata 32
Found "default" metadata 40
Found "route-settings" metadata 41

Alle verfügbaren settings mit pw-metadata -n settings anzeigen lassen

odo@computer~$ pw-metada -n settings

Found "settings" metadata 32  
update: id:0 key:'log.level' value:'2' type:''  
update: id:0 key:'clock.rate' value:'48000' type:''  
update: id:0 key:'clock.allowed-rates' value:'[ 48000 ]' type:''  
update: id:0 key:'clock.quantum' value:'1024' type:''  
update: id:0 key:'clock.min-quantum' value:'32' type:''  
update: id:0 key:'clock.max-quantum' value:'2048' type:''  
update: id:32 key:'clock.force-quantum' value:'64' type:'(null)'  
update: id:64 key:'clock.force-quantum' value:'64' type:'(null)'

Settings temporär setzen mit pw-metadata -n settings id key value type

Hier werden nun Samplefrequenz auf 48kHz und die Samples auf 1024 gestellt, so dass 1024/48000 = 0,021333 als 21,3 Millisekunden Latenz raus kommen.
Soll es eine niedrigere Latenz bei einer Samplefrequenz von 48kHz sein, müssen die 1024 Samples herunter gesetzt werden. z.B. 768 (16ms) , 512 (10,6ms), 256 (5,3ms), 128 (2,6ms), 64 (1,33ms), 32 (0,68ms).

pw-metadata -n settings 0 clock.rate 48000
pw-metadata -n settings 0 clock.quantum 1024

Die Konfiguration permanent machen. Auch nach einem Reboot.

Folgende Datei im folgenden Verzeichnis erstellen ~/.config/pipewire/pipewire.conf.d/choppy-under-load.conf. Sie sollte z.B. diesen Inhalt enthalten. Wenn andere Werte ausgewählt wurden, dann natürlich die anderen Werte.

context.properties = {
   default.clock.rate = 48000
   default.clock.quantum = 1024
}

Quellen

  1. Pipewire Module-rt https://docs.pipewire.org/page_module_rt.html
  2. Pipewire Docs https://docs.pipewire.org/index.html
  3. Pipewire Configuration https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Config-PipeWire
  4. pw-metadata https://docs.pipewire.org/page_man_pw_metadata_1.html
  5. pw-top https://docs.pipewire.org/page_man_pw_top_1.html
  6. Troubleshooting & XRuns https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Troubleshooting#xruns
  7. Pipewire Ubuntuusers https://wiki.ubuntuusers.de/Pipewire/
  8. Pipewire Home https://pipewire.org/

Wenn du Musikproduktion mit einer DAW z.B. Bitwig unter Linux machst, dann ist für dich das Thema Latenz sehr wichtig.

Was ist Latenz?

  1. Die Latenz (Verzögerung/Puffer) ist wichtig im Zusammenspiel zwischen dem Computer und dem Audiointerface (Audio und Midi).
  2. Je niedriger die Latenz, desto höher wird die CPU belastet, weil sie in sehr kurzen Abständen die Datenpakete verarbeiten muss. Je größer die Latenz, desto mehr Zeit darf vergehen, bis sich die CPU wieder um die Datenpakete kümmern muss.
  3. Wenn ausschließlich nur im Computer produziert wird, kann die Latenz ohne Probleme hoch sein.
  4. Ein guter Startwert ist schon mal 1024 Samples (21.3ms) – bei 48kHz.
  5. Erst wenn hier störende Verzögerungen bemerkbar sind, z.B. beim Spielen auf einem Controller oder Synthesizer und der Umsetzung auf den Computer, macht es Sinn diesen Wert zu verkleinern. Zum Beispiel wenn der Tastendruck und das Ertönen eines Sounds spürbar verzögert sind.

Eventuell interessiert dich noch der Artikel zum Thema Pipewire Realtime Konfiguration “Pipewire modul-rt Konfiguration” , um deine Audio/Videoanwendungen noch performanter zu machen

Pipewire Metadaten lesen mit pw-metadata

Der Befehl lautet pw-metadata und kann folgendermaßen benutzt werden

pw-metadata [options] [ id [ key [ value [ type ] ] ] ]
  -h, --help     Show this help
      --version  Show version
  -r, --remote   Remote daemon name
  -l, --list     List available metadata
  -m, --monitor  Monitor metadata
  -d, --delete   Delete metadata
  -n, --name     Metadata name (default: "default")

Die ID mit pw-metadata rausfinden

pw-metadataohne weitere Angaben ergibt so eine Ausgabe, die je nach Hardware natürlich unterschiedlich ist. Die ID steht hier immer weit links id:0

odo@computer~$ pw-metadata

update: id:0 key:'default.configured.audio.sink' value:'{"name":"alsa_output.usb-SOOPERAUDIOCARD_192k-00.pro-output-0"}' type:'Spa:String:JSON'
update: id:0 key:'default.configured.audio.source' value:'{"name":"alsa_input.usb-SOOPERAUDIOCARD_192k-00.pro-input-0"}' type:'Spa:String:JSON'
update: id:0 key:'default.audio.sink' value:'{"name":"alsa_output.usb-SOOPERAUDIOCARD_192k-00.pro-output-0"}' type:'Spa:String:JSON'
update: id:0 key:'default.audio.source' value:'{"name":"alsa_input.usb-SOOPERAUDIOCARD_192k-00.pro-input-0"}' type:'Spa:String:JSON'
update: id:0 key:'default.video.source' value:'{"name":"v4l2_input.pci-0000_00_14.0-usb-0_7_1.0"}' type:'Spa:String:JSON'

Alle verfügbaren Metadaten mit pw-metadata -l anzeigen lassen

odo@computer~$ pw-metadata -l

Found "settings" metadata 32
Found "default" metadata 40
Found "route-settings" metadata 41

Alle verfügbaren settings mit pw-metadata -n settings anzeigen lassen

odo@computer~$ pw-metada -n settings

Found "settings" metadata 32  
update: id:0 key:'log.level' value:'2' type:''  
update: id:0 key:'clock.rate' value:'48000' type:''  
update: id:0 key:'clock.allowed-rates' value:'[ 48000 ]' type:''  
update: id:0 key:'clock.quantum' value:'1024' type:''  
update: id:0 key:'clock.min-quantum' value:'32' type:''  
update: id:0 key:'clock.max-quantum' value:'2048' type:''  
update: id:32 key:'clock.force-quantum' value:'64' type:'(null)'  
update: id:64 key:'clock.force-quantum' value:'64' type:'(null)'

Settings temporär setzen mit pw-metadata -n settings id key value type

Hier werden nun Samplefrequenz auf 48kHz und die Samples auf 1024 gestellt, so dass 1024/48000 = 0,021333 als 21,3 Millisekunden Latenz raus kommen.
Soll es eine niedrigere Latenz bei einer Samplefrequenz von 48kHz sein, müssen die 1024 Samples herunter gesetzt werden. z.B. 768 (16ms) , 512 (10,6ms), 256 (5,3ms), 128 (2,6ms), 64 (1,33ms), 32 (0,68ms).

pw-metadata -n settings 0 clock.rate 48000
pw-metadata -n settings 0 clock.quantum 1024

Die Konfiguration permanent machen. Auch nach einem Reboot.

Folgende Datei im folgenden Verzeichnis erstellen ~/.config/pipewire/pipewire.conf.d/choppy-under-load.conf. Sie sollte z.B. diesen Inhalt enthalten. Wenn andere Werte ausgewählt wurden, dann natürlich die anderen Werte.

context.properties = {
   default.clock.rate = 48000
   default.clock.quantum = 1024
}
Quellen
  1. Pipewire Module-rt https://docs.pipewire.org/page_module_rt.html
  2. Pipewire Docs https://docs.pipewire.org/index.html
  3. Pipewire Configuration https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Config-PipeWire
  4. pw-metadata https://docs.pipewire.org/page_man_pw_metadata_1.html
  5. pw-top https://docs.pipewire.org/page_man_pw_top_1.html
  6. Troubleshooting & XRuns https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Troubleshooting#xruns
  7. Pipewire Ubuntuusers https://wiki.ubuntuusers.de/Pipewire/
  8. Pipewire Home https://pipewire.org/

Weitere hyperblog Artikel zum Thema

pipewire

Views: 45

Hier findest du eine kurz & knackige Anleitung und Erklärung, wie du das Realtime Modul von Pipewire für deine Audio/Video Anwendungen einrichtest.

Für die Musikproduktion mit einer DAW z.B. Bitwig unter Linux kann dieses Thema für dich sehr wichtig sein.

Eventuell interessiert dich noch der Artikel über pw-metadata, mit dem du temporär und permanent deine Pipewire Konfigurationen verändern kannst

Benutzer in Gruppen aufnehmen

Der Benutzer unter dem die Applikation laufen soll, muss in die entsprechenden Gruppen (wenn vorhanden) aufgenommen werden mit einem Editor (z.B. nano oder vim) und Superuser Rechten die Datei /etc/group editieren

sudo vim /etc/group

und in den Zeilen, in denen rtkit und pipewire steht den Benutzernamen anhängen

rtkit:x:117:BENUTZERNAMEN
pipewire:x:136:BENUTZERNAMEN

Damit das wirksam (aktiv) wird, muss die Session neu gestartet werden. Entweder einfach ausloggen und wieder einloggen, oder den Computer neu starten.

Module-rt konfigurieren

Falls noch gar keine Pipewire Konfiguration vorhanden ist, muss diese erst angelegt werden. Das kann Systemweit in /etc/pipewire gemacht werden. Zu empfehlen ist es aber bei den meisten Systemen, da es sich meist um Eine-Person-Computer handelt im Heimverzeichnis des Benutzers z.B. /home/BENUTZERNAME/.config/pipewire/pipewire.conf.d .

Warum im Heimverzeichnis? Weil bei einem Backup des Benutzerverzeichnisses gleich die Pipewirekonfiguration der BernutzerIn mit gesichert wird. Gibt es auf dem Computer mehrere BenutzerInnen mit unterschiedlichen Konfigurationen, werden alle entsprechenden Konfigurationen mitgesichert und werden beim Zurückspielen einer Sicherung wieder “aktiviert”.

Info: Im Verzeichnis /usr/share/pipewire/ liegen bereits einige Beispiele von Konfigurationsdateien. Diese brauchen wir aber für unsere Aufgabe nicht. Und diese sind auch so generisch, dass sie nicht unbedingt auf unsere Konfiguration passen, ohne dass wir größere Änderungen an den gesamten Konfigurationsdateien vornehmen.

Konfiguration erstellen

Wir erstellen uns einfach die Datei pipewire.conf im Verzeichnis /home/Benutzername/.config/pipewire/pipewire.conf.d/ ganz einfach mit dem Aufruf eines Editors wie nano oder auch vim

vim /home/BENUTZERNAME/.config/pipewire/pipewire.conf.d/pipewire.conf

Und tragen folgende Zeilen ein. Das RTKit Modul libpipewire-module-rtkit ist hier deaktiviert und greift je nach Konfiguration nicht immer. Probiert es einfach aus, ob es bei euch funktioniert.
Darunter befindet sich dann das Pipewire Modul libpipewire-module-rt . DAS braucht ihr!

# Reload Configuration File
# systemctl --user daemon-reload
#
# Restart Pipewire Daemon 
# systemctl --user restart pipewire.service pipewire-pulse.socket

context.modules = [  

    # Uses RTKit to boost the data thread priority.
    #{ name = libpipewire-module-rtkit
    #    args = {
    #       nice.level   = -11
    #       rt.prio      = 88
    #       rt.time.soft = 2000000
    #       rt.time.hard = 2000000
    #   }
    #   flags = [ ifexists nofail ]
    #}

   # Set thread priorities without using RTKit.
   { name = libpipewire-module-rt  
       args = {  
           nice.level    = -11  
           rt.prio      = 88  
           rt.time.soft = 2000000  
           rt.time.hard = 2000000  
           rlimits.enabled = true  
           rtportal.enabled = true  
           rtkit.enabled = true  
       }  
       flags = [ ifexists nofail ]  
   }  
]

Pipewire als Benutzer neu starten

Da sich die Konfiguration auf der Festplatte geändert hat, müssen zwei Befehle mit ganz normalen Benutzerrechten eingegeben werden.

Neuladen der Konfiguration

systemctl --user daemon-reload

Pipewire neu starten

systemctl --user restart pipewire.service pipewire-pulse.socket

Check rt Prio Prozess

Mit dem folgenden Befehl kannst du im Systemjournal sehen ob eine Anwendung mit dem rtkit gestartet wurde.

journalctl --no-hostname -b 0 -e -u rtkit-daemon

Erklärung zu Xruns

Zur Vollständigkeit, weil das Thema Xruns in diesem Zusammenhang manchmal kommt.

Es gibt 2 Ursachen für Xruns

  1. Die Anwendungen können den Zyklus nicht rechtzeitig abschließen. Das kann daran liegen, dass der Kernel sie nicht rechtzeitig aufgeweckt hat oder dass sie nicht genügend Zeit zugewiesen bekommen haben.
  2. Das Timing des Treibers ist zu eng. Der Treiber wird nicht schnell genug aufgeweckt, um den Puffer gefüllt zu halten.
  • Ursache 1 kann zu Ursache 2 führen.
  • Ursache 2 kann durch Hinzufügen von mehr Pufferung (Vergrößerung des Headrooms) verbessert werden.
  • Das Hinzufügen von Headroom verbessert Ursache 1 aber nicht.

Mit pw-top kannst du sehen, was die Xruns verursacht.

  1. Wenn die Xruns der Anwendung zunehmen, ist es Ursache 1
  2. Wenn nur der Treiber die Xruns erhöht, ist es Ursache 2
  3. Wenn beide zunehmen, ist es Ursache 1, die Ursache 2 verursacht

Quellen

  1. Pipewire Module-rt https://docs.pipewire.org/page_module_rt.html
  2. Pipewire Docs https://docs.pipewire.org/index.html
  3. Pipewire Configuration https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Config-PipeWire
  4. pw-metadata https://docs.pipewire.org/page_man_pw_metadata_1.html
  5. pw-top https://docs.pipewire.org/page_man_pw_top_1.html
  6. Troubleshooting & XRuns https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Troubleshooting#xruns
  7. Pipewire Ubuntuusers https://wiki.ubuntuusers.de/Pipewire/
  8. Pipewire Home https://pipewire.org/

Hier findest du eine kurz & knackige Anleitung und Erklärung, wie du das Realtime Modul von Pipewire für deine Audio/Video Anwendungen einrichtest.

Für die Musikproduktion mit einer DAW z.B. Bitwig unter Linux kann dieses Thema für dich sehr wichtig sein.

Eventuell interessiert dich noch der Artikel über pw-metadata, mit dem du temporär und permanent deine Pipewire Konfigurationen verändern kannst

Benutzer in Gruppen aufnehmen

Der Benutzer unter dem die Applikation laufen soll, muss in die entsprechenden Gruppen (wenn vorhanden) aufgenommen werden mit einem Editor (z.B. nano oder vim) und Superuser Rechten die Datei /etc/group editieren

sudo vim /etc/group

und in den Zeilen, in denen rtkit und pipewire steht den Benutzernamen anhängen

rtkit:x:117:BENUTZERNAMEN
pipewire:x:136:BENUTZERNAMEN

Damit das wirksam (aktiv) wird, muss die Session neu gestartet werden. Entweder einfach ausloggen und wieder einloggen, oder den Computer neu starten.

Module-rt konfigurieren

Falls noch gar keine Pipewire Konfiguration vorhanden ist, muss diese erst angelegt werden. Das kann Systemweit in /etc/pipewire gemacht werden. Zu empfehlen ist es aber bei den meisten Systemen, da es sich meist um Eine-Person-Computer handelt im Heimverzeichnis des Benutzers z.B. /home/BENUTZERNAME/.config/pipewire/pipewire.conf.d .

Warum im Heimverzeichnis? Weil bei einem Backup des Benutzerverzeichnisses gleich die Pipewirekonfiguration der BernutzerIn mit gesichert wird. Gibt es auf dem Computer mehrere BenutzerInnen mit unterschiedlichen Konfigurationen, werden alle entsprechenden Konfigurationen mitgesichert und werden beim Zurückspielen einer Sicherung wieder “aktiviert”.

Info: Im Verzeichnis /usr/share/pipewire/ liegen bereits einige Beispiele von Konfigurationsdateien. Diese brauchen wir aber für unsere Aufgabe nicht. Und diese sind auch so generisch, dass sie nicht unbedingt auf unsere Konfiguration passen, ohne dass wir größere Änderungen an den gesamten Konfigurationsdateien vornehmen.

Konfiguration erstellen

Wir erstellen uns einfach die Datei pipewire.conf im Verzeichnis /home/Benutzername/.config/pipewire/pipewire.conf.d/ ganz einfach mit dem Aufruf eines Editors wie nano oder auch vim

vim /home/BENUTZERNAME/.config/pipewire/pipewire.conf.d/pipewire.conf

Und tragen folgende Zeilen ein. Das RTKit Modul libpipewire-module-rtkit ist hier deaktiviert und greift je nach Konfiguration nicht immer. Probiert es einfach aus, ob es bei euch funktioniert.
Darunter befindet sich dann das Pipewire Modul libpipewire-module-rt . DAS braucht ihr!

# Reload Configuration File
# systemctl --user daemon-reload
#
# Restart Pipewire Daemon 
# systemctl --user restart pipewire.service pipewire-pulse.socket

context.modules = [  

    # Uses RTKit to boost the data thread priority.
    #{ name = libpipewire-module-rtkit
    #    args = {
    #       nice.level   = -11
    #       rt.prio      = 88
    #       rt.time.soft = 2000000
    #       rt.time.hard = 2000000
    #   }
    #   flags = [ ifexists nofail ]
    #}

   # Set thread priorities without using RTKit.
   { name = libpipewire-module-rt  
       args = {  
           nice.level    = -11  
           rt.prio      = 88  
           rt.time.soft = 2000000  
           rt.time.hard = 2000000  
           rlimits.enabled = true  
           rtportal.enabled = true  
           rtkit.enabled = true  
       }  
       flags = [ ifexists nofail ]  
   }  
]

Pipewire als Benutzer neu starten

Da sich die Konfiguration auf der Festplatte geändert hat, müssen zwei Befehle mit ganz normalen Benutzerrechten eingegeben werden.

Neuladen der Konfiguration

systemctl --user daemon-reload

Pipewire neu starten

systemctl --user restart pipewire.service pipewire-pulse.socket

Check rt Prio Prozess

Mit dem folgenden Befehl kannst du im Systemjournal sehen ob eine Anwendung mit dem rtkit gestartet wurde.

journalctl --no-hostname -b 0 -e -u rtkit-daemon

Erklärung zu Xruns

Zur Vollständigkeit, weil das Thema Xruns in diesem Zusammenhang manchmal kommt.

Es gibt 2 Ursachen für Xruns

  1. Die Anwendungen können den Zyklus nicht rechtzeitig abschließen. Das kann daran liegen, dass der Kernel sie nicht rechtzeitig aufgeweckt hat oder dass sie nicht genügend Zeit zugewiesen bekommen haben.
  2. Das Timing des Treibers ist zu eng. Der Treiber wird nicht schnell genug aufgeweckt, um den Puffer gefüllt zu halten.
  • Ursache 1 kann zu Ursache 2 führen.
  • Ursache 2 kann durch Hinzufügen von mehr Pufferung (Vergrößerung des Headrooms) verbessert werden.
  • Das Hinzufügen von Headroom verbessert Ursache 1 aber nicht.

Mit pw-top kannst du sehen, was die Xruns verursacht.

  1. Wenn die Xruns der Anwendung zunehmen, ist es Ursache 1
  2. Wenn nur der Treiber die Xruns erhöht, ist es Ursache 2
  3. Wenn beide zunehmen, ist es Ursache 1, die Ursache 2 verursacht
Quellen
  1. Pipewire Module-rt https://docs.pipewire.org/page_module_rt.html
  2. Pipewire Docs https://docs.pipewire.org/index.html
  3. Pipewire Configuration https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Config-PipeWire
  4. pw-metadata https://docs.pipewire.org/page_man_pw_metadata_1.html
  5. pw-top https://docs.pipewire.org/page_man_pw_top_1.html
  6. Troubleshooting & XRuns https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Troubleshooting#xruns
  7. Pipewire Ubuntuusers https://wiki.ubuntuusers.de/Pipewire/
  8. Pipewire Home https://pipewire.org/

Weitere hyperblog Artikel zum Thema

pipewire

bash

Views: 70

Mit dem Bookmarks Organizer 4.1.1 steht ein neues Update für die Firefox-Erweiterung bereit, welche beim Aufräumen der Lesezeichen hilft. Die neue Version verbessert die Kompatibilität mit Firefox 117.

Download Bookmarks Organizer 4.1.1 für Mozilla Firefox

Der Bookmarks Organizer soll dabei helfen, wieder Ordnung in die Lesezeichen zu bringen, indem nicht mehr funktionierende sowie doppelte Lesezeichen gefunden und Weiterleitungen korrigiert werden.

Verbesserte Kompatibilität mit Firefox 117

Eine Änderung in Firefox 117 hatte die unerwünschte Nebenwirkung, dass die Überprüfung auf defekte Lesezeichen mit dem Bookmarks Organizer nach 30 Sekunden stoppte und somit nicht zu Ende gebracht werden konnte, wenn eine gewisse Menge an Lesezeichen vorhanden war. Zwar wird das Problem bereits mit Firefox 117.0.1 behoben sein. Mit dem Bookmarks Organizer 4.1.1 habe ich aber einen Workaround implementiert, der das Problem bereits jetzt für Firefox 117 umgeht.

Gefällt? Unterstützung gerne gesehen!

Wer die Entwicklung des Add-ons unterstützen möchte, kann dies tun, indem er der Welt von Bookmarks Organizer erzählt und die Erweiterung auf addons.mozilla.org bewertet. Auch würde ich mich sehr über eine kleine Spende freuen, welche es mir ermöglicht, weitere Zeit in die Entwicklung dieses und weiterer Add-ons zu investieren.

Der Beitrag Firefox-Erweiterung Bookmarks Organizer 4.1.1 verbessert Kompatibilität mit Firefox 117 erschien zuerst auf soeren-hentzschel.at.

7. September 2023

Die MZLA Technologies Corporation hat mit der Verteilung des automatischen Updates auf Thunderbird 115 begonnen.

Am 11. Juli 2023 wurde Thunderbird 115 veröffentlicht. Thunderbird 115 bringt gegenüber Thunderbird 102 zahlreiche Neuerungen.

Wie immer wurden automatische Updates von vorherigen Versionen damit noch nicht für alle Nutzer verteilt. In der Zwischenzeit wurden mehrere Updates für Thunderbird 115 veröffentlicht, welche zusätzlichen Feinschliff gebracht haben. Nun ist es so weit und bestehende Nutzer von Thunderbird 102 und älter erhalten ab sofort das Update auf Thunderbird 115.

Der Beitrag Update auf Thunderbird 115 wird verteilt erschien zuerst auf soeren-hentzschel.at.

Ich hatte mich bisher noch nicht mit der neuen Oberfläche von Gajim auseinander gesetzt.
Nun wollte ich meinen Chatverlauf in Gajim entfernen. Die Einstellungen dazu, lassen sich über den folgenden Pfad konfigurieren.
Gajim -> Einstellungen -> Erweitert -> Nachrichtenverlauf löschen

Es besteht die Möglichkeit zu konfigurieren, wie Gajim mit dem Chatverlauf umgehen soll.
Konten -> Konto auswählen -> Werkzeugsymbol neben der Adresse -> Privatsphäre -> Nachrichtenverlauf behalten
Hier ist es möglich aus 8 Voreinstellungen eine Auswahl zu treffen:

  • Für immer
  • Bis Gajim beendet wird
  • 1 Tag
  • 1 Woche
  • 1 Monat
  • 3 Monate
  • 6 Monate
  • 1 Jahr

Viel Spaß mit Gajim.
Gajim ist mein Lieblings-XMPP-Client auf dem Desktop. Der Client kann mit den meisten Features des XMPP Protkolls umgehen.

6. September 2023

Mozilla hat das Mozilla VPN 2.16.1 für Linux veröffentlicht. Dieses behebt mehrere Sicherheitslücken. Andere Plattformen sind nicht betroffen.

Mit dem Mozilla VPN bietet Mozilla in Zusammenarbeit mit Mullvad sein eigenes Virtual Private Network an und verspricht neben einer sehr einfachen Bedienung eine durch das moderne und schlanke WireGuard-Protokoll schnelle Performance, Sicherheit sowie Privatsphäre: Weder werden Nutzungsdaten geloggt noch mit einer externen Analysefirma zusammengearbeitet, um Nutzungsprofile zu erstellen.

Jetzt Mozilla VPN nutzen

Die Neuerungen vom Mozilla VPN 2.16.1

Bereits im August hat Mozilla mit dem Update auf das Mozilla VPN 2.16.1 Sicherheitslücken behoben, von welchen ausschließlich Nutzer des Betriebssystems Linux betroffen waren. Nutzer des Mozilla VPNs unter Linux sollten ihren VPN-Client daher aktualisieren, falls noch nicht geschehen.

Tipp: Mozilla VPN aktuell mit 20 Prozent Rabatt

Ein Tipp für alle Interessierten: Mit dem Rabatt-Code VPN20 bekommt man das Mozilla VPN derzeit mit 20 Prozent Rabatt für das erste Jahr.

Der Beitrag Sicherheits-Update Mozilla VPN 2.16.1 für Linux veröffentlicht erschien zuerst auf soeren-hentzschel.at.

4. September 2023

Auf Mobiltelefonen, Tablets, Laptops, Netzwerkspeichern und in diversen Anwendungen in unserem Heimnetzwerk befinden sich Daten, welche wir schmerzlich vermissen würden, wenn sie dauerhaft verloren gingen.

Im Folgenden beschreibe ich, wie ich z.B. Fotos, Videos, Zeugnisse, Verträge, Urkunden, Versicherungspolicen, etc. vor Verlust schütze.

Der Artikel behandelt nicht:

Daten von Mobiltelefonen und Tablets

Sie sind unsere ständigen Begleiter, verfügen über große Speicher und beinhalten häufig jede Menge an Fotos und Videos. Diese werden mit DS-Apps auf eine Synology Diskstation im heimischen Netzwerk gesichert.

Für Threema benutze ich Threema Safe. Ein Datenbackup führe ich nicht durch. Der Inhalt der Nachrichten ist mir nicht so wichtig, als dass mich ein Verlust schmerzen würde.

E-Mails, Kalender und Kontakte werden zwischen Mailbox.org und diversen Geräten synchronisiert, jedoch nicht gesichert. Wenn jemand z.B. das Adressbuch löscht, müsste ich das Netzwerk vom PC trennen, um das Adressbuch ohne Netzwerkverbindung zu starten, um den letzten Stand von dort wiederherstellen zu können. Für mich ist das ausreichend, da ich bei einem GAU meine wichtigsten Kontakte auch ohne Adressbuch zu erreichen weiß und sich Kontaktinformationen von Handwerkern und sonstigen Unternehmen wieder recherchieren lassen.

Sollte ich Zugriff auf die App Aegis Authenticater verlieren, muss ich auf die Backup-Codes zurückgreifen, welche in einer KeePass-Datenbank lagern.

Falls ihr einfache Lösungen kennt, um sämtliche Apps samt deren Inhalte sichern und auf abweichenden Telefonen wiederherstellen zu können, freue ich mich, wenn ihr mir davon berichtet.

Network Attached Storage (NAS)

Meine Synology Diskstation ist:

  • Das Ziel für automatisierte Datensicherungen von Mobiltelefonen und Tablets
  • Datensicherungsziel für die Backups meiner virtuellen Server im LAN und in der Cloud
  • Primärer Speicherort für Fotos, Videos, eine Musiksammlung, Git-Repos
  • Primärspeicher für archivierte Daten, die ich vermutlich nie wieder benötige

Ausgewählte Daten werden wöchentlich mit Hyper Backup (Backup-Anwendung der Diskstation) auf eine angeschlossene USB-Festplatte gesichert. Darüber hinaus habe ich mir ein Offsite-Backup gebastelt, welches ich in diesem Artikel beschrieben habe.

Über Erfolg und Misserfolg der Sicherungen werde ich per E-Mail benachrichtigt.

Die größte Herausforderung für mich ist es, die Wiederherstellbarkeit der gesicherten Daten zu kontrollieren. Dies mache ich bisher sporadisch und manuell. Und vermutlich viel zu selten.

Daten von Laptops

Daten meiner Laptops synchronisiere ich teilweise mit Nextcloud, welche ich auf einem virtuellen Server betreibe. Gehostet wird dieser bei Contabo in Deutschland.

Darüber hinaus nutze ich Déjà Dup Backups für eine wöchentliche Datensicherung meines HOME-Verzeichnisses in die Nextcloud mit 180 Tagen Vorhaltezeit. Auch hier teste dich die Wiederherstellbarkeit sporadisch.

Das HOME-Verzeichnis meines Dienstlaptops wird täglich mit Déjà Dup in das Google Drive meines Arbeitgebers gesichert.

Urkunden, Verträge, Zeugnisse und weiterer Papierkram

Auch wir haben jede Menge totes Holz im Schrank stehen, dessen Wiederbeschaffung bei Verlust mit viel Zeit und Mühe verbunden ist.

Meine Lösung für diese Herausforderung habe ich in Mein Paperless-NGX-Mini-Konzept niedergeschrieben.

Hier möchte ich die Wiederherstellung noch verbessern, indem ich auf meinem Laptop ein Ansible-Playbook ablege, welches die Paperless-NGX-Instanz auf meinem Laptop wiederherstellt. So teste ich die Wiederherstellbarkeit und habe immer eine relativ aktuelle Kopie auf der verschlüsselten Festplatte meines Laptops bei mir.

Auf einem virtuellen Server in der Cloud möchte ich diese Daten aktuell nicht so gerne hosten. Dazu muss ich mir zuvor in Ruhe Gedanken über mögliche Risiken für die Integrität und Vertraulichkeit der Daten machen.

Meine produktive Paperless-NGX-Instanz steht mit dem Papier im gleichen Haus. Das Backup beinhaltet alle PDF-Dateien und liegt verschlüsselt in der Cloud. Da die Dateinamen halbwegs sinnvoll benannt sind, scheint im Falle eines GAU die Suche im Heuhaufen nicht hoffnungslos.

Blog und Nextcloud

Für beide Dienste, welche auf einem virtuellen Server bei Contabo laufen, wird zur Datensicherung wöchentlich ein Datenbank-Dump und ein Archiv der Verzeichnisstruktur mit Ordnern und Dateien erstellt. Dieses Backup wird lokal auf dem Server abgelegt und für 30 Tage vorgehalten. Ich nutze dafür selbstgeschriebene Bash-Skripte, welche durch Cron ausgeführt werden.

Auf meinem NAS läuft ein Skript, welches die Backups vom Server auf das NAS synchronisiert.

Über Erfolg und Misserfolg der einzelnen Jobs werde ich per E-Mail benachrichtigt.

Die Wiederherstellbarkeit teste ich sporadisch und sollte dies mutmaßlich häufiger tun. Ein Automat dafür befindet sich aktuell in Arbeit. Den aktuellen Stand kann man in folgenden Artikeln nachlesen:

Virtuelle Server und Dienste in der Cloud

Ruhende Daten werden verschlüsselt, bevor sie in die Cloud hochgeladen werden. Das Restrisiko, dass der fremde Betreiber prinzipiell die Kontrolle über meinen virtuellen Server übernehmen kann, bleibt.

Betreibe ich Server oder Dienst nicht im eigenen Heimnetzwerk, nutze ich für den Betrieb deutsche Anbieter mit Standorten in Deutschland. Zu diesen habe ich einfach das größte Vertrauen, dass sie sich an geltende Gesetze halten, die Hoffnung, dass sie den Datenschutz ernst nehmen und meine Daten dort gut aufbewahrt sind.

Wie sichert ihr eure Daten außer Haus? Welche Dienste verwendet ihr dazu? Ich freue mich, wenn ihr eure Erfahrungen in den Kommentaren teilt.

Zusammenfassung

Ich habe mir zumindest mal Gedanken gemacht, welche Daten so wichtig sind, dass ich sie vor Verlust schützen möchte. Zum Schutz vor Verlust kommen verschiedene Verfahren zum Einsatz, die auf der Schaffung von Redundanz durch Synchronisierung oder der Datensicherung mit Versionierung beruhen.

Die Wiederherstellbarkeit wird zumindest sporadisch getestet. Dieser Punkt ist sicherlich ausbaufähig.

Wer die einzelnen Abschnitte gelesen hat, stellt jedoch auch fest, dass es schnell ein wenig unübersichtlich wird. Zumindest hilft dieser Artikel etwas, den Überblick zu behalten.

Für die Zukunft wünsche ich mir eine dedizierte Backup-Senke im Keller, in der sich ausschließlich Backups befinden und eine Offsite-Senke, auf welche die Daten der Backup-Senke gesichert werden. Bis ich da hinkomme, wird sicherlich noch etwas Zeit vergehen.

2. September 2023

KDE und ich, das ist eine Hassliebe. Ich ärgere mich über manche Entwicklungen, kann aber trotzdem nicht darauf verzichten. Die Desktopoberfläche Plasma und einige Anwendungen wie Dolphin sind einfach durch nichts zu ersetzen. Ich habe es versucht. Mehrfach. Aber KDE PIM ist eine Katastrophe und diese Katastrophe wird nun verdoppelt. Warum nur?

Vor einigen Jahren habe ich noch gefragt, warum Kubuntu als Standard-Mailclient Thunderbird einführt und damit das homogene KDE-Ökosystem der Distribution bricht. Einige Jahre später bin ich selbst auf Thunderbird umgestiegen. Die Kubuntu-Entwickler hatten also doch recht. Jede Leidensfähigkeit hat ihre Grenzen und für KDE PIM / Kontact ist einfach keine Perspektive in Sicht.

Es gibt gute Gründe, alten PIM-Suites Alternativen an die Seite zu stellen. GNOME hat dies mit Kontakte und Kalender getan. Die Zielgruppe sind Anwender, für die Evolution zu viele Funktionen hat, aber die ihre Kontakte und Termine gerne via DAV über die Geräte hinweg synchronisieren möchte. Es werden unterschiedliche Zielgruppen bedient und das ist sinnvoll.

Als KDE vor einiger Zeit den Kalendar herausbrachte, dachte ich, dass man genau dieses Konzept verfolgen würde. Stattdessen wurde es in den letzten Jahren immer weiter aufgebläht. Erst kamen Kontakte dazu, dann Mails und jetzt heißt das ganze Merkuro. Jetzt, wo das Projekt so aufgebläht ist, kann man in Zukunft die einzelnen Komponenten separat installieren. Woran erinnert uns das? Ach ja, mit Kontact bzw. KAdressBook, KOrganizer und KMail hat das KDE doch schon in einer anderen Variante.

Auch die neue App geht das eigentliche Problem nicht an. Wie Kontact basiert sie auf Akonadi. Ein Produkt aus dem Abstraktionswahn, der KDE um 2010 befallen hat und dem wir legendäre Fehlschläge wie Phonon, Nepomuk & Co. verdanken. Generationen von KDE-Entwicklern haben ihre Energie darauf verschwendet, diese Bug-Hölle zu stabilisieren. Mit dem Ergebnis, dass man zwar irgendwie damit arbeiten kann, aber trotzdem täglich spürbare Fehler hat. Mit neuen Softwareverteilungsmechanismen wie Flatpak stirbt das Konzept eigentlich ohnehin aus.

Mit Merkuro steht den Anwendern eine Alternative zu Kontact zur Verfügung, die genau die gleichen Akonadi-Probleme mit sich herumschleppt wie ihr Gegenstück. Nun tüfteln zu wenige Entwickler an zwei verschiedenen Suiten und die Akonadi-Basis wird mit einem Busfaktor von ~1 gepflegt. Ist es vermessen, nach dem Warum zu fragen? Die Antwort ist wohl, weil ein paar Entwickler Spaß daran hatten und das KDE-Projekt wieder einmal keine Kontrolle hatte. Oder haben KDE-Projekte quasi einen immanenten Zwang zur Featureritis?

Zum Glück entwickelt sich Thunderbird aktuell positiv und Linux-Anwendern bleiben somit eine desktopunabhängige solide E-Mail-Anwendung mit Kontaktverwaltung und Kalenderunterstützung.

Der Artikel KDE erschafft eine Alternative zu Kontact – Die Frage ist nur warum? erschien zuerst auf Curius

30. August 2023

Die MZLA Technologies Corporation hat mit Thunderbird 115.2 ein planmäßiges Update für seinen Open Source E-Mail-Client veröffentlicht.

Neuerungen von Thunderbird 115.2

Mit dem Update auf Thunderbird 115.2 hat die MZLA Technologies Corporation ein planmäßiges Update für seinen Open Source E-Mail-Client veröffentlicht. Das Update bringt diverse Fehlerbehebungen und Verbesserungen, welche sich in den Release Notes (engl.) nachlesen lassen. Auch wurden diverse Sicherheitslücken geschlossen.

Updates von Thunderbird 102 und älter sind zu diesem Zeitpunkt noch nicht aktiv. Nutzer älterer Versionen können sich Thunderbird 115.2 aber über die offizielle Website herunterladen und über die bestehende Version installieren.

Der Beitrag Thunderbird 115.2 veröffentlicht erschien zuerst auf soeren-hentzschel.at.

29. August 2023

Mozilla hat Firefox 117 für Windows, Apple macOS und Linux veröffentlicht. Dieser Artikel fasst die wichtigsten Neuerungen zusammen – wie immer auf diesem Blog weit ausführlicher als auf anderen Websites.

Download Mozilla Firefox für Microsoft Windows, Apple macOS und Linux

Website-Übersetzungen ohne Cloud

Firefox 117 besitzt erstmals eine Übersetzungsfunktion für Websites, welche im Gegensatz zu Cloud-Übersetzern wie Google Translate lokal arbeitet, die eingegebenen Texte also nicht an einen fremden Server sendet. Die Übersetzungsfunktion wird in einem eigenen Artikel ausführlich vorgestellt.

Vorschau auf Übersetzungsfunktion in Firefox 117

Diese Funktion wird im Laufe der kommenden Wochen schrittweise ausgerollt. Eine manuelle Aktivierung ist in der Zwischenzeit über about:config möglich, indem der Schalter browser.translations.enable per Doppelklick auf true gesetzt wird.

Speicherung von Kreditkarten-Daten

Firefox unterstützt die Speicherung von Kreditkarten-Daten, sodass Nutzer diese in Online-Shops nicht jedes Mal manuell eingeben müssen. Bislang war diese Funktion für Nutzer in Deutschland, den USA, Kanada, Frankreich sowie dem Vereinigten Königreich aktiviert.

Firefox 117 aktiviert die Funktion auch für Nutzer in Österreich, Italien, Spanien, Belgien und Polen.

Sonstige Endnutzer-Neuerungen von Firefox 117

Die Untertitel-Funktion des Bild-im-Bild-Modus wurde erneut für weitere Dienste zugänglich gemacht. Ab sofort werden Disney+, Hotstar sowie Arte unterstützt.

Auf macOS gibt es eine neue sichtbare Einstellung „Tab-Taste verwenden, um den Fokus zwischen Formular-Steuerung und Links zu verschieben“. Wird diese aktiviert, kann mittels Tabulator-Taste auch zwischen Links navigiert werden, wenn die macOS-Einstellung „Tastaturnavigation“ nicht aktiviert ist – welche standardmäßig nicht aktiviert ist.

Auf Wayland-Umgebungen unter Linux wird beim Teilen von Bildschirminhalten ab sofort der entsprechende Indikator des Betriebssystems anstelle eines eigenen genutzt. Außerdem gibt es auf Linux im Dialog zum Öffnen von Dateien jetzt auch PDF als verfügbaren Dokumenttypfilter.

Eine neue Option dom.event.contextmenu.shift_suppresses_event in about:config wurde implementiert, damit das Kontextmenü nicht mehr erscheint, wenn auf einer Website bei gedrückter Shift-Taste ein Rechtsklick ausgeführt wird.

Auf about:addons wird jetzt auch der Link zur Bewertungsseite eines Add-ons angezeigt, wenn noch keine Bewertung für das jeweilige Add-on abgegeben worden ist. Die Seite about:support zeigt nun an, ob die Datei userChrome.css, userContent.css oder beide zur visuellen Anpassung von Firefox und/oder Websites verwendet werden.

Seit Version 115 unterstützt Firefox einen neuen Mechanismus, über welchen die Ausführung von Erweiterungen auf bestimmten Websites durch Mozilla, beispielsweise aus Sicherheitsgründen, standardmäßig verhindert werden kann. Firefox 116 ergänzte in den Einstellungen des jeweiligen Add-ons eine Option, womit dieser Sicherheits-Mechanismus pro Erweiterung ein- oder ausgeschaltet werden kann. Firefox 117 ergänzt eine entsprechende Kontrolloption für betroffene Erweiterungen direkt in das Erweiterungs-Menü.

Mehr Sicherheit für Firefox-Nutzer

Auch in Firefox 117 wurden wieder mehrere Sicherheitslücken geschlossen. Alleine aus Gründen der Sicherheit ist ein Update auf Firefox 117 daher für alle Nutzer dringend empfohlen.

Verbesserungen der Entwicklerwerkzeuge

Bei Verwendung von CSS-Eigenschaften, welche von mindestens einem relevanten Browser nicht unterstützt werden, zeigt Firefox jetzt ein Symbol an, dessen Tooltip Informationen zur Inkompatibilität darstellt. Außerdem gibt es einen Link zur entsprechenden Dokumentations-Seite in den MDN Web Docs.

Firefox 117 Kompatibilitäts-Tooltip

Wird das Werkzeug für Abmessungen verwendet, kann der ausgewählte Bereich jetzt mit der Tastatur verschoben oder in der Größe verändert werden.

Die Verwendung von console.clear() in einem Script leert nicht länger die Konsolenausgabe, wenn die Option „Log nicht leeren“ aktiviert ist.

Das Netzwerkanalyse-Werkzeug zeigt jetzt auch HTTP Proxy-Informationen bei den Headern an.

Weitere Neuerungen der Entwicklerwerkzeuge werden im DevTools-Newsletter für Firefox 117 beschrieben.

Webentwicklungs-Revolution? Verschachtelung von CSS

Mit jedem Major-Release von Firefox kommt auch die Unterstützung zusätzlicher Webstandards dazu. Ganz oft handelt es sich dabei um neue CSS-Eigenschaften oder JavaScript-Methoden. Aber eine Neuerung von Firefox 117 hat das Potenzial, die Art und Weise, wie das CSS von Websites geschrieben wird, zu revolutionieren. Daher sei dieser Neuerung ein eigener Abschnitt gewidmet.

Firefox 117 unterstützt die Verschachtelung von CSS. Viele Entwickler nutzen bereits eine solche Funktion über einen Präprozessor wie SASS oder LESS, der daraus dann CSS mit vollständig „ausformulierten“ Selektoren kompiliert. Dies ist in Zukunft nicht länger notwendig, da eine Verschachtelung nun ein natives CSS-Feature ist. Dies macht vor allem komplexes CSS sehr viel übersichtlicher und besser wartbar.

Weitere Verbesserungen der Webplattform

Im Bereich MathML unterstützt Firefox 117 die CSS-Eigenschaften math-style und math-depth sowie den math-Wert für die Eigenschaft font-size. Außerdem wird contain-intrinsic-size: auto none-Syntax jetzt unterstützt.

Inline-SVGs unterstützen jetzt <script>-Elemente mit type="module" sowie die Attribute defer und async.

Weitere Neuerungen für Entwickler von Websites und Browser-Erweiterungen lassen sich in den MDN Web Docs nachlesen.

Der Beitrag Mozilla veröffentlicht Firefox 117 erschien zuerst auf soeren-hentzschel.at.

28. August 2023

Wer über Mozilla auf dem Laufenden bleiben und keinen Artikel verpassen möchte, kann diesem Blog ab sofort auch auf Mastodon folgen. Natürlich stehen auch die Kanäle auf X (Twitter) sowie Facebook weiterhin zur Verfügung.

Was ist Mastodon?

Mastodon ist der wohl bekannteste Vertreter des sogenannten Fediverse und erlebt aktuell einen regelrechten Hype. Für diejenigen, welche mit dem Begriff Fediverse nichts anfangen können, hat Wikipedia eine Beschreibung parat:

Die Idee des „Fediverse“ ist, dass es möglich sein soll, ein Benutzerkonto auf einer beliebigen Plattform im Fediverse anzulegen und sich darüber mit Nutzern auf allen anderen Plattformen austauschen zu können, ohne dort ein weiteres Konto anlegen zu müssen. Ermöglicht wird das dadurch, dass die einzelnen Plattformen mittels bestimmter Kommunikationsprotokolle miteinander verbunden sind und so die föderierte Identität und Inhalte jeweils auf andere verbundene Plattformen und Instanzen verteilt werden. Diese Praxis steht im Gegensatz zu geschlossenen sozialen Netzwerken wie Twitter oder Facebook, bei denen Benutzer ein eigenes Benutzerkonto in jedem der Netzwerke benötigen, wenn sie mit anderen Nutzern des jeweiligen Netzwerks interagieren möchten.

Auch soeren-hentzschel.at ab sofort auf Mastodon

Auch dieser Blog ist ab sofort auf Mastodon vertreten. Wer keine Neuigkeit aus der Welt rund um Mozilla verpassen möchte und auf Mastodon vertreten ist, darf sehr gerne folgen.

@s_hentzschel auf Mastodon folgen

Natürlich werde ich auch weiterhin sowohl auf X (Twitter) als auch Facebook vertreten sein.

@s_hentzschel auf X (Twitter) folgen
@soerenhentzschelAT auf Facebook folgen

Der Beitrag In eigener Sache: soeren-hentzschel.at auf Mastodon erschien zuerst auf soeren-hentzschel.at.

GNU/Linux.ch 28. August 2023 10:00

Xebian

Basierend auf Debian Sid und Xfce, liefert das Projekt eine reduzierte und gut abgestimmt Distribution ab.



Erinnert ihr euch an den Vorschlag für ein Standard-Linux, über den ich neulich berichtet habe? Tädä, hier ist es! Es heisst Xebian und erfüllt meiner Meinung nach viele Kriterien an ein vermeintliches Standard-Linux. Das ist jedoch nicht die Idee des Projektes, sondern wurde ihm von mir angedichtet. Wer den Namen Xebian hört, weiss auch schon, was die Basis und die Desktopumgebung ist. Ich habe es installiert und ausprobiert.

Wer sich für Geschichte interessiert, findet einen kurzen Artikel über Xebian bei uns, den Lioh vor 2 Jahren geschrieben hat. Alle Anderen möchten bestimmt wissen, wie sich das Projekt seitdem entwickelt hat.

Auf der Projektseite von Xebian heisst es: "Das Ziel dieses Projekts ist es, ein auf Xfce basierendes Debian-System zu entwickeln, das Xubuntu sehr ähnlich ist." Für meinen Geschmack hätte das Team etwas mutiger formulieren dürfen. Vielleicht liegt es daran, dass ein Entwickler ein ehemaliges Mitglied des Xubuntu-Projektes war. Xebian gibt es als hybrides ISO-Image für 64- oder 32-Bit-Systeme (x86) mit einer Grösse von 1.5 GB. Damit lässt sich die Distribution als Live-System (Titelbild) starten und installieren. Für die Installation wird Calamares verwendet.

Die Distribution basiert auf Debian Sid, also dem "unstable"-Zweig der Mutterdistro, womit man es mit einem Rolling-Release-Modell zu tun hat. Als Desktopumgebung kommt Xfce 4.18 zum Einsatz, worauf der Name "Xebian" hinweist. Ansonsten ist diese Distro absichtlich spartanisch ausgelegt, wenn es um die Pakete geht. Sie enthält die wichtigsten Werkzeuge, die die meisten Benutzer benötigen, wie z. B. einen Webbrowser, einen Mediaplayer, Bild- und PDF-Betrachter usw. Die Standardeinstellung ist ein sehr einfaches Festplattenlayout, mit einer Root-Partition und einer Swap-Partition und sonst nichts.

Installation

Wie gesagt, das ISO-Image startet in den Live-Modus, in dem man sich einen ersten Überblick verschaffen kann. Nach einem Klick auf das Install-Icon gibt es eine kleine Überraschung:

Egal, "Launch Anyway" startet Calamares. Hier wurde nichts an Xebian angepasst; es läuft die standardmässige Installationsprozedur für Debian 12 ab:

Das geht schnell und ist mit ein paar Klicks, Auswahlen und der Eingabe von Name und Ort erledigt. Die eigentliche Installation dauert ca. 1 Minute, was auch an der reduzierten Menge an Paketen liegt; es sind nur 1244. Bei einem Debian-basierten System kann man das mit diesem Befehl ermitteln: dpkg --list | wc --lines. Der Speicherbedarf nach dem Starten beträgt 870 MB, was ein üblicher Wert bei der Kombination von Debian und Xfce ist. Die Boot-Geschwindigkeit beträgt 15 Sekunden, vom Kaltstart bis zum Login-Dialog in der virtuellen Maschine GNOME-Boxes.

Desktop

Da Xebian bewusst reduziert gebaut wurde, erscheint auch der Xfce-Desktop ohne viel Bling Bling. Wie ihr im Titelbild sehen könnt, gibt es ein oberes Panel mit einem Menü auf der linken Seite und diesen Funktionen auf der rechten Seite: Energieverwaltung, Audio-Regler, Netzverbindungen, Aktualisierungsindikator (Synaptic), Kalender, Workspaces, Arbeitsflächenumschalter.

Bis auf die m. M. überflüssige Energieverwaltung und das zu grosse Icon für die Aktualisierungen gefällt mir alles. Auch gut ist der Ersatz des standardmässigen Xfce-Anwendungsmenüs durch das tolle Whisker-Menü. Dadurch erspart sich Xebian den App-Finder und Shutdown-Icons im Systemtray, weil diese Funktionen in Whisker bereits enthalten sind. Als Desktop-Thema kommt Xubuntus Graybird-Dark Theme zum Einsatz, was mir gut gefällt. Vor allen Dingen, scheinen sich alle Anwendungen an das Thema zu halten.

Anwendungen

Machen wir es kurz: Xebian verwendet einen 6.4er Kernel, Xfce 4.18 und bringt wenige vorinstallierte Anwendungen mit:

  • Büro: keine Office-Suite, nur den PDF-Betrachter Atril
  • Einstellungen: das übliche Xfce-Durcheinander
  • Grafik: den GNOME 44 Dokumenten-Scanner (hält sich nicht ans Theme) und Ristretto als Bildbetrachter
  • Internet: Firefox 116.0
  • System: Synaptic Paketverwaltung, Task-Manager, Thunar Dateiverwaltung
  • Unterhaltungsmedien: Parole Medienplayer, Pulse-Audio Lautstärkeregler, Xfburn CD-Brenner
  • Zubehör: Bildschirmfoto, Catfish-Dateisuche, Engrampa-Archive, MATE-Taschenrechner, Mousepad (Editor), Terminal, Zeichentabelle, Zwischenablage

Tja, das ist es. Ich habe selten eine Distribution mit so wenigen vorinstallierten Anwendung gesehen. Das mag für Fortgeschrittene gut sein, weil sie sowieso die meisten Apps durch ihre eigenen Favoriten ersetzten. Einsteiger vermissen hier den grossen Vorteil von GNU/Linux-Distributionen: batteries included. Es gehört zur Idee von Xebian, die Distribution so schlank wie möglich zu halten.

System

Mit Debian-unstable hat man aktuelle Software zur Verfügung. Der Kernel und die Desktopumgebung sind auf dem neusten Stand und bleiben es auch. Für die Paketverwaltung kommt apt, bzw. Synaptic als grafischer Überbau zum Einsatz. Xebian wird mit allen grundlegenden Debian-Repositories ausgeliefert: main, contrib, non-free-firmware und non-free ohne eigene Extras.

Andere (neue) Paketformate (Flatpak, Snap, AppImage) werden nicht unterstützt, können aber nachinstalliert werden. Auf eine GUI-Paketverwaltung, die vielfältige Formate unterstützt, muss man verzichten. Bei der Konfiguration der Distribution muss man sich auf das Xfce-Sammelsurium von Einzelanwendungen einlassen. Eine zusammenfassende Anwendung für Systemeinstellungen gibt es nicht. Xebian verwendet systemd als erweitertes Init-System, und X.org (X11) als Display-Server; Wayland gibt es nicht.

Fazit

Um hier keine Missverständnisse aufkommen zu lassen; Xebian positioniert sich nicht als die Standard-Distro, das war nur meine Idee für diesen Artikel.

In der Einleitung habe ich Xebian als Kandidatin für die von Jack Wallen vorgeschlagene Idee einer Standard-Linux-Distribution erwogen. Grundsätzlich ist Debian Sid dafür eine gute Basis, weil es ziemlich stabil, Community-gestützt und im Linux Umfeld, der Fels in der Brandung ist. Obwohl ich ein Xfce-Fan bin, halte ich den Desktop für veraltet und nicht genügend volatil. Wer Debian stable als langsam empfindet, muss bei Xfce in den Keller gehen und die Bartwickelmaschine anwerfen. Das ist keine Kritik, sondern ein Lob an die Stabilität und Beständigkeit des Xfce-Projektes.

Meine Wunschvorstellungen für eine "Standard-GNU/Linux-Distribution" wären:

  • Debian Sid basiert
  • KDE-Plasma oder GNOME als Desktop bei der Installation zur Auswahl
  • Live-ISO, damit Anwender:innen ausprobieren und installieren können
  • Ein grafischer Paketmanager, der alle modernen Formate beherrscht
  • Eine gute Vorauswahl von Anwendungen (das ist der unique selling point von Linux-Distros)
  • Gefälliges Theming und viel Gefühl für die Details (ein stimmiger Desktop)

Für wen eignet sich Xebian? Für alle, die es einfach, stabil und rolling mögen, was kein Widerspruch sein muss. Für alle, die ihre eigenen Vorstellungen von der Zusammenstellung ihrer Anwendungen haben und mit einem schlanken System starten möchten. Wenn auch minimalistisch, hat die Distribution eine gute Konfiguration, auf der man aufbauen kann.

Quelle: https://xebian.org/


GNU/Linux.ch ist ein Community-Projekt. Bei uns kannst du nicht nur mitlesen, sondern auch selbst aktiv werden. Wir freuen uns, wenn du mit uns über die Artikel in unseren Chat-Gruppen oder im Fediverse diskutierst. Auch du selbst kannst Autor werden. Reiche uns deinen Artikelvorschlag über das Formular auf unserer Webseite ein.