Команда после закрытия Nautilus

3

Я открываю Nautilus по командной строке в новом окне. Я хочу выполнить другую команду после закрытия nautilus. Вот так:

bash -c 'sshfs -o idmap=user my_user@192.168.1.200:/ /media/192.168.1.200 | nautilus /media/192.168.1.200;fusermount -u /media/192.168.1.200'

В этом случае я хочу выполнить fusermount -u /media/192.168.1.200 только после закрытия Nautilus.

Возможно?

Приложение: я часто открываю несколько окон Nautilus. Поэтому я хочу закрыть это окно ТОЛЬКО.

    
задан georgian 04.02.2013 в 18:22
источник

2 ответа

3

Не конкретный ответ, а несколько указателей, которые могут помочь.

Если окно имеет уникальный заголовок, вы можете получить его идентификатор окна, используя

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

Теперь периодически вызов xwininfo -id $NAUTILUS_WINDOWID >/dev/null должен делать трюк.

Он возвращает 0 , если окно существует, и 1 в противном случае.

    
ответ дан Mahesh 10.02.2013 в 13:30
источник
2

Эта работа:

#!/bin/bash
sshfs -o idmap=user my_user@192.168.1.200:/ /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

Кредиты идут в @Mahesh

    
ответ дан georgian 11.02.2013 в 07:34