วิธีนำเสียงกลองย้อนกลับใน 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-reconfigure lightdm
Artyom

ถ้าเราจะติดตั้งและใช้ lightdm และถ้ามันไม่ทำงานและถ้าเราต้องการกลับไปที่ gdm3 เราจะทำอย่างไร ฉันสงสัย (ไม่มีหลักฐาน) ว่าปัญหาที่เราเห็นในขณะนี้กับดรัมโรลเป็นข้อผิดพลาด (ค่อนข้างน้อย) กับ 17.10
Richard Fuhr

apt purge lightdm, dpkg-reconfigure gdm3
Artyom

lightdm ขึ้นอยู่กับแพ็คเกจจำนวนมากซึ่งควรถูกผลักออกจาก xwayland เช่น xserver-xorg *, unity * และอื่น ๆ พวก gdm กำลังทำอะไร?
funicorn

โปรดบอกเราว่าคำตอบนั้นเหมาะกับคุณหรือไม่ดังนั้นริชาร์ดก็เลยสามารถเอาเงินรางวัลนี้ใส่ลงไปได้! ;-)

คำตอบ:


11

นี่คือวิธีการใช้หน่วยผู้ใช้ systemd ที่เรียกใช้จากไดเรกทอรีหลักของผู้ใช้ 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
    

หน่วย systemd ข้างต้นควรตรวจสอบให้แน่ใจว่า pulseaudio เริ่มทำงานในบริบทผู้ใช้ gdm และดำเนินการpaplayคำสั่ง (ฉันไม่ได้ลองcanberra-gtk-playแต่ฉันคิดว่ามันทำงานได้ดีเช่นกัน)

After=systemd-user-sessions.serviceจะทำให้บริการเริ่มต้นหลังจากระบบพร้อมสำหรับการล็อกอินของผู้ใช้ (ดูhttp://manpages.ubuntu.com/manpages/artful/man8/systemd-user-sessions.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}
    

คำสั่งสุดท้ายเหล่านั้นทำให้หน่วยเริ่มต้นโดยอัตโนมัติเมื่อเซสชัน systemd ของผู้ใช้ gdm เริ่มต้นขึ้น

  • รีบูตเครื่องเพื่อทดสอบ

ในการตรวจสอบข้อผิดพลาดเป็นเรื่องยุ่งยากเล็กน้อยเนื่องจาก systemctl มีข้อ จำกัด ในการเชื่อมต่อกับเซสชันระบบหรือเซสชันผู้ใช้ที่โทรมา ในการทำให้ gdm ผู้ใช้ที่โทรทำได้ง่ายด้วย sudo แต่ต้องตั้งค่าสภาพแวดล้อมบางอย่างเพื่อให้สามารถเชื่อมต่อกับเซสชันผู้ใช้ systemd:

$ 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!
Fabby

ฉันยังแน่ใจว่ามันจะทำงานกับ 17.10 มันล้าสมัยในเดือนหน้าดังนั้น OP จะอัปเกรดเป็น 18.04 ในไม่ช้า +1
WinEunuuchs2Unix
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.