Obtenha uma lista de janelas abertas no Linux

17

ps ax mostra todos os processos em execução. Eu quero fazer algo semelhante, mas em vez dos nomes dos processos reais, eu quero os nomes de janela listados em vez disso. Que comando Linux fará isso?

    
por tony_sid 17.08.2010 / 10:44

4 respostas

29

wmctrl -l pode ser o que você está procurando. O programa wmctrl também pode realizar algumas ações simples nas janelas, como movê-las e definindo suas propriedades.

    
por 17.08.2010 / 12:05
13

xlsclients mostra os clientes em execução e xwininfo -root -children mostra todos os filhos da janela raiz. Isso também inclui algumas coisas que o gerenciador de janelas ou a área de trabalho renderiza.

    
por 17.08.2010 / 11:01
3

Aqui está a maneira de mostrar somente nomes:

wmctrl -l|awk '{$3=""; $2=""; $1=""; print $0}'

porque wmctrl -l mostra um pouco de informação extra em vez de apenas os nomes necessários na pergunta:

assim:

0x020002c6  0 ruslan-Latitude-E6410 fromscratch
0x04600007  0 ruslan-Latitude-E6410 Psensor - Temperature Monitor
0x01600007  0 ruslan-Latitude-E6410 Top Expanded Edge Panel
0x01600017  0 ruslan-Latitude-E6410 Bottom Expanded Edge Panel
0x0200000a -1 ruslan-Latitude-E6410 Desktop
0x05a0000c  0 ruslan-Latitude-E6410 ruslan@ruslan-Latitude-E6410: /var/lib/apt
0x05600085  0 ruslan-Latitude-E6410 index.html (~/Dropbox/cpucraft.com/fromscratch) - gedit

e filtrando por awk obtemos apenas nomes de janelas abertas:

   fromscratch
   Psensor - Temperature Monitor
   Top Expanded Edge Panel
   Bottom Expanded Edge Panel
   Desktop
   ruslan@ruslan-Latitude-E6410: /var/lib/apt
   index.html (~/Dropbox/cpucraft.com/fromscratch) - gedit
   ubuntu - Get a list of open windows in Linux - Super User - Mozilla Firefox
   [email protected] - FileZilla
    
por 12.08.2014 / 00:39
1

Se você quer simplesmente os títulos e nenhuma outra informação (nem mesmo espaço em branco), você pode usar isto:

wmctrl -l | grep -o "$HOSTNAME.*" | sed "s/$HOSTNAME //g"

Resultado:

linux - How to grep and replace - Stack Overflow - Pale Moon
How can I use a variable in sed? | Unix Linux Forums | Shell Programming and Scripting - Pale Moon
Delete everything after characters * or # or & in text file with GREP - Stack Overflow - Pale Moon
Video.mp4 - VLC Media Player
    
por 29.12.2015 / 19:37