Ubuntu 16.04 Xenial Xerus
Ubuntu 14.04 Trusty Tahr
Ubuntu 12.04 Precise Pangolin
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.
Das Programm kann über die Paketverwaltung installiert werden:[1]
xclip (universe)
mit apturl
Paketliste zum Kopieren:
sudo apt-get install xclip
sudo aptitude install xclip
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
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
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
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
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.
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}
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 31. Juli 2016 21:32 von Seebär erstellt.