ubuntuusers.de

xclip

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:


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:

Wiki/Icons/terminal.png 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 mittlere 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 Auswahl

  • clipboard - 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

  • linke Maustaste markiert wurde und

  • mittlere Maustaste 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...".

Diese Revision wurde am 21. August 2022 18:38 von karzer erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Desktop, Shell