Como fazer o script esperar que o Nautilus saia

4

Eu tenho um script que irá extrair arquivos para examinar uma pasta temporária e, em seguida, chamar o nautilus.

Estou tentando fazer o script esperar que o Nautilus saia e, em seguida, remova a pasta temporária. No entanto, a pasta é removida instantaneamente depois que o Nautilus é chamado.

Eu entendo que o Nautilus é uma subjanela do Gnome que está controlando o Desktop. No entanto, estou tentando descobrir uma maneira de chamar uma nova instância do Nautilus ou uma solução alternativa.

O script:

#/bin/bash

tempdir=$(mktemp -d)

unzip ~/document.odt -d $tempdir
nautilus $tempdir

# waitfor nautilus to exit
# workaround 
zenity --info --title="Find Icons" --text="Click OK to exit" 2>/dev/null

rm -r $tempdir

Atualmente, estou usando o Zenity como uma solução alternativa para fazer o script aguardar, dando ao usuário uma solicitação. Estou tentando remover essa etapa extra e fazer com que o script reconheça que a janela do Nautilus fechou e termine automaticamente.

    
por L. D. James 15.10.2017 / 10:07

1 resposta

6

Acompanhar o PID e matá-lo do shellscript funciona para mim em um sistema live do Ubuntu 16.04.1 LTS com o kernel Xenial e também em um sistema instalado e atualizado com o Ubuntu 16.04 LTS (e o Xenial kernel).

#!/bin/bash

echo "Starting Nautilus"

nautilus --no-desktop ~/Downloads & pid=$!

echo "pid=$pid"
ps -A|grep "$pid"

read -p "Press Enter when you are ready to kill the Nautilus window"

kill "$pid"
sync
echo "Checking that the process is gone"
ps -A|grep "$pid"

Editar:

Funciona, quando morto assim, mas quando fechado com o botão de controle x , o processo ainda está ativo, o que é um problema com o Nautilus.

Mas se você usar o Thunar em vez do Nautilus, o processo será encerrado, quando a janela for fechada com o botão x . Então eu sugiro mudar o navegador de arquivos para esta tarefa,

#!/bin/bash

echo "Starting Thunar"

thunar ~/Downloads

echo "Checking that the process is gone"
ps -A|grep "thunar"
    
por sudodus 15.10.2017 / 12:22