Articles

Kopiera och klistra in i Xterm

När du markerar ett urval i Xterm kan du märka att urvalet inte skickas till urklipp (och därför kan du inte klistra in).
Detta beror på det faktum att FastX endast använder CLIPBOARD-bufferten för att kopiera och klistra in text. xterm har som standard endast stöd för PRIMARY-bufferten.

Lösning

Starta en xterm med alternativet selectToClipboard inställt, dvs. : xterm -ls -xrm ’XTerm*selectToClipboard: true’

Om du väljer Xterm-alternativet i förslagen körs det här kommandot automatiskt

Alternativt kan du lägga till följande rad i din $HOME/.Xdefaults-fil:

  • XTerm*selectToClipboard: true

Bakgrund

X-program har flera kopieringsbuffertar när man väljer text, varav två är PRIMARY och CLIPBOARD. FastX läser endast innehållet i CLIPBOARD-bufferten.

  • PRIMARY
    • Väljarbufferten ”PRIMARY” tar emot data när användaren markerar text med musen. Texten i denna buffert klistras in när användaren trycker på den mellersta musknappen i ett programs textinmatningsfält. Denna klipp- och klistra-buffert är en gammal funktion som nya användare i allmänhet inte informeras om, för att undvika massförvirring. De flesta moderna program har stöd för denna buffert. Detta är den enda buffert som används av xterm.
  • CLIPBOARD
    • Väljarbufferten ”CLIPBOARD” används för de klipp-och-klistra-funktioner som de flesta användare känner till: Det kan också vara att välja menyalternativen ”klippa”, ”kopiera” eller ”klistra in” i programmets meny ”Redigera” eller att använda de motsvarande genvägstangenterna CTRL-X, CTRL-C eller CTRL-V. Denna valbuffert är standardmetoden för att utföra klipp- och klistra-operationer i de flesta moderna program. Denna urvalsbuffert används dock tyvärr inte alls av xterm i standardkonfigurationen.

På grund av användningen av flera buffertar kan text som är markerad i xterm inte klistras in i ett modernt program med CTRL-V (eller Edit->Paste). PRIMARY-bufferten skrivs ofta över av oavsiktlig markering innan användaren är redo att klistra in.

Till exempel, om en användare markerar en URL i xterm, växlar till Firefox och trycker på ALT-D för att navigera till URL-fältet, kommer Firefox automatiskt att markera det gamla innehållet i URL-fältet, och på så sätt skriva över den mycket flyktiga PRIMARY-bufferten innan användaren kan klistra in den nya URL: