Como fecho uma nova janela do Firefox a partir do Terminal?

7

Eu tenho várias instâncias do Firefox rodando no Ubuntu 14.04. Como posso fechar a janela / instância aberta mais recentemente a partir do Terminal?

Eu tentei usar o alias cfct definido em uma resposta a uma pergunta relacionada , mas não funcionou.

    
por sgu 01.05.2015 / 09:53

2 respostas

12

Para fazer um comando que encontre id da última janela, criada por Firefox (e para fechá-la), você precisará de wmctrl para ser instalado:

sudo apt-get install wmctrl

O comando

Em seguida, use o comando:

wmctrl -ic "$(wmctrl -l | grep 'Mozilla Firefox' | tail -1 | awk '{ print  }')"


Explicação:

wmctrl -l

lista todas as janelas, mas uma propriedade importante do comando é que ele lista as janelas na ordem em que foram criadas .

Portanto:

wmctrl -l | grep 'Mozilla Firefox' | tail -1 | awk '{ print  }'

irá:

  • listar todas as janelas:

    wmctrl -l
    
  • encontre os (as linhas) com 'Mozilla Firefox' em seu nome:

    grep 'Mozilla Firefox'
    
  • encontre o último (que também é o último criado):

    tail -1
    
  • extraia a primeira string na linha (que é a janela -id):

    awk '{ print  }'
    

O comando:

wmctrl -ic

irá então matar a janela mais recente do Firefox pelo seu id (graciosamente).

Ou ainda mais confiável:

Embora o comando acima funcione bem em praticamente todos os casos, existe uma pequena chance de conflitos de nomes, se, e. existe outra janela com "Mozilla Firefox" em seu nome, mas não uma janela de Firefox (improvável, mas ainda).

O que deve funcionar "à prova d'água" é, portanto, identificar as janelas na lista de janelas (usando wmctrl -lp ) pelo pid de firefox , em vez da string no nome da janela:

wmctrl -ic "$(wmctrl -lp | grep "$(pgrep firefox)" | tail -1 | awk '{ print  }')"

Como você pode ver, neste comando,

wmctrl -l | grep 'Mozilla Firefox'

produzindo as linhas que contêm 'Mozilla Firefox', é substituído por:

wmctrl -lp | grep "$(pgrep firefox)"

produzindo as linhas contendo o pid do firefox (como a saída de pgrep firefox )

    
por Jacob Vlijm 01.05.2015 / 11:11
1

Para fechar uma janela (também com muitas guias abertas), use esse comando:

wmctrl -a firefox; xdotool key Ctrl+Shift+w

Aviso , que wmctrl e xdotool devem ser instalados:

$ sudo apt-get install wmctrl xdotool

Veja também a resposta: Feche a aba atual do firefox usando o terminal .

Minha resposta é um pouco modificada, porque Ctrl + Deslocamento + w fecha uma janela do firefox.

Para todos os atalhos, consulte atalhos do teclado do Firefox .

    
por chaos 01.05.2015 / 11:07