В Ubuntu 16.04, когда я включал компьютер, звук барабанной дроби проигрывался прямо перед тем, как мне представили интерфейс Login. После того, как я обновился до Ubuntu 17.10, звук барабанной дроби больше не воспроизводится. Я провел некоторое исследование в Интернете и попробовал следующее, что позволило воспроизвести звук барабанной дроби, но только после того, как я вошел в систему.
Я запустил Настройки запуска приложений и добавил элемент, который содержал следующее.
/usr/bin/canberra-gtk-play --id="desktop-login" -f /usr/share/sounds/ubuntu/stereo/system-ready.ogg
Но это позволило воспроизводить звук только после того, как я уже вошел в систему.
Я тоже пробовал
/usr/bin/canberra-gtk-play --id="system-ready" -f /usr/share/sounds/ubuntu/stereo/system-ready.ogg
Но это имело тот же эффект, что и другая попытка; Звук барабана звучит только после того, как я вошел в систему.
Поэтому я спрашиваю, нашел ли кто-нибудь способ включить звук барабанной дроби до того, как пользователь войдет в систему, когда пользователю будет представлен диалог входа в систему.
Я также попробовал --id = "system-bootup", который должен был поднять звук барабанной дроби намного раньше. Но даже с этой настройкой звук барабанной дроби не воспроизводился до тех пор, пока я не вошел в систему.
Ответы:
Вот способ использования пользовательского модуля systemd из домашнего каталога пользователя gdm.
Сохраните следующий файл как
/var/lib/gdm3/.config/systemd/user/drumroll.service
:Вышеупомянутый системный модуль должен убедиться, что pulseaudio был запущен в пользовательском контексте gdm, и выполнить
paplay
команду (я не пробовалcanberra-gtk-play
, но я думаю, что она также работает).After=systemd-user-sessions.service
Запустит службу только после того, как система будет готова к входу пользователей. (см. http://manpages.ubuntu.com/manpages/artful/man8/systemd-user-sessions.service.8.html )Затем выполните:
Эти последние команды заставляют устройство запускаться автоматически при запуске сеанса systemd пользователя gdm.
Проверить наличие ошибок немного сложно, потому что systemctl имеет ограничение на подключение либо к сеансу системы, либо к сеансу вызывающего пользователя . Сделать gdm вызывающим пользователем легко с помощью sudo, но необходимо настроить некоторую среду, чтобы можно было подключиться к сеансу пользователя systemd:
Я не пробовал это с 17.10, но с 18.04, но я не вижу причины, по которой 17.10 это не сработает.
источник