মাউসের নীচে অ্যাপ্লিকেশনটি সন্ধান করুন


11

এটি প্রায়শই আমার সাথে ঘটে, যে কোনও অ্যাপ্লিকেশন একটি প্রশ্ন তুলে দেয় এবং আমি ভাবছি যে এই উইন্ডোটি কোন সঠিক অ্যাপ্লিকেশনটির সাথে সম্পর্কিত, কারণ যদি আমি লঞ্চারটিতে দেখি তবে বর্তমানে এমন কোনও অ্যাপ্লিকেশন নেই যা ফোকাস করেছে (আইকনের ডানদিকে সাদা ত্রিভুজ নয়) আমি বার্তা উইন্ডো ফোকাস যখন)

খোলা উইন্ডোটি সম্পর্কিত কোনও উপায় কী খুঁজে পাওয়া যাবে?

উত্তর:


11

এক্সডটুল ব্যবহার করা

প্রথমে xdotoolআপনার সিস্টেমে উপলব্ধ রয়েছে তা নিশ্চিত করুন:

sudo apt-get install xdotool

নিম্নলিখিত কমান্ডটি বর্তমানে ফোকাসে থাকা উইন্ডোটির প্রক্রিয়া নামটি মুদ্রণ করবে:

cat "/proc/$(xdotool getwindowpid "$(xdotool getwindowfocus)")/comm"

নিজেকে উইন্ডোটি ফোকাস করার জন্য আরও সময় দেওয়ার জন্য / তার উপর ক্লিক করতে আপনি একটি ছোট ঘুমের সময়কাল বাড়িয়ে দিতে পারেন:

sleep 5 && cat "/proc/$(xdotool getwindowpid "$(xdotool getwindowfocus)")/comm"

প্রক্রিয়াটির নামটি অল্প সময়ের পরে প্রদর্শিত হবে।


উইনফোন ব্যবহার করা

উইনফোন একটি গ্রাফিকাল ইউটিলিটি যা উইন্ডো এবং পিডিআইডি (প্রসেস আইডি) সহ উইন্ডো এবং তাদের বৈশিষ্ট্যগুলির বিভিন্ন তথ্য প্রদর্শন করে:

উইনফিনে পিআইডি চিত্র

wininfo সরকারী সংগ্রহস্থলগুলিতে উপলব্ধ হওয়া উচিত:

sudo apt-get install wininfo

উইন্ডোটির পিআইডি নির্ধারণ করার পরে আপনি এর সাথে যুক্ত প্রক্রিয়াটির নামটি সন্ধান করতে পারেন। এটি করার বিভিন্ন উপায় রয়েছে, যেমন /proc:

$ cat /proc/17002/comm
gnome-terminal

এটি পিআইডির সাথে যুক্ত প্রক্রিয়াটির নাম হবে 17002

@ রিমানোর পরামর্শ অনুসারে আরও একটি মার্জিত উপায় যা প্রক্রিয়া গাছের প্রসঙ্গে পরিদর্শন করতে সহায়তা করে :

$ pstree -a -s -l -p -u 17002
init,1
  └─lightdm,1900
      └─lightdm,3202 --session-child 12 19
          └─lxsession,3307,glutanimate -s LXDE -e LXDE
              └─openbox,3362 --config-file /home/glutanimate/.config/openbox/lxde-rc.xml
                  └─gnome-terminal,17002
                      ├─bash,1841
                      ├─bash,2332
                      ├─bash,2424
                      │   └─pstree,2484 -a -s -l -p -u 17002
                      ├─gnome-pty-helpe,1840
                      ├─{gnome-terminal},1835
                      ├─{gnome-terminal},1836
                      ├─{gnome-terminal},1842
                      └─{gnome-terminal},2269

অবশ্যই আপনার কাছে একত্রিত করতে পারেন pstreeসঙ্গে xdotoolউপরে বিকল্প (এই ইশারা জন্য @ rubo77 ধন্যবাদ!):

sleep 2; pstree -spaul $(xdotool getwindowpid "$(xdotool getwindowfocus)")

সূত্র:

/unix//q/38867/29245

http://www.linuxquestions.org/questions/debian-26/how-to-find-the-process-associated-with-a-top-level-x-window-907125/

/superuser//q/632979/170160


1
সুন্দর উত্তরের জন্য +1। যদি পিআইডি মূল অ্যাপ্লিকেশনটির সন্তানের হয় তবে আপনি pstree -a -s -l -p -u $PIDযা ব্যবহার করতে পারেন তা বেশ সুন্দর বলে সুপারিশ করতে পারেন ...
রুমানো

@ রুমানো: ওহ, ঝরঝরে! আমি এটি উত্তরে যুক্ত করেছি।
গ্লুটোনিমেট


@ ডেনিস উইলিয়ামসন পয়েন্টারটির জন্য ধন্যবাদ। সম্পাদনা করা হয়েছে।
গ্লুটোনিমেট

1
xdotool getwindowpid "$(xdotool getwindowfocus)"xdotool getwindowfocus getwindowpid
Veedrac

2

আপনি এই আদেশটি দিয়ে একটি কীবোর্ড-শর্টকাট তৈরি করতে পারেন:

zenity --info --text $(xprop $win_id WM_CLASS | cut -d" " -f4-)

1
এটি একটি খুব সুন্দর সমাধান, +1। যাইহোক, একটি ছোট সমস্যা: যদি অ্যাপ্লিকেশনটি কোনও সঠিক ডাব্লুএমসিএলএসএস বরাদ্দ করে না (যা প্রায়শই ক্রিপ্টিক সংলাপগুলির ক্ষেত্রে হয়), এক্সপ্রপ কোনও উপকারে আসবে না।
গ্লুটোনিমেট

আপনার কাছে এমন কোনও অ্যাপ্লিকেশন (পপআপ) কার্যকর হয়নি যা উদাহরণস্বরূপ আছে, আপনাকে ধন্যবাদ।
টুকসন

1
আমার হাতে সুনির্দিষ্ট কিছু নেই তবে আমার মনে আছে বেশ কয়েকটি জাভা অ্যাপ্লিকেশন এবং অন্যান্য অস্পষ্ট প্রোগ্রামগুলির সাথে সমস্যা আছে যার মধ্যে ডাব্লুএমসিএলএএসএস সেট নেই (বা জেনেরিক কিছুতে সেট করা java-window)। আমি যখন আমার উইন্ডো ম্যানেজারের কনফিগারেশনে অ্যাপ্লিকেশন-নির্দিষ্ট নিয়মগুলি প্রয়োগ করার চেষ্টা করছিলাম তখন আমি এই ধরণের সমস্যার মধ্যে পড়েছিলাম।
গ্লুটানীমেট

1
আপনি ঠিক আছে qml / Qt সঙ্গে তৈরি করা অ্যাপ্লিকেশনগুলির সাথে একটি অনুরূপ সমস্যা -> bugreports.qt-project.org/browse/QTBUG-29396
TuKsn

আপনি কীভাবে এটির জন্য কী-বোর্ড-শর্টকাট তৈরি করবেন? আমি চেষ্টা করেছি, যেমন নীচে দেখানো হয়েছে, তবে জেনুইটি প্রদর্শিত হবে না
রুবো

2

আপনি xpropক্লিক করা উইন্ডোটির প্রসেস আইডি পেতে ব্যবহার করতে পারেন :

xprop $win_id _NET_WM_PID

তারপরে এটি বিশ্লেষণ করুন pstree:

pstree -spaul $(xprop $win_id _NET_WM_PID | cut -d" " -f3-)

এটি দিয়ে আপনি একটি পাঠ্য-তথ্য উইন্ডোতে পুনঃনির্দেশ করতে পারেন

pstree -spaul $(xprop $win_id _NET_WM_PID | cut -d" " -f3-)|zenity --text-info --title "pstree of clicked Window"

আমি এই শেষ কমান্ডটির জন্য একটি কীবোর্ড-শর্টকাট তৈরি করার চেষ্টা করেছি (যদি আপনার এটি নিয়মিত প্রয়োজন হয়) তবে কোনও কারণে এটি কার্যকর হয় না।


0

এক্সডটোল এবং ইয়াড ইনস্টল করার সাথে আপনার একটি দুর্দান্ত জিইউআই অ্যাপ থাকতে পারে।

#!/bin/bash
while true; do cat "/proc/$(xdotool getwindowpid "$(xdotool 
getwindowfocus)")/comm"; sleep 1; echo -e '\f'; done | yad --no- 
buttons --no-focus --geometry 250x10 --fixed --text-info -- 
title="Active window" --listen
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.