Як повернути звук барабанного звуку в Ubuntu 17.10, коли система готова до входу користувача


12

У Ubuntu 16.04, коли я працював на комп’ютері, звук барабанного звучання відтворюватиметься прямо до того, як я отримав інтерфейс для входу. Після того як я перейшов на 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", який повинен був передбачати звук барабанної стрічки набагато раніше. Але навіть при такому налаштуванні звук барабанного звучання не відтворювався, поки я не ввійшов.


Зміна на lightdm від gdm3 може вирішити це. Хоча екран логотипу виглядатиме як 17.04-. apt встановити lightdm. dpkg-переконфігуруйте lightdm
Артем

Якби ми встановили і використали lightdm, і якщо він не працює, і якщо ми хотіли б повернутися до gdm3, як би ми це зробили? Я підозрюю (без доказів), що проблема, яку ми зараз спостерігаємо з барабаном, є (відносно незначною) помилкою з 17.10
Річард Фур

apt purge lightdm, dpkg-reconfigure gdm3
Артем

lightdm залежить від купу пакетів, які слід відштовхнути від xwayland, наприклад xserver-xorg *, юнит * тощо. Що роблять хлопці з gdm?
funicorn

Скажіть, будь ласка, чи відповідь спрацювала для вас Річарда, щоб потім я міг просто наділити це щедротою! ;-)

Відповіді:


11

Ось спосіб використання системного блоку користувача, який працює з домашнього каталогу користувача gdm.

  • Збережіть такий файл як /var/lib/gdm3/.config/systemd/user/drumroll.service:

    [Unit]
    Description=Drumroll
    Requires=pulseaudio.socket
    After=systemd-user-sessions.service
    
    [Service]
    Type=simple
    Restart=no
    ExecStart=/usr/bin/paplay /usr/share/sounds/ubuntu/stereo/system-ready.ogg
    
    [Install]
    WantedBy=default.target
    

Вищенаведений системний блок повинен переконатися, що pulseaudio був запущений у користувальницькому контексті gdm та виконати paplayкоманду (я не пробував canberra-gtk-play, але я думаю, що він також працює).

After=systemd-user-sessions.serviceзмусить послугу запуститись лише після того, як система готова до входу користувачів. (див. http://manpages.ubuntu.com/manpages/artful/man8/systemd-user-sesions.service.8.html )

  • Потім виконайте:

    $ sudo mkdir -p /var/lib/gdm3/.config/systemd/user/default.target.wants
    $ sudo ln -s /var/lib/gdm3/.config/systemd/user/drumroll.service /var/lib/gdm3/.config/systemd/user/default.target.wants/drumroll.service
    $ sudo chown gdm:gdm /var/lib/gdm3/.config/systemd/user/{drumroll.service,default.target.wants}
    

Ці останні команди змушують блок запускатися автоматично, коли запускається системний сеанс користувача gdm.

  • Перезавантажте для тестування.

Перевірити наявність помилок - трохи непросто, оскільки systemctl має обмеження підключатися до системної сесії або до сеансу, що викликає користувача . Зробити gdm виклику користувача легко за допомогою sudo, але потрібно створити певне середовище, щоб можна було підключитися до його системного сеансу користувача:

$ sudo -u gdm XDG_RUNTIME_DIR="/run/user/$(id -u gdm)" DBUS_SESSION_BUS_ADDRESS="unix:path=${XDG_RUNTIME_DIR}/bus" systemctl --user status drumroll
● drumroll.service - Drumroll
   Loaded: loaded (/var/lib/gdm3/.config/systemd/user/drumroll.service; enabled; vendor preset: enabled)
   Active: inactive (dead) since Tue 2018-06-26 23:35:05 CEST; 36min ago
  Process: 1238 ExecStart=/usr/bin/paplay /usr/share/sounds/ubuntu/stereo/system-ready.ogg (code=exited, status=0/SUCCES
 Main PID: 1238 (code=exited, status=0/SUCCESS)

Я не пробував цього з 17.10, але 18.04, але не бачу причини, щоб це не спрацювало також 17.10.


Швидше за мене! +1!
Фабі

Я також впевнений, що це буде працювати з 17.10. Це застаріло в наступному місяці, так що ОП буде модернізовано до 18.04 незабаром. +1.
WinEunuuchs2Unix
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.