Obtenha uma lista de janelas abertas no Linux

24

ps ax mostra todos os processos em execução. Quero fazer algo semelhante, mas, em vez dos nomes dos processos reais, quero que os nomes das janelas sejam listados. Qual comando do Linux fará isso?

tony_sid
fonte

Respostas:

35

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

Gilles 'SO- parar de ser mau'
fonte
18

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

Aaron Digulla
fonte
Esta é a saída wmctrl -l mais um pouco mais.
Smile4ever
4

Aqui está a maneira de mostrar apenas nomes:

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

porque wmctrl -lmostra algumas informações extras, em vez de apenas os nomes necessários na pergunta:

como isso:

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, awkobtemos 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
Ruslan Gerasimov
fonte
2

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

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

Resultado:

linux - Como grep e substituir - Stack Overflow - Pale Moon
Como posso usar uma variável no sed? | Fóruns do Unix Linux | Programação e script de shell - Pale Moon
Exclua tudo depois dos caracteres * ou # ou & no arquivo de texto com o GREP - Stack Overflow - Pale Moon
Video.mp4 - VLC Media Player
Smile4ever
fonte