El uso xprop
ya se menciona en esta otra respuesta y probablemente sea la mejor solución.
Otra forma podría ser usar wmctrl -lp
para enumerar todas las ventanas administradas por su administrador de ventanas junto con sus respectivos ID de proceso (PID), cuando sea posible:
$ 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
Luego puede usar este PID para obtener más información sobre el proceso, por ejemplo, con 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
no es realmente necesario, puede dar un nombre de propiedad como argumento para mostrar solo ese, comoxprop WM_CLASS
directamente. Tenga en cuenta que especialmenteWM_CLASS
no tiene que ser el mismo que el ejecutable del proceso, puede ser un valor arbitrario según lo establecido por el desarrollador.