V této příručce se naučíme, co jsou programy Xclip a Xsel a jak manipulovat a přistupovat k obsahu schránky pomocí programů Xclip a Xsel v Linuxu.
Co jsou programy Xclip a Xsel?
Xclip je rozhraní příkazového řádku pro výběry X, tj. Schránka . Xclip čte data z jednoho nebo více souborů a zpřístupňuje data jako X výběr pro vložení dat do X aplikací. Pokud nejsou zadány žádné soubory, čte data ze standardního vstupu. Může také vytisknout výběr X na standardní výstup.
Poznámka:
V systému Linux jsou schránky známé jako "Výběry" a v X11 jsou k dispozici tři typy schránek okenní systém. Jsou PRIMÁRNÍ, SEKUNDÁRNÍ a SCHRÁNKA. Další podrobnosti o schránce naleznete na tomto odkazu .
Xsel je nástroj pro výběr X11 a manipulaci se schránkou z příkazového řádku. Používá se pro přístup ke schránce X a vyrovnávací paměti pro výběr v operačních systémech Linux a Unix.
Pomocí programů Xclip a Xsel můžeme snadno napodobit funkčnost pbcopy a pbpaste příkazy v Linuxu. Pro ty, kdo by se zajímali, pbcopy a pbpaste se používají k manipulaci se schránkami a jsou k dispozici výhradně pouze pro platformu Mac OS X.
Nainstalujte Xclip a Xsel v Linuxu
Programy Xclip a Xsel jsou dostupné v oficiálních repozitářích většiny moderních distribucí Linuxu.
V systému Alpine Linux spusťte následující příkaz k instalaci Xclip a Xsel:
$ sudo apk add xclip xsel
Chcete-li nainstalovat Xclip a Xsel v Arch Linuxu a jeho variantách, jako je Manjaro Linux, spusťte:
$ sudo pacman xclip xsel
Na RHEL, CentOS, AlmaLinux a Rocky Linux:
$ sudo dnf install epel-release
$ sudo dnf install xclip xsel
Na Fedoře:
$ sudo dnf xclip xsel
Na Debianu, Ubuntu, Pop!_OS, Linux Mint:
$ sudo apt install xclip xsel
Na openSUSE:
$ sudo zypper install xclip xsel
Manipulujte a přistupujte k obsahu schránky pomocí Xclip a Xsel
I když jsou Xclip a Xsel podobné programy a dělají stejnou práci, jejich použití se od sebe mírně liší. Nejprve si proberme použití programu Xclip.
1. Příklady příkazů Xclip
Xclip zpracovává PRIMÁRNÍ, SEKUNDÁRNÍ výběry a systémovou schránku.
1.1. Zkopírujte data do schránky pomocí Xclip
Chcete-li zkopírovat výstup příkazu do schránky pomocí Xclip, spusťte:
$ echo "Welcome To OSTechNix" | xclip -selection clipboard
Můžete také použít tuto krátkou verzi výše uvedeného příkazu:
$ echo "Welcome To OSTechNix" | xclip -sel c

Zde -sel
představuje -selection
a c
představuje clipboard
.
Podle výše uvedeného příkazu Xclip zkopíroval výstup z echo
příkaz, tj. "Welcome To OSTechNix", do oblasti primárního výběru X11 (tj. schránky). Podobně můžete zkopírovat/poslat výstup jakéhokoli jiného příkazu do schránky. Zde je další příklad:
$ uname -r | xclip -sel c
V našich výše uvedených příkladech jsme zkopírovali výstup z stdin do vyrovnávací paměti schránky. A co obsah souboru? Je to také možné.
Chcete-li zkopírovat obsah souboru do schránky pomocí Xsel
příkaz, spusťte:
$ xclip -selection clipboard < ostechnix.txt
Nebo krátce použijte toto:
$ xclip -sel c < ostechnix.txt
Výše uvedené příkazy nezobrazí obsah souborů. Místo toho pouze zkopírují obsah souboru do systémové schránky. Další podrobnosti o kopírování obsahu souboru do schránky si můžete přečíst v tomto odkazu .
1.2. Vložte data ze schránky do konzoly pomocí Xclip
Nyní víme, jak zkopírovat data ze standardního výstupu a souboru do schránky. Jak načíst zkopírovaná data ze schránky? To je jednoduché! Spuštěním následujícího příkazu vložte obsah systémové schránky do konzoly:
$ xclip -o -sel clip
Nebo,
$ xclip -o -sel c
Pokud chcete vložit obsah primárního výběru X11 oblasti ke konzoli, spusťte:
$ xclip -o
1.3. Vložte data ze schránky do souboru pomocí Xclip
Místo zobrazení (vložení) obsahu schránky můžete také přímo vložit obsah systémové schránky nebo oblasti primárního výběru X11 do souboru, jak je uvedeno níže:
$ xclip -o -sel clip > output_file.txt
Nebo,
$ xclip -o > output_file.txt
Jediný ">"
značka přepíše stávající obsah výstupního souboru. Místo přepisování můžete jednoduše připojit data do výstupního souboru pomocí dvojitého ">>"
symboly.
$ xclip -o >> output_file.txt
Další podrobnosti najdete na stránce s manuálem Xclip:
$ man xclip
2. Příklady příkazů Xsel
Ve výchozím nastavení pracuje Xsel s výběrem X PRIMARY, pokud neurčíte výhradně výběr X.
2.1. Zkopírujte data do schránky pomocí Xsel
Chcete-li zkopírovat výstup příkazu do schránky pomocí Xsel, spusťte:
$ echo "Welcome To OSTechNix" | xsel -ib
Výše uvedené příkazy načtou ze STDIN a uloží je do schránky; jako by Ctrl + C
.
Chcete-li zkopírovat obsah souboru do schránky, spusťte:
$ cat input_file.txt | xsel -ib
Zde i
představuje vstup a b
představuje schránku.
Můžete také použít následující příkazy:
$ xsel --clipboard < input_file.txt
Nebo krátce použijte toto:
$ xsel -b < input_file.txt
Opět -b
představuje schránku.

2.2. Vložte data ze schránky do konzoly pomocí Xsel
Chcete-li vložit nebo zobrazit obsah schránky v terminálu (ekvivalent Ctrl + V
), spustit:
$ xsel -ob
Zde o
představuje výstup a b
představuje schránku.
2.3. Vložte data ze schránky do souboru pomocí Xsel
Chcete-li vložit obsah schránky do souboru:
$ xsel -ob > output_file.txt
Pokud nechcete přepsat stávající obsah výstupního souboru, jednoduše připojte data pomocí dvojitého ">>"
symboly jako níže:
$ xsel -ob >> output_file.txt
Pokud chcete vložit obsah primárního výběru X11 do terminálu (ekvivalent prostředního kliknutí myší), použijte -p
(PRIMÁRNÍ výběr) místo -b
(Schránka):
$ xsel -op
2.4. Vymazat schránku pomocí Xsel
Chcete-li vymazat obsah schránky, spusťte:
$ xsel -cb
Další podrobnosti naleznete na stránce s manuálem Xsel:
$ man xsel
Závěr
V této příručce jsme diskutovali o tom, jak manipulovat a přistupovat k obsahu schránky pomocí programů Xclip a Xsel s příklady v operačních systémech Linux a Unix.
Doufám, že to pomůže.