Jak mogę skopiować tekst z Xterm (Awesome, Debian, VirtualBox)?


15

Uruchomiłem minimalną instalację Debiana wewnątrz instancji VirtualBox, ręcznie zainstalowałem X11 i Awesome menedżera okien (bez żadnej niestandardowej konfiguracji) i zainstalowałem również dodatki VirtualBox (i włączyłem współdzielony schowek w ustawieniach). Jednak kopiowanie i wklejanie tekstu z terminala xterm nadal nie działa: CTRL+ Cjest wysyłany jako sygnał do terminala i Shift+ Insertwstawia tekst, który wybrałem (co prawdopodobnie oznacza, że ​​jakoś został skopiowany do jakiegoś bufora), ale nadal jest niedostępny w systemie operacyjnym hosta.

Odpowiedzi:


20

X11 używa dwóch buforów: PRIMARYi CLIPBOARD. Aby skopiować / wkleić do CLIPBOARDbufora, często możesz użyć CTRL-Ci CTRL-V. Możesz wstawić do PRIMARYbufora, zaznaczając tekst i wklejając go, naciskając środkowy przycisk myszy.

Jeśli chcesz użyć CLIPBOARDbufora, umieść to w swoim ~/.Xresourcespliku i użyj Ctrl+ Shift+ Ci Ctrl+ Shift+, Vaby skopiować / wkleić z / do CLIPBOARDbufora w xterm:

xterm*VT100.Translations: #override \
                 Ctrl Shift <Key>V:    insert-selection(CLIPBOARD) \n\
                 Ctrl Shift <Key>C:    copy-selection(CLIPBOARD)

Musisz uruchomić xrdb ~/.Xresourcespo umieszczeniu tego w pliku.


2
Użycie xrdb ~/.Xresourcesspowoduje destrukcyjne zastąpienie domyślnej konfiguracji. zamiast tego użyjxrdb -merge ~/.Xresources
xaedes

14

Nie trzeba modyfikować zasobów tłumaczeń xterm, aby kopiować dane do / z Firefoksa, chyba że wolisz używać klawiatury do pomocy w tym procesie.

Od 2006 roku xterm ma funkcję, selectToClipboardktóra pozwala przełączać się między PRIMARYwyborem (standard) a CLIPBOARD(Firefox itp.).

Ponieważ niektóre programy używają podstawowego wyboru, a niektóre nie, jest to pozycja menu w xterm ( controlmiddle-mouse):

pokaż selectToClipboard w pozycji menu

Dostosowanie podpowiedzi do znaków kontrolnych, takich jak aplikacje GNOME, umożliwia korzystanie z klawiatury, a jednocześnie pozwala menu przełączać się między dwoma typami selekcji:

xterm*VT100.Translations: #override \
                 Ctrl Shift <Key>V:    insert-selection(SELECT) \n\
                 Ctrl Shift <Key>C:    copy-selection(SELECT)

chociaż dodanie shiftInsertmoże być bliższe pierwotnej intencji:

xterm*VT100.Translations: #override \
                 Shift <Key>Insert:    insert-selection(SELECT) \n\
                 Ctrl Shift <Key>V:    insert-selection(SELECT) \n\
                 Ctrl Shift <Key>C:    copy-selection(SELECT)

Zwykły controlCjest zwykle przypisany do sygnału :INTR

$ stty -a
speed 38400 baud; rows 40; columns 80; line = 0;
intr = ^C; quit = ^\; erase = ^H; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff
-iuclc -ixany -imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke

Dalsza lektura:


4
  1. Otwórz xtermi zaznacz tekst, który chcesz skopiować.
  2. Przejdź do aplikacji, w której chcesz wkleić, i umieść kursor myszy nad polem, w którym chcesz wkleić.
  3. Kliknij przycisk przewijania myszy. (na laptopach można to zrobić, naciskając jednocześnie lewy i prawy przycisk myszy)

Po podświetleniu tekstu tekst jest kopiowany do głównego bufora. Pamiętaj, że jeśli zaznaczysz inny tekst przed wklejeniem, tekst ten zastąpi poprzednią zawartość w buforze głównym.


1
Przeczytaj uważnie pytanie. „Przejdź do aplikacji, w której chcesz wkleić” - sugeruje to, że nie zauważyłeś, że muszę wkleić go do systemu operacyjnego hosta.
Max Yankov

Niestety nie mam trzeciego przycisku myszy. używając trackballa tutaj
holms

2

Okazuje się, że nie uwzględniłem faktu, że X11 ma dwa bufory: podstawowy i schowek . Mój tekst z Xterm został skopiowany do głównego bufora, a ja potrzebowałem go w buforze schowka.

Byłem w stanie rozwiązać problem, instalując parcellitepakiet, uruchamiając go i konfigurując do synchronizacji dwóch buforów.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.