Как заставить скрипт ждать выхода Nautilus

Сегодня я столкнулся с такой же проблемой. Для Travelmate 4050 обновление BIOS с 1,6 до 1,7.0 также устранило проблему, настройка acpi=off больше не нужна (это очень приятно, потому что acpi=off не позволяет компьютеру нормально отключиться).

4
задан 15 October 2017 в 11:58

3 ответа

Отслеживание PID и уничтожение его из shellscript работает для меня в живой системе Ubuntu 16.04.1 LTS с ядром Xenial, а также в обновленной установленной системе с Ubuntu 16.04 LTS (и Xenial ядро).

#!/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"

Edit:

Он работает, когда его убивают, но, когда он закрыт с помощью кнопки управления x, процесс все еще жив, что является проблемой с Nautilus.

Но если вы используете Thunar вместо Nautilus, процесс будет убит, когда окно будет закрыто кнопкой x . Поэтому я предлагаю переключить файловый браузер для этой задачи,

#!/bin/bash

echo "Starting Thunar"

thunar ~/Downloads

echo "Checking that the process is gone"
ps -A|grep "thunar"
6
ответ дан 22 May 2018 в 17:32
  • 1
    Спасибо за обходной путь. Это похоже на одно из моих реализаций, использующее processID nautilaus $tempdir -n --no-default-window --no-desktop &, которое в конечном итоге вернется, но не сразу. Я добавлю его в свой вопрос для получения дополнительной информации о том, как далеко я получил. Возможно, не было способа распознать, что окно закрыто. Но если это так, я надеюсь сохранить дополнительные шаги, возвращаясь к скрипту. В настоящее время я пытаюсь использовать такие инструменты, как Jacob Vlijm, чтобы проверить, закрыто ли окно. – L. D. James 15 October 2017 в 13:36
  • 2
    @ L.D.James, Мне кажется, что убийство PID закроет окно Наутилуса. Отсутствие процесса можно проверить через ps -A в вашем shellscript. Разве это для вас другое? Какую версию Ubuntu вы используете? – sudodus 15 October 2017 в 13:47
  • 3
    Я запускаю Ubuntu 16.04.3 LTS. – L. D. James 15 October 2017 в 13:51
  • 4
    С помощью xenial или zesty ядра? – sudodus 15 October 2017 в 13:53
  • 5
    Это запас: Ubuntu 4.4.0-97.120-generic 4.4.87. Я считаю, что по умолчанию для последнего обновления / обновления. – L. D. James 15 October 2017 в 13:56

Отслеживание PID и уничтожение его из shellscript работает для меня в живой системе Ubuntu 16.04.1 LTS с ядром Xenial, а также в обновленной установленной системе с Ubuntu 16.04 LTS (и Xenial ядро).

#!/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"

Edit:

Он работает, когда его убивают, но, когда он закрыт с помощью кнопки управления x, процесс все еще жив, что является проблемой с Nautilus.

Но если вы используете Thunar вместо Nautilus, процесс будет убит, когда окно будет закрыто кнопкой x . Поэтому я предлагаю переключить файловый браузер для этой задачи,

#!/bin/bash echo "Starting Thunar" thunar ~/Downloads echo "Checking that the process is gone" ps -A|grep "thunar"
6
ответ дан 18 July 2018 в 05:17

Отслеживание PID и уничтожение его из shellscript работает для меня в живой системе Ubuntu 16.04.1 LTS с ядром Xenial, а также в обновленной установленной системе с Ubuntu 16.04 LTS (и Xenial ядро).

#!/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"

Edit:

Он работает, когда его убивают, но, когда он закрыт с помощью кнопки управления x, процесс все еще жив, что является проблемой с Nautilus.

Но если вы используете Thunar вместо Nautilus, процесс будет убит, когда окно будет закрыто кнопкой x . Поэтому я предлагаю переключить файловый браузер для этой задачи,

#!/bin/bash echo "Starting Thunar" thunar ~/Downloads echo "Checking that the process is gone" ps -A|grep "thunar"
6
ответ дан 24 July 2018 в 18:17

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

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