xclip
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Ubuntu 22.04 Jammy Jellyfish
Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
xclip 🇬🇧 dient wie xsel der Verwaltung der Zwischenablage(n), sprich des X11-Clipboards von der Kommandozeile aus. Das Programm bietet Möglichkeiten, die Zwischenablage effektiv als Schnittstelle zwischen Kommandozeile und grafischen Anwendungen zu nutzen.
Mit dem Paket werden zusätzliche Programme installiert, die zum Kopieren, Verschieben und Einfügen von Dateien mittels der Zwischenablage dienen, hier aber nicht näher beschrieben sind.
Installation¶
Das Programm kann über die Paketverwaltung installiert werden:[1]
xclip (universe)
Befehl zum Installieren der Pakete:
sudo apt-get install xclip
Oder mit apturl installieren, Link: apt://xclip
Bedienung¶
Der allgemeine Aufruf lautet:[2]
xclip OPTIONEN DATEI
Mit dem folgenden Befehl liest man beispielsweise die Datei /etc/lsb-release in den primären Bereich der Zwischenablage:
xclip /etc/lsb-release
Nun kann man den Inhalt der Datei (die Informationen zum Ubuntu Release) an beliebiger Stelle einfügen – für gewöhnlich mit der mittleren Maustaste .
Da xclip im vorhergehenden Beispiel ohne Optionen aufgerufen wurde, wurden die Standard-Einstellungen verwendet. Dies entspricht folgendem Befehl mit ausgeschriebenen Optionen:
xclip -in -selection primary /etc/lsb-release
Optionen¶
xclip bietet einige Optionen, von denen hier nur die wichtigsten beschrieben sind; weitere Optionen beschreibt die Manpage. Die Optionen müssen nicht ausgeschrieben werden, solange die Verkürzung eindeutig ist. So ist folgender Befehl gleichbedeutend zum vorhergehenden Aufruf:
xclip -i -se p /etc/lsb-release
Ein- und Ausgabe¶
Wie am Beispiel der Release-Informationen zu sehen, schreibt xclip standardmäßig den Inhalt einer Datei in die Zwischenablage. Zum Schreiben in die Zwischenablage wird der Parameter -in
verwendet. Mit dem Parameter -out
wird der Inhalt der Zwischenablage auf die Standardausgabe geschrieben:
xclip -out
Mittels einer Umleitung kann auch die Ausgabe eines Befehls in die Zwischenablage geschrieben werden.
date | xclip
Bereiche¶
Die Zwischenablage (das X11-Clipboard) hat drei Bereiche, zwischen denen über die Option -selection
gewählt werden kann:
primary
- die primäre Auswahl (Kopie der letzten Markierung)secondary
- anwendungsspezifische Auswahlclipboard
- die eigentliche Zwischenablage
Ohne eine andere Angabe, nutzt xclip den primary
-Bereich. In diesem Bereich wird zwischengespeichert, was im grafischen System in der Regel mit der Maus
markiert wurde und
wieder eingefügt werden kann.
Der Bereich secondary
wird nur von wenigen Anwendungen beansprucht und bietet die Möglichkeit, einen Inhalt gegen einen anderen auszutauschen.
Der Bereich clipboard
wird auf der grafischen Seite gewöhnlich über Einträge in einem Kontextmenü oder Tastenkürzel verwaltet.
xclip -selection clipboard DATEI
Hierbei dient in der Regel
Strg + C zum Kopieren,
Strg + X zum Ausschneiden und
Strg + V zum Einfügen.
Beispiele¶
Dateiname zu -inhalt¶
Dieses Beispiel liest einen Dateinamen aus der Zwischenablage und schreibt, sofern die Datei gelesen werden kann, ihren Inhalt zurück in die Zwischenablage:
file=$(xclip -out);[[ -r ${file} ]] && xclip ${file}
Clipboard-Vorschau¶
Folgendes Benutzer-Skript für byobu gibt mit Hilfe von sed die ersten dreizehn Zeichen der ersten Zeile des Textes aus der Zwischenablage gefolgt von drei Punkten wieder:
1 2 3 4 5 6 7 8 9 10 | #!/usr/bin/env bash # byobu custom script: clipboard preview # message length LENGTH="13" # X11-selection: clipboard, primary, secondary SELECTION="clipboard" # get n chars of the selections first line followed by three dots xclip -out -selection "${SELECTION}" | sed "1!d;s/\(.\{${LENGTH}\}\).*/\1\.\.\./" |
Aus "Es war einmal vor langer Zeit in einem weit entfernten Land" wird somit "Es war einmal...".
Links¶
Shell/Anwendungen Übersichtsartikel