Saia de todas as instâncias de 'gnome-terminal' por meio de um comando

2

Esta é a metade "isso seria útil para mim" e metade "projeto de hobby" - Eu queria saber se é possível enviar um comando através de um gnome-terminal que irá encerrar todas as instâncias de um programa sem usar killall .

Essencialmente eu gostaria de escrever um script, que eu colocarei no meu $PATH , que irá tentar e sair de todas as janelas de terminal abertas como se o botão fechar tivesse sido clicado em cada uma delas, ao invés de matar. A razão é que eu tenho um terrível hábito de abrir muitas janelas de terminal de uma só vez e é um incômodo passar por cada uma delas e sair de todas elas individualmente. Simplesmente digitando exeunt (porque vamos encarar, não há melhor nome para um comando para "sair de tudo") e tê-los todos parados seria muito melhor para mim. No entanto, eu não quero fechar acidentalmente todos os programas que ainda estão sendo executados a partir de um terminal - eu ainda quero ver qualquer um "ainda há um processo em execução neste terminal", então o comando killall gnome-terminal estaria fora de a questão.

O ideal é supor que seria um equivalente de linha de comando / bash de clicar com o botão direito no ícone do Dash e pressionar "quit". Possivelmente um pedido pouco ortodoxo, mas eu estaria interessado em saber se é de alguma forma possível.

    
por Jez W 01.08.2013 / 13:31

1 resposta

2

Apesar do nome, killall (e kill ) envia SIGTERM sinal para todo o processo com o mesmo nome, você também pode personalizar o sinal enviado com a opção -s . Então, ao invés disso, usando killall gnome-terminal você pode usar killall -s {signal} gnome-terminal .

Eu não descobri que sinal pode ser interpretado como clique no botão fechar , mas meu palpite é que é um gancho da GUI que aciona tal comportamento. No gnome2 havia uma opção "Fechar tudo" na lista de tarefas, mas no gnome3 parece que essa opção está perdida.

Depois de uma longa discussão sobre U & amp; L

Com a ajuda de slm que me deu a idéia , você pode simular a combinação de teclas alt + F4 em várias instâncias do gnome-terminal usando xdotool search --name terminal key --window %@ alt+F4 . Você deve ter certeza de que instalou xdotool usando:

sudo apt-get install xdotool

Mas, deixe-me explicar em detalhes:

search faz uma busca em todas as janelas com características determinadas. A opção --name procurará janelas com o conteúdo na barra de título. key diz xdotool que vamos usar comandos do teclado. --window diz para usar um ID determinado para o comando key , se não configurado, usará %1 da pilha. %@ significa usar toda a pilha de ID's. alt+F4 informa a combinação de teclas para enviar.

Mais informações:

www.semicomplete.com/projects/xdotool/xdotool.xhtml

    
por Braiam 01.08.2013 / 14:08