Istnieją dwa narzędzia wiersza polecenia (w dwóch różnych pakietach), aby uzyskać dostęp do schowka X:
xclip
xsel
Bardzo chciałbym poznać różnicę między tymi dwoma i usłyszeć zalecenie, które z nich zastosować w jakich przypadkach.
software-recommendation
xclip
xsel
Bajt Dowódca
źródło
źródło
Odpowiedzi:
Zarówno
xclip
ixsel
można przechowywać tekst w 3 różne pozycje (domyślnie jest to wybór podstawowy). Z doświadczenia wiem, że wybór podstawowy jest zasadniczo tym, co wyróżniasz i zwalniasz środkowym kliknięciem myszy (co odpowiada naciśnięciu prawego i lewego klawisza touchpada na laptopie). Schowek jest tradycyjny CtrlV.Jednak po przejrzeniu
man
stron dla obu odkryłem, żexclip
wygrywa w jednym aspekcie - czytanie z pliku wejściowego:Oczywiście możesz użyć przekierowania powłoki za pomocą,
xsel
aby obejść ten problemxclip
wygrywa również w tym, że możesz wyprowadzać zawartość schowka do pliku (co może być przydatne, gdy chcesz przekierować PODSTAWOWY wybór, czyli podświetlenia).xsel
oferuje tylko wyjście na standardowe wyjścieźródło
xsel
może działać tylko poprzez STDIN / STDOUT, axclip
jednocześnie może używać tam prawdziwych plików? Jak nudne! Cóż, zaprzyjaźniłem się jużxsel
jakiś czas temu i mogę żyć z wykorzystaniem przekierowań powłoki do plików, więc będę nadal z tego korzystać.xclip
dzisiaj i zastanawiałem się, czy to był właściwy wybór. Twoja odpowiedź potwierdziła, że to dlatego, że tworzę plik ze schowka do użycia zdiff
poleceniem. +1 dzięki :)Oprócz odpowiedzi @Serg na stronie Arch Wiki znajduje się informacja ze strony Tmux, która może być przydatna w niektórych szczególnych przypadkach :
źródło
xclip
jest poważnym problemem, jeśli go napotkasz. Zmarnowałem 2 godziny na debugowanie. W końcu przełączyłem się naxsel -bi
ixsel -bo
.O czym należy pamiętać,
xsel
ma mniej zależności niżxclip
:źródło
Użyj
xclip
, ponieważxsel
nie można wyodrębnić danych binarnych ze schowka, np. Screenhosthost. Na przykład zapisz zrzut ekranu do schowka:Następnie zapisz do pliku i porównaj dane wyjściowe:
źródło
xclip
niekoniecznie zawsze jest w stanie obsłużyć dane binarne, np. Gdy używam przycisku „Kopiuj do schowka” z ekranu gnome-screenshot, w ogóle nie otrzymuję danych wyjściowych. Podczas kopiowania obrazu za pomocą Ctrl + C np. Z dokumentu LibreOffice działa to tylko wtedy, gdy ręcznie określę typ docelowy, taki jakxclip -o -t image/png -selection clipboard
.gnome-screenshot
, ale to kolejny problem - gitlab.gnome.org/GNOME/gnome-screenshot/issues/14Jest jeszcze jeden powód, aby używać xclipa nad xsel - xclip może manipulować buforem cięcia 0, przekazując
-selection buffer-cut
, czego Xsel nie może zrobić.Stosunkowo łatwo jest pozwolić mu również manipulować innymi buforami cięcia; oto moja łatka, choć nie jest dobrze przetestowana i nie ma żadnych gwarancji.
źródło