Clipboard Project: Die Zwischenablage sinnvoll verwalten

Aus LinuxUser 11/2023

Clipboard Project: Die Zwischenablage sinnvoll verwalten

© Andrii Dragan / 123RF.com

Unter Kontrolle

Das Projekt Clipboard richtet sich an Anwender, die ihre Zwischenablage über die Kommandozeile steuern möchten.

Im heutigen digitalen Arbeitsablauf nutzt man oft viele Anwendungen gleichzeitig. Dabei spielt ein Zwischenspeicher mit möglichst gutem Gedächtnis eine zentrale Rolle. Die Zwischenablage (Clipboard) ist ein temporärer Speicherbereich im RAM für Daten, die der Benutzer von einem Ort zum anderen kopieren möchte. Standardmäßig wird dabei nur eine Eingabe gespeichert, die sich an anderer Stelle einfügen lässt. Über Clipboard-Manager, entweder als Teil der Desktop-Umgebung oder unabhängige Anwendungen, lässt sich diese Funktionalität mitunter stark erweitern. Das macht diese Apps zu mächtigen Tools. Ein Beispiel für eine mit Funktionen geradezu vollgepackte Anwendung aus diesem Bereich ist CopyQ [1], das wir in LU 01/2022 bereits ausführlich vorgestellt haben.

Diesmal sehen wir uns das Open-Source-Projekt Clipboard an, das seit einem dreiviertel Jahr auf Github entwickelt wird. Mit 3800 Sternen ausgezeichnet, erfreut es sich angesichts des kurzen Zeitraums seiner Existenz ungewöhnlicher Beliebtheit [2]. Im Gegensatz zum grafischen CopyQ handelt es sich bei Clipboard um ein Kommandozeilenwerkzeug, das auf Xclip aufbaut [3]. Derzeit arbeitet die Community an den Voraussetzungen, um einen GUI-Wrapper einbinden zu können.

Die Entwickler versprechen für Cb (so das Kürzel für die Anwendung) unter anderem das Kopieren und Einfügen von Text, Dateien, Verzeichnissen und Binärdaten aus einer unbegrenzten Zahl an Clipboards mit unbegrenzter Verlaufshistorie. Dabei lässt sich das Tool in das System-Clipboard oder einen anderen Clipboard-Manager integrieren. Im Endeffekt verbirgt sich hinter Cb aber wesentlich mehr, als nur ein Wrapper für die Befehle cp, pasteund cut. Tatsächlich bietet das Projekt aber mannigfaltige Wege, Dateien und Ordner zu kopieren, ohne darüber nachdenken zu müssen, wo man sie ablegen will.

Um es mit den Worten des Cb-Teams zu sagen: “Legen Sie einen Assistenten an, der alles darüber weiß, was Sie wohin verschieben möchten.” Auf der Webseite schreiben die Entwickler außerdem, selbst ihre Großmutter könne Cb bedienen. Am anderen Ende der Möglichkeiten, die die Anwendung bietet, stehen reguläre Ausdrücke und Skripting. Eine skriptfähige API hilft, Arbeitsabläufe im Handumdrehen zu automatisieren. Neben Linux funktioniert das in C++ geschriebene Werkzeug unter FreeBSD, OpenBSD und NetBSD, OpenIndiana, MacOS sowie Windows. Mit Linux läuft Cb ohne X-Server unter X11 und Wayland.

Installation

Die Webseite von Cb empfiehlt ein Skript zum Installieren der Anwendung in einem Rutsch. In unseren Tests schlug das allerdings auf drei Rechnern mit Debian, Ubuntu und Fedora fehl. Stattdessen installierten wir Cb als Flatpak problemlos direkt von Flathub [4]. Nach dem Einfügen der Anwendung in den Systempfad (Listing 1) konnten wir dann ohne Umschweife loslegen.

Listing 1

Flatpak einbinden

$ echo "alias cb='flatpak run app.getclipboard.Clipboard'" >> ~/.bashrc
$ source ~/.bashrc

Für die Distributionen Gentoo, LiGurOS, und Void Linux gibt es passende Binärpakete. Daneben unterstützt Cb die Paketmanager Homebrew, Nix, Pacstall und Scoop. Zudem steht das Tool auch im Ubuntu-Paketformat Snap bereit. Die jeweiligen Befehle zur Installation finden Sie auf Github [5].

Sollte dort nichts für Sie dabei sein, erstellen Sie das Paket selbst aus den Quellen. Dazu laden Sie den Code von Github herunter (Listing 2, erste Zeile) und wechseln in den Build-Ordner des dabei entstandenen Unterverzeichnisses (Zeile 2). Nun bereiten Sie Cmake vor (Zeile 3) und bauen anschließend Clipboard (Zeile 4). Bemängelt Cmake einen Fehler bezüglich einer fehlenden Alsa-Bibliothek, ziehen Sie das Paket libasound2-dev nach.

