Đây là bước nhận dạng 2 cửa sổ bí ẩn của bạn.
Nhận dạng 1a
Bạn có thể mở một thiết bị đầu cuối và sử dụng
thông tin $xwin
sẽ nhắc bạn chọn cửa sổ mà bạn muốn lấy thông tin.
Khi bạn có ID cửa sổ WIN_ID
(trong số các thông tin khác), bạn có thể nhận thêm thông tin với các cờ khác hoặc với wmctrl
, xem Nhận dạng 1b phía dưới.
Đặc biệt, bạn có thể muốn lấy ID tiến trình.
Nếu wmctrl
không hoạt động cho điều đó, bạn có thể thử lấy PID
từ WIN_ID
với
$ xprop -id <WIN_ID> | grep _NET_WM_PID (hoặc đơn giản là...)
$ xprop -id <WIN_ID> _NET_WM_PID
Nếu bạn không tiếng kêu
bạn có thể nhận được thông tin thú vị khác.
Theo kinh nghiệm của tôi, điều này không phải lúc nào cũng mang lại cho bạn kết quả tích cực.
Xem thêm nhận dạng 2 phía dưới.
Có liên quan:
- https://unix.stackexchange.com/a/84981/137608
- https://stackoverflow.com/questions/1131277/how-to-convert-a-x11-window-id-to-a- process-id
- Kể một quy trình PID bằng cửa sổ của nó?
- https://ubuntuforums.org/archive/index.php/t-1124561.html
Nhận dạng 1b
Để thay thế (có thể dễ sử dụng hơn, nhưng trong trường hợp của bạn, nó có vẻ không hoạt động),
bạn có thể mở một thiết bị đầu cuối và sử dụng
$ wmctrl -l -p -x
để liệt kê tất cả các cửa sổ được quản lý bởi trình quản lý cửa sổ hiện tại
(bạn có thể kiểm tra nó với wmctrl -m
hoặc vi | máy tính để bàn grep -i
và sẽ rất hữu ích nếu bạn đăng đầu ra đó trong OP).
Từ wmctrl --trợ giúp
:
Định dạng của danh sách cửa sổ:
<ID cửa sổ> <ID máy tính để bàn> <máy khách> <tiêu đề cửa sổ>
Đây là định dạng cơ bản, thu được với -l
. Tùy chọn -P
và -x
thêm các cột bổ sung.
Cột 1 (ID cửa sổ số, từ tùy chọn cơ bản -l
), 3 (PID số, từ tùy chọn -P
), 4 (WM_CLASS
, từ tùy chọn -x
) và 5 (tiêu đề cửa sổ, từ tùy chọn cơ bản -l
) của đầu ra sẽ hữu ích nhất.
Sau đó, bạn có thể sử dụng
$ wmctrl -a <THẮNG>
với mỗi cửa sổ được liệt kê,
để "Kích hoạt cửa sổ bằng cách chuyển sang màn hình nền và nâng cửa sổ lên" (chọn ).
Bằng cách này, bạn có thể xác định các cửa sổ bí ẩn của mình.
Đối với <WIN>
: "Đối số này chỉ định cửa sổ. Theo mặc định, nó được hiểu là một chuỗi. Chuỗi được so khớp với tiêu đề cửa sổ và cửa sổ khớp đầu tiên được sử dụng. So khớp không phân biệt chữ hoa chữ thường và chuỗi có thể xuất hiện ở bất kỳ vị trí nào của tiêu đề ."
Vì vậy, bạn hầu như sẽ ổn khi sử dụng for <WIN>
bất kỳ chuỗi con nào của cột 5 ở trên, ví dụ: wmctrl -a 'Firefox'
.
Bạn có thể cần phải thoát khỏi chuỗi một cách phù hợp.
Ngoài ra, bạn có thể sử dụng
$ wmctrl -a <số cửa sổ hex> -i
với cột 1 ở trên (tránh bất kỳ sự mơ hồ nào có thể xảy ra với chuỗi khớp tiêu đề cửa sổ) hoặc
$ wmctrl -a <WM_CLASS> -x
với cột 4 ở trên.
Bạn có thể mày mò với các tùy chọn hài hước và hữu ích khác, như -R
hoặc -G
.
nhận dạng 2
với pín
của mỗi cửa sổ mục tiêu, bạn có thể sử dụng
$ ps -ef | grep <pidno>
$ pwdx <pidno>
$ pidstat -p <pidno>
$ ls /proc/<pidno>
$ cat /proc/<pidno>/<file>
để nhận dạng thêm.
Bạn có thể thấy với ls
trên những gì bạn có thể sử dụng cho <file>
, ví dụ., trạng thái
hoặc cmdline
.
Nguồn:
- Làm cách nào để xem thông tin chi tiết về một PID nhất định?
- https://superuser.com/questions/632979/if-i-know-the-pid-number-of-a- process-how-can-i-get-its-name