No Ubuntu 16.04, quando eu ligava o meu computador, o som do drum roll era reproduzido logo antes de eu receber a interface de login. Após a atualização para o Ubuntu 17.10, o som do drum roll não está mais sendo reproduzido. Fiz uma pesquisa na web e tentei o seguinte, que permitia que o som do rolo de bateria fosse reproduzido, mas somente depois que eu fiz o login.
Lancei as Preferências dos aplicativos de inicialização e adicionei um item que continha o seguinte.
/usr/bin/canberra-gtk-play --id="desktop-login" -f /usr/share/sounds/ubuntu/stereo/system-ready.ogg
Mas isso só permitiu que o som fosse reproduzido após o login.
Eu também tentei
/usr/bin/canberra-gtk-play --id="system-ready" -f /usr/share/sounds/ubuntu/stereo/system-ready.ogg
Mas isso teve o mesmo efeito que a outra tentativa; o som do tambor tocava somente depois que eu fazia login.
Por isso, estou perguntando se alguém encontrou uma maneira de ativar o som do drum roll antes de o usuário efetuar login, quando o usuário é apresentado à caixa de diálogo de login.
Eu também tentei --id = "inicialização do sistema", que deveria ter trazido o som da bateria muito mais cedo. Mas mesmo com essa configuração, o som do rolo de bateria não foi reproduzido até depois que eu entrei.
Respostas:
Aqui está uma maneira de usar uma unidade de usuário systemd executando no diretório inicial do usuário gdm.
Salve o seguinte arquivo como
/var/lib/gdm3/.config/systemd/user/drumroll.service
:A unidade systemd acima deve garantir que o pulseaudio tenha sido iniciado no contexto do usuário gdm e executar o
paplay
comando (não tenteicanberra-gtk-play
, mas acho que funciona também).After=systemd-user-sessions.service
fará o serviço iniciar somente depois que o sistema estiver pronto para logins do usuário. (consulte http://manpages.ubuntu.com/manpages/artful/man8/systemd-user-sessions.service.8.html )Em seguida, execute:
Esses últimos comandos fazem a unidade iniciar automaticamente quando a sessão systemd do usuário gdm é iniciada.
Verificar erros é um pouco complicado, porque o systemctl tem a restrição de conectar-se à sessão do sistema ou à sessão do usuário que está chamando . Para tornar o gdm, o usuário que está chamando é fácil com o sudo, mas é necessário configurar algum ambiente para possibilitar a conexão com a sessão do usuário systemd:
Eu não tentei isso com 17.10, mas 18.04, mas não vejo uma razão para não funcionar tão bem no 17.10.
fonte