O uso xprop
já é mencionado nesta outra resposta e provavelmente a melhor solução.
Outra maneira pode ser usar wmctrl -lp
para listar todas as janelas gerenciadas pelo seu gerenciador de janelas, juntamente com seus respectivos IDs de processo (PID), sempre que possível:
$ wmctrl -lp
0x03a00002 0 1570 type40mark3 XdndCollectionWindowImp
0x03a00003 0 1570 type40mark3 unity-launcher
0x03a00004 0 1570 type40mark3 unity-panel
0x03a00005 0 1570 type40mark3 unity-dash
0x03a00006 0 1570 type40mark3 Hud
0x02c0000a -1 302 type40mark3 Desktop
0x08a00003 0 8861 type40mark3 18.04 - Easy way to get process from window - Ask Ubuntu - Mozilla Firefox
0x08a00033 0 8861 type40mark3 Some other site in a different window - Mozilla Firefox
0x0840b72c 0 20705 type40mark3 bytecommander@type40mark3: ~
0x08800001 0 7389 type40mark3 New Tab - Chromium
Você pode usar esse PID para obter mais informações sobre o processo, por exemplo, com ps aux -q YOUR_PID_HERE
:
$ ps aux -q 20705
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
bytecom+ 20705 0.0 0.2 676820 32268 ? Sl Jun28 1:58 /usr/lib/gnome-terminal/gnome-terminal-server
grep
não é realmente necessário, você pode dar um nome de propriedade como argumento para mostrar apenas esse, comoxprop WM_CLASS
diretamente. Observe que, especialmenteWM_CLASS
, não precisa ser igual ao executável do processo, pode ser um valor arbitrário, conforme definido pelo desenvolvedor.