Сценарий Bash для плагина AC Power

У вас не установлен JDK; у вас есть JRE (хотя я подозреваю, что вы уже знаете это). Чтобы заставить это приложение работать, вам нужно установить OpenJDK:

sudo apt-get install openjdk-7-jdk

Это должно быть установлено на версию Java по умолчанию, но если это не так, вы можете запустить команду, которую вы имеете в своем вопросе чтобы сделать его по умолчанию.

0
задан 10 January 2018 в 21:00

8 ответов

Сначала: почему вы меняете каталог на root /? Ваши файлы находятся там?

Удалите qoutes «..» из вашей команды. Так что это выглядит как

ogg123 plugin.ogg

Убедитесь, что вы установили пакет vorbis-tools

ogg123 plugin.ogg

0
ответ дан 17 July 2018 в 23:24

Как сказал @JonnyTischbein: удалите цитаты из ваших команд, потому что иначе оболочка попытается выполнить буквенную команду "cd /", то есть будет искать исполняемый файл с именем "cd /" и выполнить его. Конечно, этого не существует, и вы получаете bash: cd /: No such file or directory.

То же самое касается "ogg123 plugin.ogg". Он попытается выполнить файл "ogg123 plugin.ogg", который также не существует. Учитывая ваши другие сообщения об ошибках, я предполагаю, что файлы * .ogg находятся в /home/brenden_mcfarling_live/Desktop (а не в /). Таким образом, после изменения на / файлы больше не могут быть найдены, и вам необходимо указать полный путь.

Скомпоновано:

#!/bin/bash cd / while true do if on_ac_power; then ## Laptop on power ogg123 /home/brenden_mcfarling_live/Desktop/plugin.ogg else ## Laptop on battery ogg123 /home/brenden_mcfarling_live/Desktop/Silence.ogg fi ## wait 10 sec before repeating sleep 10 done

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

ogg123 "/home/brenden_mcfarling_live/Desk Top/Very silent sound.ogg"

Вы также можете посмотреть @ JonnyTischbein сказал (и его ответ) в Unix & amp; Linux. Там они говорят, как немедленно уловить событие подключения / отсоединения адаптера переменного тока, поэтому вам не нужно , но только вокруг имени файла каждые 10 секунд, но вместо этого запускайте его.

Я признаю, что это немного сложно с первого взгляда, но идея такова:

Подумайте, какие события происходят, когда шнур подключен и выходит. Напишите сценарий, который вызывается для «подключенного» (который воспроизводит ваш первый звуковой файл). Напишите сценарий, который вызывается для «подключенного» (который воспроизводит ваш второй звуковой файл). Создайте два правила в новом файле ниже /etc/udev/rules.d, которые говорят «при подключении, а затем запустите script1.sh» и "при отключении, затем запустите script2.sh"
0
ответ дан 17 July 2018 в 23:24

Сначала: почему вы меняете каталог на root /? Ваши файлы находятся там?

Удалите qoutes «..» из вашей команды. Так что это выглядит как

ogg123 plugin.ogg

Убедитесь, что вы установили пакет vorbis-tools

ogg123 plugin.ogg

0
ответ дан 24 July 2018 в 13:55
  • 1
    Мои файлы есть. Тем не менее, у меня все еще возникают проблемы с ними, поэтому я собираюсь разместить локальную копию в домашнем каталоге, затем в etc / skel (для каждого нового пользователя) – Brenden McFarling 10 January 2018 в 22:08
  • 2
    Теперь я получаю вывод «Не могу открыть (имя) .ogg». – Brenden McFarling 10 January 2018 в 22:14

Как сказал @JonnyTischbein: удалите цитаты из ваших команд, потому что иначе оболочка попытается выполнить буквенную команду "cd /", то есть будет искать исполняемый файл с именем "cd /" и выполнить его. Конечно, этого не существует, и вы получаете bash: cd /: No such file or directory.

То же самое касается "ogg123 plugin.ogg". Он попытается выполнить файл "ogg123 plugin.ogg", который также не существует. Учитывая ваши другие сообщения об ошибках, я предполагаю, что файлы * .ogg находятся в /home/brenden_mcfarling_live/Desktop (а не в /). Таким образом, после изменения на / файлы больше не могут быть найдены, и вам необходимо указать полный путь.

Скомпоновано:

#!/bin/bash cd / while true do if on_ac_power; then ## Laptop on power ogg123 /home/brenden_mcfarling_live/Desktop/plugin.ogg else ## Laptop on battery ogg123 /home/brenden_mcfarling_live/Desktop/Silence.ogg fi ## wait 10 sec before repeating sleep 10 done

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

ogg123 "/home/brenden_mcfarling_live/Desk Top/Very silent sound.ogg"

Вы также можете посмотреть @ JonnyTischbein сказал (и его ответ) в Unix & amp; Linux. Там они говорят, как немедленно уловить событие подключения / отсоединения адаптера переменного тока, поэтому вам не нужно , но только вокруг имени файла каждые 10 секунд, но вместо этого запускайте его.

Я признаю, что это немного сложно с первого взгляда, но идея такова:

Подумайте, какие события происходят, когда шнур подключен и выходит. Напишите сценарий, который вызывается для «подключенного» (который воспроизводит ваш первый звуковой файл). Напишите сценарий, который вызывается для «подключенного» (который воспроизводит ваш второй звуковой файл). Создайте два правила в новом файле ниже /etc/udev/rules.d, которые говорят «при подключении, а затем запустите script1.sh» и "при отключении, затем запустите script2.sh"
0
ответ дан 24 July 2018 в 13:55

