Articles

Copiare e incollare in Xterm

Quando evidenzi una selezione in xterm potresti notare che la selezione non viene inviata agli appunti (e quindi non puoi incollare).
Questo è dovuto al fatto che FastX usa solo il buffer CLIPBOARD per copiare e incollare testo. xterm di default supporta solo il buffer PRIMARIO.

Soluzione

Lancia un xterm con l’opzione selectToClipboard impostata cioè: xterm -ls -xrm ‘XTerm*selectToClipboard: true’

Se scegli l’opzione Xterm nei suggerimenti, questo comando viene eseguito automaticamente

In alternativa, aggiungi la seguente linea al tuo file $HOME/.Xdefaults:

  • XTerm*selectToClipboard: true

Sfondo

Le applicazioni X hanno più buffer di copia quando selezionano il testo, due dei quali sono PRIMARY e CLIPBOARD. FastX legge solo il contenuto del buffer CLIPBOARD.

  • PRIMARY
    • Il buffer di selezione “PRIMARY” riceve dati quando l’utente evidenzia il testo con il mouse. Il testo in questo buffer viene incollato quando l’utente preme il tasto centrale del mouse nel campo di inserimento del testo di un’applicazione. Questo buffer “taglia e incolla” è una funzione ereditata di cui i nuovi utenti generalmente non vengono informati, nell’interesse di evitare una confusione di massa. La maggior parte delle applicazioni moderne supporta questo buffer. Questo è l’unico buffer usato da xterm.
  • CLIPBOARD
    • Il buffer di selezione “CLIPBOARD” è usato per le funzioni di taglia e incolla che la maggior parte degli utenti conosce: Selezionando le voci di menu “taglia”, “copia” o “incolla” dal menu “Modifica” dell’applicazione, o usando i corrispondenti tasti di scelta rapida CTRL-X, CTRL-C, o CTRL-V. Questo buffer di selezione è il mezzo standard per eseguire operazioni di taglia e incolla nella maggior parte delle applicazioni moderne. Tuttavia, questo buffer di selezione purtroppo non è usato affatto da xterm nella configurazione predefinita.

A causa dell’uso di buffer multipli, il testo evidenziato in xterm non può essere incollato in un’applicazione moderna con CTRL-V (o Edit->Paste). Il buffer PRIMARIO viene spesso sovrascritto dall’evidenziazione involontaria prima che l’utente sia pronto a incollare.

Per esempio, se un utente evidenzia un URL in un xterm, passa a Firefox e preme ALT-D per navigare nella barra URL, allora Firefox evidenzierà automaticamente il vecchio contenuto della barra URL, sovrascrivendo così il buffer PRIMARIO altamente volatile prima che l’utente possa incollare il nuovo URL!