crontab с espeak не работает, когда звуковая карта занята тусовками в гугле
Там может быть не решение этой проблемы, но вот проблема, тем не менее:)
- Я нахожусь на Ubuntu 14.04, использую последнюю версию Chrome в качестве браузера
- Моя звуковая карта занята в Google Hangouts
Мой crontab настроен так:
* * * * * espeak "hello" > /path/to/my/error.log 2>&1
Отслеживая журнал ошибок, я не вижу ошибок. Но я тоже не слышу ни звука. Когда я выхожу из видеовстречи, я начинаю каждую минуту слышать громкий "привет" из моих динамиков.
Так может ли espeak или любая другая программа обойти тот факт, что звуковая карта занята? Спасибо за чтение проблемы:)
2 ответа
Попробуйте что-то вроде этого:
* * * * * export DISPLAY=:0 ; espeak "hello" > /path/to/my/error.log 2>&1
espeak, похоже, нужен X-сервер.
Вероятно, espeak пытается получить доступ к звуковой карте напрямую, а не через общесистемный аудиосервер (pulseaudio). Pulseaudio может принимать несколько потоков из приложений и объединять их в один выход.
Использование:
espeak -v en "Hello i am espeak" --stdout | aplay
Смотрите этот ответ: espeak возвращает ошибку на сервере Ubuntu
Вы также можете попробовать прибегнуть к помощи "espeak pulseaudio" для получения дополнительной информации.