GNU/Linux >> Linux Esercitazione >  >> Linux

Selezionare/evidenziare il problema del testo?

Sto usando Backtrack 5. Poiché è basato su Ubuntu 10.04, ho deciso di porre la mia domanda a qui:

Sto riscontrando problemi nella selezione del testo con il mouse. Ad esempio, quando provo a rinominare una cartella, a volte riesco a evidenziare correttamente il testo ma quando rilascio il pulsante del mouse non viene più evidenziato. A volte non riesco nemmeno a evidenziare con successo la parte del testo che voglio. Evidenzia più o meno del testo quindi effettivamente selezionato.

Inizialmente ho pensato che fosse un problema causato dal mio mouse, tuttavia ho provato un altro mouse e il problema persiste. Questo problema mi dà davvero fastidio durante la navigazione in rete. Potresti aiutarmi per favore?

Risposta accettata:

Forse qualcosa sta costantemente rubando la selezione X. Per scoprire chi è. Potresti compilare questo:

#include <stdio.h>
#include <X11/Xlib.h>
#include <X11/Xatom.h>

int main() {
  printf("%#lx\n", XGetSelectionOwner (XOpenDisplay(0), XA_PRIMARY));
  return 0;
}

Con:

gcc that-file.c -lX11

Quel codice serve a restituire l'ID della finestra del proprietario del PRIMARY Selezione X. Quindi potresti usare xdotool per ottenere il PID del processo che possiede quella finestra (supponendo che Window provenga da un client locale e che consenta a Window Manager di conoscere il suo PID):

ps -fp "$(xdotool getwindowpid "$(./a.out)")"

Se non hai xdotool , puoi farlo nel modo più difficile:puoi cercare l'ID della finestra nell'output di xwininfo -root -all :

xwininfo -root -all | less "+/$(./a.out)"

La finestra che possiede la selezione potrebbe non avere un nome, ma puoi guardare il suo genitore o nonno per ulteriori indizi. Una volta trovato l'antenato gestito dal gestore delle finestre, puoi ottenere l'ID del processo (supponendo che la finestra provenga da un processo locale) con:

xprop -id that-id _NET_WM_PID

Esempio:

$ xwininfo -root -wm -tree | grep -B3 "$(./a.out)"
        24 children:
        0x2800024 "Sun 12 May - 21:40 -      zsh (2)": ("xterm" "XTerm")  1920x1059+0+19  +0+19
           1 child:
           0x280002f (has no name): ()  1920x1059+0+0  +0+19

0x280002f possiede la selezione PRIMARY, il cui genitore è "xterm" (0x2800024 gestito dal Window Manager).

$ xprop -id 0x2800024 _NET_WM_PID
_NET_WM_PID(CARDINAL) = 9707

$ ps -fp 9707
UID        PID  PPID  C STIME TTY          TIME CMD
chazelas  9707     1  0 08:50 ?        00:00:02 xterm

E questo è il suo pid.

Una volta che sai chi possiede quella selezione, potrebbe diventare più chiaro cosa sta succedendo.

Relazionato:Linux – Urxvt disegna lentamente le linee?
Linux
  1. Editor di testo ViM 101 Guida

  2. Come installare Vim (vi) su Windows 10

  3. Modificare una posta in arrivo da testo/normale a testo/html?

  4. Editor di testo della riga di comando in Linux

  5. Titolo dell'applicazione Qt

Prova l'editor di testo e3 Linux

Come aprire una finestra di un terminale Linux

Accesso di testo

Abilita l'evidenziazione della sintassi in Vim

Ottieni il titolo della finestra attiva in X

Come scartare un testo di 80 caratteri