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

Я открываю Наутилус из командной строки в новом окне. Я хочу выполнить другую команду после закрытия 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. Поэтому я хочу закрыть это окно ТОЛЬКО.

3
задан 11 February 2013 в 12:14

2 ответа

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

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

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

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

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

0
ответ дан 11 February 2013 в 12:14

Эта работа:

#!/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 $4}'`

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

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

0
ответ дан 11 February 2013 в 12:14

Другие вопросы по тегам:

Похожие вопросы: