Как я могу удаленно выключить Ubuntu с помощью Google Home?

Как я могу удаленно завершить работу Ubuntu с помощью Google Home? Думаю, мне понадобятся ssh, IFTTT и несколько приложений для Android, но я не знаю, как это сделать. Существует множество руководств по Windows, но нет руководств по Linux и Ubuntu.

0
задан 28 May 2019 в 14:37

1 ответ

OK. Через некоторое время у меня все заработало.

Я добился отключения Ubuntu с помощью IFTTT, Dropbox и inotifywait (inotifywait - это инструмент, который может запускать сценарии или команды при изменении какого-либо файла или папки).

Это выглядит примерно так: я прошу Google Home выключить ПК -> Google Home просит IFTTT изменить файл в Dropbox -> inotifywait видит изменение в файле и отключает компьютер.

Шаг за шагом:

  1. Перейдите на https://www.dropbox.com и зарегистрируйтесь, если у вас нет учетной записи.

    [ 1116]
  2. Перейдите на https://www.dropbox.com/install Загрузите пакет для Ubuntu, установите этот пакет двойным щелчком мыши.

  3. Откройте Dropbox в меню приложений, пройдите процесс подключения вашей учетной записи. Теперь у вас должна быть папка Dropbox в вашей домашней папке. Создайте папку «RemoteTurnOff» в папке «Dropbox». Внутри папки «RemoteTurnOff» создайте файл «fileToWatch.txt». Это можно сделать, перейдя в свои приложения, откройте «Текстовый редактор», выберите меню из 3 точек, нажмите «Сохранить как», найдите и выберите папку RemoteTurnOff. Не забудьте изменить имя файла на «fileToWatch.txt»

  4. Внутри папки «RemoteTurnOff» создайте файл «script.sh». Это можно сделать, зайдя в приложения, откройте » Текстовый редактор". Вставьте этот код в редактор:

#!/bin/sh
### BEGIN INIT INFO
# Provides:          filenotifier
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Something
# Description:       Something else
### END INIT INFO
cd /home/YOUR_USER_NAME/Dropbox/RemoteTurnOff
inotifywait -e close_write,moved_to,create -m . |
while read -r directory events filename; do
  if [ "$filename" = "fileToWatch.txt" ]; then
    systemctl poweroff
  fi
done

Важное замечание: Измените YOUR_USER_NAME на свое имя пользователя. Если вы не знаете своего имени пользователя: откройте терминал и введите

whoami

. Теперь нажмите на меню из 3 точек в текстовом редакторе, нажмите «Сохранить как», найдите и выберите папку RemoteTurnOff. Не забудьте изменить имя файла на «script.sh»

  1. Щелкните правой кнопкой мыши файл script.sh -> Свойства -> Разрешения -> нажмите «Разрешить запуск файла как программы» (оно должно быть проверено).

Чтобы убедиться, что это исполняемый файл, сделайте следующее: Щелкните правой кнопкой мыши на пустом месте внутри папки RemoteTurnOff. Выберите «Открыть в терминале». Запустите эту команду:

sudo chmod +x script.sh
  1. Теперь вы можете проверить, работает ли скрипт. Откройте папку RemoteTurnOff, щелкните правой кнопкой мыши пустое место, выберите «Открыть в терминале», введите:

./script.sh

Не закрывать терминал , откройте «fileToWatch.txt» в редакторе, введите текст, сохраните изменения. Ваш компьютер должен выключиться. Если он выключился, тогда все в порядке - продолжайте.

  1. Позволяет запускать скрипт в фоновом режиме при запуске. Открыть терминал, прошлая команда:

cd / etc

прошлая команда

sudo nano rc.local

Теперь вы должны находиться в режиме текстового редактора , Вставьте этот текст в редактор:

#!/bin/sh -e
sh '/home/YOUR_USER_NAME/Dropbox/RemoteTurnOff/script.sh' &
exit 0

Вам нужно изменить YOUR_USER_NAME на свое имя (используйте команду whoami в другом окне терминала, чтобы получить имя, если вы его не знаете). Не забудьте "& amp;" знак в конце второй строки!

Нажмите Ctrl + O, чтобы сохранить его. Нажмите Enter, чтобы подтвердить имя. Это должно выглядеть следующим образом: pic

Нажмите Ctrl + X, чтобы выйти из режима текстового редактора в терминале.

Теперь выполните эту команду, чтобы сделать исполняемый файл rc.local:

sudo chmod +x rc.local

Теперь сценарий должен запускаться при запуске в фоновом режиме. Проверьте это: перезагрузитесь, затем перейдите в Dropbox -> RemoteTurnOff, откройте «fileToWatch.txt», вставьте текст и сохраните. ПК должен перезагрузиться. Вся тяжелая работа сделана. Далее мы подключим Dropbox к Google Home.

  1. Зайдите на https://ifttt.com/ Зарегистрируйтесь (лучше использовать учетную запись Google для регистрации)

  2. Зайдите на https://ifttt.com/services/google_assistant/settings Подключитесь к своей домашней странице Google. Убедитесь, что статус активен.

  3. Перейдите на https://ifttt.com/services/dropbox/settings Подключите свой Dropbox. Убедитесь, что статус активен.

  4. На сайте IFTTT можно создать новый апплет. Нажмите «Мои апплеты», а затем «Создать апплет».

  5. Нажмите «+ this», найдите «assistant», нажмите «Google Assistant»

  6. Выберите «Скажите простую фразу».

  7. На следующем экране введите фразу, которую вы будете использовать для общения с Google Home. В моем случае это выглядит примерно так: pic Затем нажмите «Создать триггер»

  8. Нажмите «+», найдите «Dropbox», выберите «Dropbox». ». На следующем экране выберите третий вариант: «Добавить в текстовый файл»

  9. Заполнить информацию:

имя файла -> "fileToWatch.txt"

content -> "#" (это может быть любой символ)

путь к папке Dropbox -> "RemoteTurnOff /"

pic

Нажмите «Создать действие». Лучше отключить уведомление - оно раздражает.

Теперь скажите вашему дому Google: «Выключите компьютер».

Возможно, я забыл некоторые шаги. Пожалуйста, скажите мне, если это не сработало, я помогу вам и исправлю инструкцию. Проверено на Ubuntu 18.04 LTS. Я не создал вопрос только для того, чтобы ответить на него. Я не знал ответа, когда создавал вопрос.

Чтобы включить компьютер с помощью Google Home, вам не нужно ничего делать в Ubuntu: есть много инструкций, как это сделать с помощью WOL и Android. Просто введите "включить компьютер с помощью Google Home" в поиске Google.

0
ответ дан 28 May 2019 в 14:37

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

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