Zu guter Letzt installieren Sie Clipboard in Ihrem System (Zeile 5) und binden es in den Systempfad ein (Zeile 6 und 7). Hat alles geklappt, zeigt der Befehl cb -h daraufhin die Optionen der Anwendung an (Abbildung 1).

Listing 2

Clipboard aus den Quellen bauen

$ git clone https://github.com/Slackadays/Clipboard
$ cd Clipboard/build
$ cmake -DCMAKE_BUILD_TYPE=Release ..
$ cmake --build . -j 12
$ cmake --install .
$ echo 'export PATH=$PATH:/home/USERNAME/Clipboard/build' >> ~/.bashrc
$ source ~/.bashrc

Abbildung 1: Die Online-Hilfe zu Cb zeigt sämtliche möglichen Aktionen an, führt mit den vorgeblichen Übersetzungen in der zweiten Spalte jedoch in die Irre: Die korrekten Unterbefehle für das Kommando finden Sie auf der Github-Seite des Projekts.

Abbildung 1: Die Online-Hilfe zu Cb zeigt sämtliche möglichen Aktionen an, führt mit den vorgeblichen Übersetzungen in der zweiten Spalte jedoch in die Irre: Die korrekten Unterbefehle für das Kommando finden Sie auf der Github-Seite des Projekts.

Was Cb kann

Im Folgenden sehen wir uns einige der Möglichkeiten an, mit Cb Ihre Arbeitsabläufe zu optimieren. Wie der Hilfebildschirm zeigt, unterstützt Cb die Aktionen cut, copy und paste, um Inhalte in ein Clipboard zu befördern. Des Weiteren listet die Anwendung die Inhalte der Clipboards auf, die Sie ganz nach Bedarf editieren, austauschen und entfernen. Ein Reboot löscht zwar standardmäßig alle Clipboards, aber Cb erlaubt persistente Zwischenablagen, die davon unberührt bleiben.

Der Befehl cb copy Inhalt kopiert eine Datei, ein Verzeichnis oder eine Binärdatei in ein erstes Clipboard (Abbildung 2). Es erhält automatisch den Zähler 0. Weitere Inhalte kopieren Sie mit demselben Befehl in dasselbe Clipboard. Kopien in ein zweites Clipboard gelingen mit dem Kommando cb copy1 Inhalt. Die Nummerierung obliegt dabei ganz Ihnen. Mehrere Inhalte fertigen Sie, getrennt durch eine Leerstelle, in einem Rutsch ab (Abbildung 3). Zum Einfügen von Inhalten an andere Orte verwenden Sie paste oder cut. Wechseln Sie in das Verzeichnis Ihrer Wahl und fügen Sie die gewünschten Inhalte dort ein. Ein anschließendes ls zeigt den Erfolg.

Abbildung 2: Der Parameter zum Kopieren von Inhalten nimmt Texte, Dateien, Verzeichnisse oder Bin&auml;rpakete in ein Clipboard auf. Der Aufruf <code>cb</code> (&auml;quivalent zu <code>cb status</code>) zeigt den Erfolg im ersten Clipboard mit der Nummer&nbsp;0.

Abbildung 2: Der Parameter zum Kopieren von Inhalten nimmt Texte, Dateien, Verzeichnisse oder Binärpakete in ein Clipboard auf. Der Aufruf cb (äquivalent zu cb status) zeigt den Erfolg im ersten Clipboard mit der Nummer 0.


Abbildung 3: In Clipboard&nbsp;3 landete der gesamte Firefox-Ordner mit fast 80&nbsp;Dateien. Der Befehl <code>cb</code> zeigt alle angelegten Clipboards, w&auml;hrend <code>in3</code> alle Informationen &uuml;ber Clipboard&nbsp;3 ausgibt.

Abbildung 3: In Clipboard 3 landete der gesamte Firefox-Ordner mit fast 80 Dateien. Der Befehl cb zeigt alle angelegten Clipboards, während in3 alle Informationen über Clipboard 3 ausgibt.

In derselben Weise handhaben Sie die weiteren Aktionen. Die Befehl cb und cb status liefern einen Überblick über alle Clipboards samt ihrer Inhalte. Mehr erfahren Sie mit dem History-Befehl cb hs. Er gibt alle Inhalte von Clipboard 0 aus, nummeriert in der Reihenfolge der Erstellung samt Dateitypen und Uhrzeit. Für andere Clipboards nutzen Sie die entsprechende Nummer, wie in cb hs2023. Noch ausführlichere Informationen fördert cb info zutage (Abbildung 4), gegebenenfalls kombiniert mit der gewünschten Nummer.

