Articles

Másolás és beillesztés Xtermben

Az xtermben egy kijelölés kiemelésekor észreveheti, hogy a kijelölés nem kerül a vágólapra (és ezért nem tudja beilleszteni).
Ez annak köszönhető, hogy a FastX csak a CLIPBOARD puffert használja a szöveg másolásához és beillesztéséhez. Az xterm alapértelmezés szerint csak a PRIMARY puffert támogatja.

Megoldás

Elindítunk egy xterm-et a selectToClipboard opció beállításával, azaz : xterm -ls -xrm ‘XTerm*selectToClipboard: true’

Ha a javaslatokban az Xterm opciót választjuk, akkor ez a parancs automatikusan lefut

Alternatívaként a $HOME/.Xdefaults fájlhoz adjuk hozzá a következő sort:

  • XTerm*selectToClipboard: true

Háttér

Az X alkalmazásoknak több másolópufferük van a szöveg kiválasztásakor, ezek közül kettő a PRIMARY és a CLIPBOARD. A FastX csak a CLIPBOARD puffer tartalmát olvassa be.

  • PRIMARY
    • A “PRIMARY” kiválasztási puffer akkor kapja az adatokat, amikor a felhasználó az egérrel kiemeli a szöveget. Az ebben a pufferben lévő szöveg akkor kerül beillesztésre, amikor a felhasználó megnyomja az egér középső gombját egy alkalmazás szövegbeviteli mezőjében. Ez a kivágási és beillesztési puffer egy örökölt funkció, amelyről az új felhasználóknak általában nem szólnak, a tömeges zűrzavar elkerülése érdekében. A legtöbb modern alkalmazás támogatja ezt a puffert. Az xterm csak ezt a puffert használja.
  • CLIPBOARD
    • A “CLIPBOARD” kiválasztási puffer a legtöbb felhasználó által ismert kivágás-beillesztés funkciókhoz használatos: A “kivágás”, “másolás” vagy “beillesztés” menüpontok kiválasztása az alkalmazás “Szerkesztés” menüjéből, vagy a megfelelő CTRL-X, CTRL-C vagy CTRL-V gyorsbillentyűk használata. Ez a kiválasztási puffer a legtöbb modern alkalmazásban a kivágási és beillesztési műveletek végrehajtásának szabványos eszköze. Ezt a kiválasztási puffert azonban az xterm az alapértelmezett konfigurációban sajnos egyáltalán nem használja.

A több puffer használata miatt az xtermben kiemelt szöveg nem illeszthető be egy modern alkalmazásba a CTRL-V (vagy az Edit->Paste) billentyűvel. A PRIMARY puffert gyakran felülírja a véletlen kiemelés, mielőtt a felhasználó készen állna a beillesztésre.

Ha például a felhasználó kiemel egy URL-t az xtermben, majd Firefoxra vált, és megnyomja az ALT-D billentyűt, hogy az URL sávra navigáljon, akkor a Firefox automatikusan kiemeli az URL sáv régi tartalmát, így felülírja az igen illékony PRIMARY puffert, mielőtt a felhasználó beillesztheti az új URL-t!