pacat -p некоторый файл в backup-скрипте нуждается в $ DISPLAY для X11, почему?

Я написал udev-rule и systemd-unit, поэтому, если я подключаю конкретный жесткий диск, rsync создает резервную копию моего / home в фоновом режиме и воспроизводит аудиофайл, когда будет готов.

Во время моей первой попытки я получаю следующую ошибку pulseaudio[8802]: [pulseaudio] main.c: Unable to contact D-Bus: org.freedesktop.DBus.Error.NotSupported: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11

Заметьте, это я исправил. Я вернул свой звук после того, как скрипт был готов.

Но я не понимаю, почему pacat или даже aplay нуждаются в этой переменной для воспроизведения только аудио. Я запускаю Ubuntu Bionic с xfce4-сессией.

2
задан 23 July 2019 в 13:49

1 ответ

Оба aplay и pacat программы пространства пользователя, таким образом, самый легкий способ для программиста получить звук там состоит в том, чтобы использовать dbus библиотека, поскольку никто в их правильном уме не собирается использовать их в cron, или в a udev правило, или не дай бог в systemd, право???:-)

Ну, они были правильными, пока Вы не приехали, и Вы действительно взяли правильное решение для решения этой проблемы.

Если требуется смочь сделать звук без X выполнений вообще (НАПРИМЕР, бездисплейный сервер), Вы могли бы отозваться эхом ASCII BEL¹ символ к a tty.

Примечание 1: 007: действительно ретро: звуковой сигнал был более важным затем Перевод строки (10), Перевод формата (12) или Возврат каретки (13)...

1
ответ дан 2 December 2019 в 04:36

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

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