[[Vorlage(Getestet, bionic, jammy)]] {{{#!vorlage Wissen [:Pakete installieren: Installation von Programmen] [:Terminal: Ein Terminal öffnen] }}} [[Inhaltsverzeichnis(1)]] [[Bild(Wiki/Icons/terminal.png, 48, align=left)]] `xsel` dient der Verwaltung der [:Zwischenablage:Zwischenablage(n)], sprich des X11-Clipboards von der Kommandozeile aus. Das Programm bietet Möglichkeiten, die Zwischenablage effektiv als Schnittstelle zwischen Konsole und grafischen Anwendungen zu nutzen. Es verhält sich ähnlich wie [:xclip:]. = Installation = Das Programm kann über die Paketverwaltung installiert werden [1]: {{{#!vorlage Paketinstallation xsel, universe }}} = Bedienung = Der allgemeine Aufruf lautet [2]: {{{#!vorlage Befehl xsel OPTION }}} Mit dem folgenden Befehl liest man beispielsweise die Datei '''/etc/lsb-release''' in den primären Bereich der Zwischenablage ein: {{{#!vorlage Befehl xsel < /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 [[Vorlage(Tasten, mmt)]]. Da xsel im vorhergehenden Beispiel ohne Optionen aufgerufen wurde, wurden die Standard-Einstellungen verwendet. Dies entspricht folgendem Befehl mit ausgeschriebenen Optionen: {{{#!vorlage Befehl xsel -ip < /etc/lsb-release }}} == Bereiche == Die Zwischenablage (das X11-Clipboard) hat drei Bereiche: * `primary` - die primäre Auswahl (Kopie der letzten Markierung) * `secondary` - anwendungsspezifische Auswahl * `clipboard` - die eigentliche Zwischenablage Ohne eine spezielle Angabe nutzt xsel den `primary`-Bereich. In diesem Bereich wird zwischengespeichert, was im grafischen System in der Regel mit der Maus: * [[Vorlage(Tasten, lmt)]] markiert wurde und mit * [[Vorlage(Tasten, mmt)]] wieder eingefügt werden kann. Der `clipboard`-Bereich wird auf der grafischen Seite gewöhnlich über Einträge in einem Kontextmenü oder Tastenkürzel verwaltet. Hierbei dient in der Regel: * [[Vorlage(Tasten, strg+c)]] zum Kopieren, * [[Vorlage(Tasten, strg+x)]] zum Ausschneiden und * [[Vorlage(Tasten, strg+v)]] zum Einfügen. Der `secondary`-Bereich wird nur von wenigen Anwendungen genutzt und bietet die Möglichkeit, einen Inhalt gegen einen anderen auszutauschen. == Optionen == xsel bietet einige Optionen, von denen hier nur eine Auswahl beschrieben ist. Weitere Optionen werden in der [:Shell/man:Manpage] erläutert. {{{#!vorlage Tabelle Optionen von xsel +++ Option Beschreibung +++ `-p`, `--primary` Arbeitet auf dem `primary`-Bereich (Standard) +++ `-s`, `--secondary` Arbeitet auf dem `secondary`-Bereich +++ `-b`, `--clipboard` Arbeitet auf dem `clipboard`-Bereich +++ `-i`, `--input` Liest von der Standardeingabe. Ohne Angabe einer weiteren Option `-s` oder `-b` wird der `primary-Bereich` eingelesen. +++ `-o`, `--output` Schreibt auf die Standardausgabe. Ohne Angabe einer weiteren Option `-s` oder `-b` wird der `primary`-Bereich ausgegeben. +++ `-c`, `--clear` Löscht den gewählten Bereich. Ohne Angabe einer weiteren Option `-s` oder `-b` ist das der `primary`-Bereich }}} Bei Verwendung der Operatoren `<` und `|` kann die Option `-i` weggelassen werden. xsel liest dann von der Standardeingabe. Wird xsel ohne Umleitungsoperatoren aufgerufen, schreibt es auf die Standardausgabe, die Option `-o` kann weggelassen werden. = Beispiele = == Befehlsausgabe in die Zwischenablage umleiten == Mittels einer [:Shell/Umleitungen:Umleitung] kann auch die Ausgabe eines Befehls in die Zwischenablage geschrieben werden: {{{#!vorlage Befehl date | xsel }}} == Einen String einlesen/ausgeben == {{{#!vorlage Befehl echo "Hallo Welt" | xsel -bi }}} Der String "Hallo Welt" liegt nun im `clipboard`-Bereich. Er kann entweder durch die Tastenkombination [[Vorlage(Tasten, strg+v)]] ausgegeben werden oder wiederum mit xsel: {{{#!vorlage Befehl xsel -bo }}} {{{ Hallo Welt }}} == Zwischenablage leeren == === Primary-Bereich === {{{#!vorlage Befehl xsel -c }}} oder {{{#!vorlage Befehl xsel -cp }}} === Clipboard-Bereich === {{{#!vorlage Befehl xsel -cb }}} = Links = * [github:kfish/xsel:Projektseite] {en} * [:Shell/Anwendungen:] {Übersicht} Übersichtsartikel # tag: Shell, Desktop