Сначала: почему вы меняете каталог на root /? Ваши файлы находятся там?

Удалите qoutes «..» из вашей команды. Так что это выглядит как

ogg123 plugin.ogg

Убедитесь, что вы установили пакет vorbis-tools

ogg123 plugin.ogg

0
ответ дан 24 July 2018 в 16:53
  • 1
    Мои файлы есть. Тем не менее, у меня все еще возникают проблемы с ними, поэтому я собираюсь разместить локальную копию в домашнем каталоге, затем в etc / skel (для каждого нового пользователя) – Brenden McFarling 10 January 2018 в 22:08
  • 2
    Теперь я получаю вывод «Не могу открыть (имя) .ogg». – Brenden McFarling 10 January 2018 в 22:14

Как сказал @JonnyTischbein: удалите цитаты из ваших команд, потому что иначе оболочка попытается выполнить буквенную команду "cd /", то есть будет искать исполняемый файл с именем "cd /" и выполнить его. Конечно, этого не существует, и вы получаете bash: cd /: No such file or directory.

То же самое касается "ogg123 plugin.ogg". Он попытается выполнить файл "ogg123 plugin.ogg", который также не существует. Учитывая ваши другие сообщения об ошибках, я предполагаю, что файлы * .ogg находятся в /home/brenden_mcfarling_live/Desktop (а не в /). Таким образом, после изменения на / файлы больше не могут быть найдены, и вам необходимо указать полный путь.

Скомпоновано:

#!/bin/bash cd / while true do if on_ac_power; then ## Laptop on power ogg123 /home/brenden_mcfarling_live/Desktop/plugin.ogg else ## Laptop on battery ogg123 /home/brenden_mcfarling_live/Desktop/Silence.ogg fi ## wait 10 sec before repeating sleep 10 done

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

ogg123 "/home/brenden_mcfarling_live/Desk Top/Very silent sound.ogg"

Вы также можете посмотреть @ JonnyTischbein сказал (и его ответ) в Unix & amp; Linux. Там они говорят, как немедленно уловить событие подключения / отсоединения адаптера переменного тока, поэтому вам не нужно , но только вокруг имени файла каждые 10 секунд, но вместо этого запускайте его.

Я признаю, что это немного сложно с первого взгляда, но идея такова:

Подумайте, какие события происходят, когда шнур подключен и выходит. Напишите сценарий, который вызывается для «подключенного» (который воспроизводит ваш первый звуковой файл). Напишите сценарий, который вызывается для «подключенного» (который воспроизводит ваш второй звуковой файл). Создайте два правила в новом файле ниже /etc/udev/rules.d, которые говорят «при подключении, а затем запустите script1.sh» и "при отключении, затем запустите script2.sh"
0
ответ дан 24 July 2018 в 16:53

Сначала: почему вы меняете каталог на root /? Ваши файлы находятся там?

Удалите qoutes «..» из вашей команды. Так что это выглядит как

ogg123 plugin.ogg

Убедитесь, что вы установили пакет vorbis-tools

ogg123 plugin.ogg

0
ответ дан 24 July 2018 в 17:01
  • 1
    Мои файлы есть. Тем не менее, у меня все еще возникают проблемы с ними, поэтому я собираюсь разместить локальную копию в домашнем каталоге, затем в etc / skel (для каждого нового пользователя) – Brenden McFarling 10 January 2018 в 22:08
  • 2
    Теперь я получаю вывод «Не могу открыть (имя) .ogg». – Brenden McFarling 10 January 2018 в 22:14

Как сказал @JonnyTischbein: удалите цитаты из ваших команд, потому что иначе оболочка попытается выполнить буквенную команду "cd /", то есть будет искать исполняемый файл с именем "cd /" и выполнить его. Конечно, этого не существует, и вы получаете bash: cd /: No such file or directory.

То же самое касается "ogg123 plugin.ogg". Он попытается выполнить файл "ogg123 plugin.ogg", который также не существует. Учитывая ваши другие сообщения об ошибках, я предполагаю, что файлы * .ogg находятся в /home/brenden_mcfarling_live/Desktop (а не в /). Таким образом, после изменения на / файлы больше не могут быть найдены, и вам необходимо указать полный путь.

Скомпоновано:

#!/bin/bash cd / while true do if on_ac_power; then ## Laptop on power ogg123 /home/brenden_mcfarling_live/Desktop/plugin.ogg else ## Laptop on battery ogg123 /home/brenden_mcfarling_live/Desktop/Silence.ogg fi ## wait 10 sec before repeating sleep 10 done

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

ogg123 "/home/brenden_mcfarling_live/Desk Top/Very silent sound.ogg"

Вы также можете посмотреть @ JonnyTischbein сказал (и его ответ) в Unix & amp; Linux. Там они говорят, как немедленно уловить событие подключения / отсоединения адаптера переменного тока, поэтому вам не нужно , но только вокруг имени файла каждые 10 секунд, но вместо этого запускайте его.

Я признаю, что это немного сложно с первого взгляда, но идея такова:

Подумайте, какие события происходят, когда шнур подключен и выходит. Напишите сценарий, который вызывается для «подключенного» (который воспроизводит ваш первый звуковой файл). Напишите сценарий, который вызывается для «подключенного» (который воспроизводит ваш второй звуковой файл). Создайте два правила в новом файле ниже /etc/udev/rules.d, которые говорят «при подключении, а затем запустите script1.sh» и "при отключении, затем запустите script2.sh"
0
ответ дан 24 July 2018 в 17:01

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

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