У меня была проблема в том, что обнаружение наушников отключило динамик, который, очевидно, подключен к разъему для наушников в ноутбуке. HDA-intel на Fujitsu Siemens Amilo 1520 здесь.
Что должно дать вам ключ к разгадке, так это то, что на вашей звуковой карте открыт alsamixer, и вы видите, что на регуляторы громкости для динамика и наушников влияют (при подключении наушников, отключении звука динамика и включении наушников, и наоборот).
затем с помощью выбранной мною hdajackretask: зеленые наушники (задняя сторона) - выберите переопределение - и установите «внутренний динамик»
, затем вы можете проверить, подключив и отключив наушники, если они подходят для вашей конфигурации (документация скудная).
В моем случае это сработало, и я нажал кнопку «Установить переопределение загрузки». Перезагрузите систему и получите рабочий звук ...
(Я действительно хотел бы знать, что у него внутри, узнаю это когда-нибудь позже.)
Я предполагаю, что ваша команда ExecStop=
выполняет асинхронную операцию, например, посылает сигнал завершения процессу, а затем завершает работу непосредственно перед завершением завершения процесса.
Убедитесь, что ваша команда ExecStop=
является синхронной операцией, которая не завершается до тех пор, пока служба не будет полностью отключена.
Если ваш процесс относится к Type=exec
, вы можете использовать следующее, чтобы дождаться его завершения после запроса на завершение:https://github.com/systemd/systemd/issues/13284#issuecomment-784556633
[Service]
# Type must be set correctly for $MAINPID detection to work
Type=exec
ExecStart=/path/to/myservice/start-command
ExecStop=/path/to/myservice/stop-command
ExecStop=/usr/bin/sh -c 'while kill -0 $MAINPID 2>/dev/null; do sleep 1; done'
TimeoutStopSec=15