GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Text auswählen/hervorheben Problem?

Ich verwende Backtrack 5. Da es auf Ubuntu 10.04 basiert, habe ich beschlossen, meine Frage hier zu stellen:

Ich habe Probleme beim Auswählen von Text mit meiner Maus. Wenn ich beispielsweise versuche, einen Ordner umzubenennen, kann ich den Text manchmal erfolgreich hervorheben, aber wenn ich die Maustaste loslasse, wird er nicht mehr hervorgehoben. Manchmal kann ich nicht einmal erfolgreich den Teil des Textes hervorheben, den ich möchte. Es hebt mehr oder weniger des tatsächlich ausgewählten Textes hervor.

Zuerst dachte ich, es wäre ein Problem, das von meiner Maus verursacht wurde, aber ich habe es mit einer anderen Maus versucht und das Problem besteht weiterhin. Dieses Problem stört mich sehr beim Surfen im Netz. Können Sie mir bitte helfen?

Akzeptierte Antwort:

Möglicherweise stiehlt ständig etwas die X-Auswahl. Um herauszufinden, wer es ist. Sie könnten dies kompilieren:

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

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

Mit:

gcc that-file.c -lX11

Dieser Code soll die Fenster-ID des Eigentümers von PRIMARY zurückgeben X-Auswahl. Dann könnten Sie xdotool verwenden um die PID des Prozesses zu erhalten, der dieses Fenster besitzt (vorausgesetzt, dass Window von einem lokalen Client stammt und dem Fenstermanager seine PID mitteilt):

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

Wenn Sie xdotool nicht haben , können Sie es auf die harte Tour machen:Sie können diese Fenster-ID in der Ausgabe von xwininfo -root -all nachschlagen :

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

Das Fenster, das die Auswahl besitzt, hat möglicherweise keinen Namen, aber Sie können sich das übergeordnete oder übergeordnete Fenster ansehen, um weitere Hinweise zu erhalten. Sobald Sie den Vorfahren gefunden haben, der vom Fenstermanager verwaltet wird, können Sie die Prozess-ID erhalten (vorausgesetzt, das Fenster stammt von einem lokalen Prozess) mit:

xprop -id that-id _NET_WM_PID

Beispiel:

$ 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 besitzt die PRIMARY-Auswahl, deren Elternteil „xterm“ ist (0x2800024 wird vom Fenstermanager verwaltet).

$ 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

Und das ist seine PID.

Sobald Sie wissen, wem diese Auswahl gehört, wird möglicherweise klarer, was passiert.

Verwandte:Linux – Urxvt zieht langsam Linien?
Linux
  1. ViM Texteditor 101 Handbuch

  2. Eine eingehende Mail von Text/plain zu Text/html ändern?

  3. Tmux Fenstergröße ändern erzwingen?

  4. Text an das Ende einer Textdatei anhängen?

  5. Weniger Befehls- und Syntaxhervorhebung?

Probieren Sie den e3-Linux-Texteditor aus

So öffnen Sie ein Linux-Terminalfenster

Textanmeldung

Aktivieren Sie die Syntaxhervorhebung in Vim

Fenster in tmux maximieren

ffmpeg x11grab ein einzelnes Fenster