GNU/Linux >> Linux の 問題 >  >> Linux

テキストの問題を選択/強調表示しますか?

私はBacktrack5を使用しています。これはUbuntu10.04に基づいているため、ここに質問することにしました:

マウスでテキストを選択するのに問題があります。たとえば、フォルダの名前を変更しようとすると、テキストを正常に強調表示できる場合がありますが、マウスボタンを離すと強調表示されなくなります。テキストの必要な部分をうまく強調表示できないこともあります。実際に選択されたテキストの大部分が強調表示されます。

最初は自分のマウスが原因の問題だと思ったのですが、別のマウスを試してみたところ、問題は解決しませんでした。この問題はネットサーフィンをしているときに本当に気になります。手伝ってくれませんか?

承認された回答:

おそらく何かが常にXの選択を盗んでいます。それが誰であるかを知るために。これをコンパイルできます:

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

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

あり:

gcc that-file.c -lX11

そのコードは、PRIMARYの所有者のウィンドウIDを返すことです。 X選択。次に、xdotoolを使用できます そのウィンドウを所有するプロセスのPIDを取得するには(ウィンドウがローカルクライアントからのものであり、ウィンドウマネージャーにそのPIDを通知すると仮定します):

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

xdotoolがない場合 、難しい方法で行うことができます。xwininfo -root -allの出力でそのウィンドウIDを検索できます。 :

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

選択範囲を所有するウィンドウには名前がない場合がありますが、その親または祖父母を調べてさらに手がかりを得ることができます。ウィンドウマネージャーによって管理されている祖先を見つけたら、次のコマンドでプロセスIDを取得できます(ウィンドウがローカルプロセスからのものであると想定)。

xprop -id that-id _NET_WM_PID

例:

$ 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はPRIMARY選択を所有し、その親は「xterm」(ウィンドウマネージャーによって管理される0x2800024)です。

$ 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

そして、それはそのpidです。

その選択の所有者がわかれば、何が起こっているのかが明確になる可能性があります。

関連:Linux – Urxvtはゆっくりと線を引きますか?
Linux
  1. コマンドと構文の強調表示が少なくなりますか?

  2. 一致したテキストを行に追加しますか?

  3. Qt アプリケーションのタイトル

  1. tmux でウィンドウを最大化する

  2. 80 文字のテキストをアンラップする方法

  3. ffmpeg x11単一のウィンドウをグラブする

  1. ViMテキストエディタ101ガイド

  2. Windows 10にVim(vi)をインストールする方法

  3. Android - GNURoot を使用した X ウィンドウ