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?