关闭 Nautilus 后的命令

关闭 Nautilus 后的命令

我通过命令行在新窗口中打开 Nautilus。我想在 nautilus 关闭后执行另一个命令。像这样:

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'

fusermount -u /media/192.168.1.200在这种情况下,我只想在 Nautilus 关闭后执行。

可能吗?

附录:我经常打开多个 Nautilus 窗口。所以我只想关闭这个窗口。

答案1

虽然不是一个具体的答案,但可以提供一些可能有帮助的建议。

如果窗口具有唯一标题,则可以使用以下方法获取其窗口 ID

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

现在定期呼叫xwininfo -id $NAUTILUS_WINDOWID >/dev/null应该可以解决问题。

0如果窗口存在则返回,1否则。

答案2

本作品:

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

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

感谢@Mahesh

相关内容