В моем Ubuntu 18.10 у меня при запуске системы запускается демон через systemd, он получает доступ ко многим датчикам через последовательный порт и USB.
При определенных условиях требуется воспроизводить звук через звук по умолчаниюраковина, но всякий раз, когда он пытается, демон выходит.
Состояние systemctl показывает следующее сообщение:
PulseAudioService: pa_context_connect() failed
Assertion 'c' failed at pulse/context.c:1062, function pa_context_get_state(). Aborting.
Если я запускаю демона из командной строки, звук воспроизводится без проблем., но если он запускается через запуск / перезапуск systemctl, он падает всякий раз, когда должен воспроизводиться звук.
Это заставило меня поверить, что проблема связана с некоторыми настройками ресурса в файле .service, но яневозможно найти настройку для решения проблемы.
Мой файл .service:
[Unit]
Description=Vejrstation server
After=mysql.service
[Install]
WantedBy=default.target
[Service]
type=forking
RemainAfterExit=yes
ExecStart=/usr/bin/vejrstationd
Restart=on-failure
DeviceAllow=char-alsa rw
DeviceAllow=char-ttyACM rw
DeviceAllow=char-ttyUSB rw
DeviceAllow=char-ttyS rw
Есть идеи?
После долгих исследований я достигвывод, что эта проблема, вероятно, не проблема программирования, а скорее проблема конфигурации systemd или pulseaudio, так что это, вероятно, не тот форум.