วิธีการระงับจากบรรทัดคำสั่งเช่นหน้าจอที่ถูกล็อค?


10

ฉันใช้ Xubuntu 12.04 ใน Power Manager ฉันได้ตรวจสอบ Extended -> Lock screen เมื่อไปที่ suspend / hibernate หากฉันเลือกที่จะระงับจากเมนูหลัก / แผง 1 หน้าจอจะถูกล็อค อย่างไรก็ตามถ้าฉันใช้dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Suspend(ดูที่ฉันจะระงับ / จำศีลจากบรรทัดคำสั่งได้อย่างไร ; ฉันใช้คำสั่งนี้ผ่านแป้นพิมพ์ลัด) หน้าจอจะไม่ถูกล็อค ฉันจะ (1) ระงับระบบได้อย่างไร (2) ให้ล็อคหน้าจอในเวลาเดียวกัน (3) ไม่ต้องการสิทธิ์รูทในการทำเช่นนั้น [เนื่องจากฉันต้องการให้คำสั่งถูกกำหนดให้กับแป้นพิมพ์ลัด]

คำตอบ:


10

คุณสามารถทำได้โดยใช้สิ่งต่อไปนี้:

gnome-screensaver-command --lock && dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Suspend

ในแป้นพิมพ์ลัดคุณจะต้องทำการsh -c "<command>"แทนที่<command>ด้วยคำสั่งด้านบนเช่น:

sh -c "gnome-screensaver-command --lock && dbus-send --system --print-reply --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend"

หากคำสั่งดังกล่าวใช้งานไม่ได้คุณสามารถลองใช้เชลล์สคริปต์ไฟล์ (ตัวอย่างsuspend_lockscreen.sh) ขั้นแรกให้สร้างไฟล์เรียกคำสั่งต่อไปนี้ในคอนโซล:

cd ~
echo "gnome-screensaver-command --lock" >> suspend_lockscreen.sh
echo "dbus-send --system --print-reply --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend" >> suspend_lockscreen.sh
chmod +x suspend_lockscreen.sh

ที่จะสร้างไฟล์ชื่อ suspend_lockscreen.sh ในโฟลเดอร์โฮมของผู้ใช้ ./suspend_lockscreen.shจากนั้นในทางลัดเพียงโทร:

หมายเหตุ: gnome-screensaver-commandสามารถถูกแทนที่โดยxscreensaver-commandชี้ไปที่ความคิดเห็นเดียว


Nope มันไม่เพียงล็อคหน้าจอและลืมเกี่ยวกับการระงับได้ตามความคิดเห็นที่ทำในคำตอบที่ฉันทำ;)
Rinzwind

1
อ่าดี ฉันเพิ่งรู้ว่าgnome-screensaver-commandสามารถถูกแทนที่ด้วยxscreensaver-commandดังนั้นไม่จำเป็นต้องติดตั้งเพิ่มเติม หากไม่มี&& dbus-send...ส่วนหนึ่งก็จะล็อค (โดยไม่ต้องระงับ); กับมันคนหนึ่งได้รับการระงับด้วยการล็อคในการปลุก สมบูรณ์
Marius Hofert

น่าเสียดายที่คำสั่งใช้งานได้จากเทอร์มินัล แต่ไม่ได้มาจากแป้นพิมพ์ลัดที่ฉันกำหนด :-( คุณรู้หรือไม่ว่าอาจมีปัญหาอะไรบ้าง
Marius Hofert

@MariusHofert ฉันได้อัปเดตคำตอบพร้อมกับวิธีการใช้คำสั่งจากแป้นพิมพ์ลัด ดูว่ามันทำงานได้ตามที่คุณต้องการ (ฉันทดสอบใน Ubuntu 12.04 และใช้งานได้)
amfcosta

ยังคงเป็นปัญหาเดิม: การล็อคใช้งานได้; การระงับไม่ได้ (Xubuntu 12.04)
Marius Hofert

2

ฉันใช้คำสั่ง dbus ของ amfcosta เพื่อระงับจากบรรทัดคำสั่ง อย่างไรก็ตามเมื่อกลับมาทำงานต่อ eth0 ก็หยุดทำงาน

ฉันพบคำสั่งนี้แล้ว:

xfce4-session-logout --suspend

คำสั่งนี้ปิดใช้งานเครือข่ายหยุดชั่วคราวและเปิดใช้งานเครือข่ายอีกครั้งเมื่อคอมพิวเตอร์กลับมาทำงานอีกครั้ง

xfce4-session-logoutเฉพาะ xfce แต่สภาพแวดล้อมเดสก์ทอปอื่น ๆ อาจมี*-session-logoutคำสั่งที่คล้ายกัน

ฉันใช้ Xubuntu 14.04

อัปเดต: สิ่งนี้อาจไม่ส่งผลกระทบต่อผู้อื่น แต่ปรากฎว่าใน Asus EEE 900 ของฉันการเชื่อมต่ออีเธอร์เน็ตแบบใช้สายใช้งานได้ทุกครั้งที่ EEE ตื่นเท่านั้น แน่นอนว่ามันน่ารำคาญมากและหมายความว่าการระงับไม่สามารถใช้งานได้


1

ด้วย Ubuntu 15.10 สิ่งนี้ก็ใช้ได้เช่นกัน:

gnome-screensaver-command --lock && systemctl -i suspend

0

หมายเหตุ: ใช้xscreensaver-commandงานได้เฉพาะกับตัวเลือก-lock(ที่มียัติภังค์ 1 อันไม่ใช่สองเท่าgnome-screensaver-command) แต่คำสั่งใช้งานได้เฉพาะเมื่อสกรีนเซฟเวอร์กำลังทำงานดังนั้นจึงไม่มีประโยชน์มาก

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