Abbildung 4: Alle verf&uuml;gbaren Informationen &uuml;ber ein Clipboard von der Erstellung &uuml;ber die letzte &Auml;nderung bis zur Gr&ouml;&szlig;e und weiteren Eigenschaften listet die Aktion <code>info</code> auf.

Abbildung 4: Alle verfügbaren Informationen über ein Clipboard von der Erstellung über die letzte Änderung bis zur Größe und weiteren Eigenschaften listet die Aktion info auf.

Möchten Sie persistente Clipboards erstellen (Abbildung 5), lautet das entsprechende Kommando beispielsweise cb copy_3 Inhalt. Dieses Clipboard sprechen Sie im Unterschied zu flüchtigen Clipboards künftig mit _3 an. Notizen wie oft benutzte Textbausteine erzeugt Cb über den Parameter note (Abbildung 6). Mit cb note_3 "Wichtiger Textbaustein" legen Sie den in Anführungszeichen gesetzten Text in ein persistentes Clipboard mit der Nummer 3.

Abbildung 5: Hier wurde ein Bin&auml;rpaket in ein persistentes Clipboard gelegt. Den Unterschied macht der Unterstrich beim Erstellen des Clipboards.

Abbildung 5: Hier wurde ein Binärpaket in ein persistentes Clipboard gelegt. Den Unterschied macht der Unterstrich beim Erstellen des Clipboards.


Abbildung 6: Notizen wie Textbausteine oder andere Texte lassen sich mit der Aktion <code>note</code> einf&uuml;gen. Auch hier ist ein persistentes Clipboard sinnvoll.

Abbildung 6: Notizen wie Textbausteine oder andere Texte lassen sich mit der Aktion note einfügen. Auch hier ist ein persistentes Clipboard sinnvoll.

Darüber hinaus kann die Anwendung bestimmte Inhalte über reguläre Ausdrücke ignorieren: cb ignore Li.*r sortiert sämtliche Inhalte aus, die mit Li beginnen und mit r enden. Ein nachfolgender Befehl wie cb copy LinuxUser schlägt dementsprechend fehl. Freilich sollten Sie bei der Formulierung der Muster aufpassen, denn in diesem Beispiel wäre unter anderem auch der Begriff “Likör” betroffen.

Mit den fortgeschrittenen Funktionen zeichnen Sie beispielsweise Log-Dateien auf, um sie zu bearbeiten oder zu teilen. Der Befehl journalctl | cb schreibt das Systemd-Log ins Clipboard 0. Rufen Sie später cb erneut auf, wird das Journal frisch eingelesen und aktualisiert. Daraufhin fügen Sie es zum Beispiel mittels journalctl | cb paste als Text in das aktuelle Verzeichnis ein. Die Zusammenarbeit mit der Zwischenablage des Systems oder Tools wie CopyQ klappt mit dem Aufruf cb load Inhalt, woraufhin die Inhalte in der entsprechenden Zwischenablage bereitstehen.

Sagt Ihnen das Erscheinungsbild von Cb nicht zu, können Sie die Farben ändern, die Anwendung an helle Hintergründe anpassen oder Farbe gänzlich verbannen. Der Weg dazu führt über das Kommando export NO_COLOR=1. Möchten Sie das Theme wechseln, gelingt das mit export CLIPBOARD_THEME=Thema. Dabei umfasst die Auswahl neben dem Standard dark die Varianten light, darkhicontrast, lighthighcontrast, amber und green.

Fazit

Cb bietet sich nicht nur als Terminal-basierter Ersatz für die Zwischenablage des Systems an, sondern auch als Ablösung für Werkzeuge wie CopyQ. Das ist besonders interessant für Anwender, die eher mit der Tastatur als mit der Maus arbeiten. Die unbegrenzte Zahl an flüchtigen und persistenten Clipboards erlaubt, Inhalte themenbasiert zu sortieren.

Texte, Bilder, Dateien, Verzeichnisse oder Binärdateien halten Sie so jeweils in eigenen temporären oder persistenten Clipboards für den schnellen Zugriff vor. Über die Skripting-API lässt sich Cb zudem in eigenen Skripten nutzen. Unser einziger Kritikpunkt betrifft die deutlich verbesserungsfähige Installationsprozedur. Weitere Informationen finden Sie auf der Github-Seite von Cb [6], im Clipboard-Wiki [7], innerhalb der Github-Discussions [8] und in der Discord-Gruppe des Tools [9]. (csi)

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDF
LinuxUser 11/2023 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben