Korzystanie z xdotool
Najpierw upewnij się, że xdotool
jest dostępny w twoim systemie:
sudo apt-get install xdotool
Następujące polecenie wyświetli nazwę procesu okna, na którym aktualnie jest ustawiony fokus:
cat "/proc/$(xdotool getwindowpid "$(xdotool getwindowfocus)")/comm"
Aby dać sobie więcej czasu na skupienie okna / kliknięcie na niego, możesz przedłużyć krótki czas snu:
sleep 5 && cat "/proc/$(xdotool getwindowpid "$(xdotool getwindowfocus)")/comm"
Nazwa procesu powinna zostać wyświetlona po krótkim czasie.
Korzystanie z wininfo
Wininfo to narzędzie graficzne, które wyświetla różne informacje o oknach i ich właściwościach, w tym PID (identyfikator procesu) powiązany z oknem:
wininfo
powinny być dostępne w oficjalnych repozytoriach:
sudo apt-get install wininfo
Po ustaleniu PID okna możesz następnie wyszukać nazwę procesu z nim powiązaną. Można to zrobić na różne sposoby, np. Patrząc na /proc
:
$ cat /proc/17002/comm
gnome-terminal
To byłaby nazwa procesu powiązana z PID 17002
.
Bardziej elegancki sposób, który pozwala na sprawdzenie kontekstu drzewa procesów, jak sugeruje @Rmano :
$ 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
Oczywiście możesz również połączyć pstree
z xdotool
powyższą opcją (dzięki @ rubo77 za zwrócenie na to uwagi!):
sleep 2; pstree -spaul $(xdotool getwindowpid "$(xdotool getwindowfocus)")
Źródła:
/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
pstree -a -s -l -p -u $PID
które jest całkiem miłe ...echo $()
W twoich poleceń nie jest konieczne.xdotool getwindowpid "$(xdotool getwindowfocus)"
→xdotool getwindowfocus getwindowpid
Za pomocą tego polecenia możesz utworzyć skrót klawiaturowy:
źródło
java-window
). Tego rodzaju problemy napotkałem jakiś czas temu, kiedy próbowałem zaimplementować reguły specyficzne dla aplikacji w konfiguracji menedżera okien.Możesz użyć,
xprop
aby uzyskać identyfikator procesu klikniętego okna:następnie przeanalizuj to za pomocą
pstree
:Możesz przekierować do okna informacji tekstowych za pomocą
Próbowałem utworzyć skrót klawiaturowy dla tego ostatniego polecenia (jeśli potrzebujesz go regularnie), ale z jakiegoś powodu To nie działa.
źródło
Po zainstalowaniu xdtool i yad możesz mieć ładną aplikację GUI.
źródło