GNU/Linux >> Belajar Linux >  >> Linux

Memilih/menyoroti Masalah Teks?

Saya menggunakan Backtrack 5. Karena berbasis Ubuntu 10.04, saya memutuskan untuk mengajukan pertanyaan saya ke sini:

Saya mengalami masalah saat memilih teks dengan mouse saya. Misalnya ketika saya mencoba mengganti nama folder, terkadang saya berhasil menyorot teks tetapi ketika saya melepaskan tombol mouse, itu tidak lagi disorot. Terkadang saya bahkan tidak berhasil menyorot bagian teks yang saya inginkan. Ini menyoroti lebih atau kurang dari teks yang sebenarnya dipilih.

Pertama saya pikir itu adalah masalah yang disebabkan oleh mouse saya, namun, saya mencoba mouse lain dan masalah berlanjut. Masalah ini sangat mengganggu saya saat berselancar di internet. Bisakah Anda membantu saya?

Jawaban yang Diterima:

Mungkin ada sesuatu yang terus-menerus mencuri pilihan X. Untuk mencari tahu siapa itu. Anda dapat mengkompilasi ini:

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

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

Dengan:

gcc that-file.c -lX11

Kode itu untuk mengembalikan ID jendela pemilik PRIMARY pilihan X. Kemudian Anda bisa menggunakan xdotool untuk mendapatkan PID dari proses yang memiliki jendela itu (dengan asumsi bahwa Window berasal dari klien lokal dan memungkinkan Window Manager mengetahui PID-nya):

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

Jika Anda tidak memiliki xdotool , Anda dapat melakukannya dengan cara yang sulit:Anda dapat mencari ID jendela tersebut di output xwininfo -root -all :

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

Jendela yang memiliki seleksi mungkin tidak memiliki nama, tetapi Anda dapat melihat induk atau kakek-neneknya untuk petunjuk lebih lanjut. Setelah Anda menemukan ancestor yang dikelola oleh Window manager, Anda bisa mendapatkan ID proses (dengan asumsi jendela berasal dari proses lokal) dengan:

xprop -id that-id _NET_WM_PID

Contoh:

$ 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 memiliki pilihan PRIMARY, yang induknya adalah “xterm” (0x2800024 dikelola oleh 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

Dan itulah pidnya.

Setelah Anda mengetahui siapa yang memiliki pilihan tersebut, akan menjadi lebih jelas apa yang terjadi.

Terkait:Linux - Urxvt menarik garis dengan lambat?
Linux
  1. Panduan Editor Teks ViM 101

  2. Ubah Surat Masuk Dari Teks/biasa Menjadi Teks/html?

  3. Tmux Paksa Ubah Ukuran Jendela?

  1. Menambahkan Teks Di Akhir File Teks?

  2. Tambahkan Teks yang Cocok Ke Baris?

  3. Editor teks baris perintah di Linux

  1. Judul aplikasi Qt

  2. Maksimalkan jendela di tmux

  3. Cara membuka teks 80 karakter