Comando após fechar o Nautilus

3

Eu abro o Nautilus pela linha de comando em uma nova janela. Eu quero executar outro comando depois que o nautilus é fechado. Assim:

bash -c 'sshfs -o idmap=user [email protected]:/ /media/192.168.1.200 | nautilus /media/192.168.1.200;fusermount -u /media/192.168.1.200'

Neste caso, quero executar fusermount -u /media/192.168.1.200 somente depois que o Nautilus for fechado.

É possível?

Adendo: muitas vezes, várias janelas do Nautilus são abertas. Então, quero fechar esta janela SOMENTE.

    
por georgian 04.02.2013 / 18:22

2 respostas

3

Não é uma resposta concreta, mas poucos indicadores podem ajudar.

Se a janela tiver um título único, você pode obter o ID da janela usando

NAUTILUS_WINDOWID='xwininfo -name <title> |grep 'Window id' |awk '{print }''

Agora, chamar periodicamente xwininfo -id $NAUTILUS_WINDOWID >/dev/null deve funcionar.

Ele retorna 0 se a janela existir e 1 caso contrário.

    
por Mahesh 10.02.2013 / 13:30
2

Este trabalho:

#!/bin/bash
sshfs -o idmap=user [email protected]:/ /media/192.168.1.200 | nautilus /media/192.168.1.200
sleep 1
lc_id='xwininfo -name 192.168.1.200 |grep 'Window id' |awk '{print }''

while [ ! -z "$(xwininfo -id "$lc_id" | grep "Absolute upper-left X" )" ]
do
   sleep 1
done
fusermount -u /media/192.168.1.200

Créditos vão para @Mahesh

    
por georgian 11.02.2013 / 07:34

Tags