กำลังมองหาตัวเลือกที่คล้ายกัน .. การตั้งค่าคำตอบแรกนั้นไม่ได้ผลสำหรับฉันบน Ubuntu Mate 16.04 .. อาจเป็นเพราะเมื่อ Mate 16.04 เปิดตัวแล้ว systemd ก็ไม่ได้รับการยอมรับอย่างเต็มที่
อย่างไรก็ตามฉันคิดวิธีแก้ปัญหาการจี้/etc/acpi/powerbtn.sh
ด้วยคำสั่ง mate-screensaver-command ต่อไปนี้
:
sudo -u $USERNAME DISPLAY=:0 mate-screensaver-command -l && systemctl suspend
ดังนั้นการเริ่มต้นของฉัน/etc/acpi/powerbtn.sh
:
#!/bin/sh
# /etc/acpi/powerbtn.sh
# Initiates a shutdown when the power putton has been
# pressed.
#shutdown -h now
#loginctl lock-session && systemctl suspend
sudo -u $USERNAME DISPLAY=:0 mate-screensaver-command -l
โปรดทราบว่าต้องดำเนินการแทนที่ $ USERNAME ด้วยตัวคุณเอง ส่วนตัวฉันจะรหัสชื่อผู้ใช้ยากบนเครื่องที่มีผู้ใช้คนเดียว โปรดเลือกวิธีที่คุณต้องการกำหนดผู้ใช้ที่สามารถเรียกใช้คำสั่ง อาจใช้บางอย่างเช่น $ LOGNAME (ค่าเริ่มต้น env บน Ubuntu Mate เมื่อเรียกใช้ 'printenv')
sudo -u $LOGNAME DISPLAY=:0 mate-screensaver-command -l
ฉันรู้ว่านี่ไม่ได้ตอบคำถามสำหรับการเปิดใช้งานปุ่มสลีปและแทนที่ฟังก์ชั่นปุ่มปิดเครื่อง แต่สำหรับฉันมันทำงานได้อย่างสมบูรณ์ ฉันคิดว่ามันจะง่ายพอที่จะแก้ไข/etc/acpi/powerbtn.sh
ไฟล์เพื่อเข้าบัญชีถ้าผู้ใช้อยู่ในหน้าจอล็อคหรือเข้าสู่ระบบ จึงทำให้ปุ่มปิดทำงานตามปกติเมื่อเข้าสู่ระบบ