จะระงับด้วยแป้นพิมพ์ลัดได้อย่างไร


11

ฉันต้องการระงับระบบxubuntu (14.04) ของฉันจากแป้นพิมพ์ลัดโดยไม่ต้องป้อนรหัสผ่าน superuser ของฉัน ( sudo ) ฉันกำลังมองหาบรรทัดคำสั่งที่ฉันสามารถแปลงเป็นทางลัดได้

ถึงตอนนี้ฉันได้ลองวิธีแก้ปัญหาสองวิธี:

คำสั่ง Xfce:

xfce4-session-logout --suspend

ปัญหา:ระบบไม่ล็อคเซสชัน ฉันไม่จำเป็นต้องป้อนรหัสผ่านสำหรับการปลุกและฉันต้องการที่จะทำ

Dbus :

dbus-send --print-reply --system --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend

ปัญหา:หลังจากตื่นขึ้นมาการเชื่อมต่ออินเทอร์เน็ตหยุดทำงานและฉันต้องรีบูตระบบเพื่อให้กลับมาทำงานได้

มีวิธีที่สามที่ 1. ถามรหัสผ่านในระหว่างกระบวนการปลุกและ 2. ไม่สับสนกับการเชื่อมต่ออินเทอร์เน็ต?

ในความเป็นจริงทางลัดเริ่มต้นกราฟิก (จากเมนู) ทำงานได้ดี ฉันไม่รู้ว่าบรรทัดคำสั่งใดถูกเรียก

คำตอบ:


8

ฉันเขียนสคริปต์ ดูเหมือนว่าจะทำสิ่งที่คุณขอ:

#!/usr/bin/env zsh
# Custom suspend
#
# (That 'zsh' up there can be switched to 'bash', or 
# pretty much any shell - this doesn't do anything too fancy.)
#
# Dependencies are mostly xfce stuff:
#
#   xbacklight
#   xflock4
#   xfce4-session-logout

# Set how dim we want the screen to go (percentage, out of 100)
dim=5

# Pack up your toys
previous_dimness=$(xbacklight -get)

# Turn down the lights
xbacklight -set $dim

# Lock the door (this requires a password to get back in)
xflock4

# And go to sleep
xfce4-session-logout --suspend

# When we wake up, turn the lights back on
xbacklight -set $previous_dimness

1
+1 สำหรับความคิดเห็นที่ยอดเยี่ยม ฉันคิดว่าฉันจะใช้สคริปต์นี้เมื่อฉันติดตั้ง Ubuntu
สัญลักษณ์แทน

ฉันขอโทษ แต่ฉันควรวางสคริปต์นี้ไว้ที่ไหน ฉันจะเชื่อมต่อกับแป้นพิมพ์ลัด (เช่น ctrl + alt + s) ได้อย่างไร ฉันกำลังใช้ Lubuntu
hipoglucido

ในทางเทคนิคคุณสามารถใส่สคริปต์ได้ทุกที่ ฉันมีถังขยะ / ไดเรกทอรีภายใต้ไดเรกทอรีบ้านของฉันเพียงแค่สคริปต์ส่วนบุคคลเช่นนี้ที่ฉันต้องการใช้ ในกรณีนี้เส้นทางไปยังสคริปต์คือ: / home / <username> / bin / custom-suspend คุณจะต้องแน่ใจว่าสคริปต์นั้นทำงานได้ วิธีหนึ่งในการทำเช่นนั้นคือการเรียกใช้คำสั่งต่อไปนี้: $ chmod + x / home / <username> / bin / custom-suspend เพื่อให้ทางลัดภายใต้ LXDE (ซึ่ง Lubuntu) ใช้คุณควรจะสามารถค้นหาบางสิ่งเช่น 'keyboard' จากเมนูเริ่มต้นซึ่งควรแสดงแอพกำหนดค่าแป้นพิมพ์
Jon Carter

4

คุณสามารถส่งคำสั่งเพื่อล็อคหน้าจอก่อนแล้วจึงระงับ:

xscreensaver-command -lock ; xfce4-session-logout --suspend

สำหรับการใช้งานของxscreensaver-commandรันxscreensaver-command --help


ใช้งานได้จากบรรทัดคำสั่ง (แม้ว่าหน้าจอล็อคไม่จำเป็นเนื่องจากเป็นแบบอัตโนมัติด้วยการหยุดทำงานชั่วคราว) แต่ไม่ได้เป็นทางลัดแอปพลิเคชันแป้นพิมพ์ (อย่างน้อยกับ Ubuntu 12.04) อย่างไรก็ตามแอพ Xfce สำหรับล็อคหน้าจอคือ xflock4 (ไม่มีส่วนใด ๆ ) ซึ่งโดยค่าเริ่มต้นจะถูกผูกไว้กับ control-alt-delete
BobDoolittle

xscreensaver-commandดูเหมือนว่าจะหายไปใน 15.10
Jesse Glick

@JesseGlick - เพียงแค่ติดตั้งxscreensaverแพคเกจ
วิลฟ์

2

ผิดปกติพอxfce4-session-logout --suspendทำงานได้ดีและระบบของฉันคือ xubuntu 14.04 นอกจากนี้ยังล็อคเซสชันแม้ว่าฉันได้เปิดตัวเลือก "ล็อคหน้าจอก่อนนอน" ให้ไปที่การตั้งค่า -> เซสชันและการเริ่มต้น -> ขั้นสูงและตรวจสอบว่าเปิดอยู่หรือไม่


ใช้งานได้จากบรรทัดคำสั่ง (แม้ว่าหน้าจอล็อคไม่จำเป็นเนื่องจากเป็นแบบอัตโนมัติด้วยการหยุดทำงานชั่วคราว) แต่ไม่ได้เป็นทางลัดแอปพลิเคชันแป้นพิมพ์ (อย่างน้อยกับ Ubuntu 12.04)
BobDoolittle

มันควรจะทำงานในx ubuntu ไม่ใช่ ubuntu ฉันไม่แน่ใจว่าทำไมคุณถึงมีxfce4-session-logoutคำสั่ง
Ufos

เรากำลังพูดถึง Xfce ซึ่งสามารถเพิ่มในการแจกจ่ายอูบุนตูใด ๆ Xubuntu เป็นเพียงความสะดวกสบายที่เกิดขึ้นกับแพ็คเกจ Xfce ที่เพิ่มเข้ามาและกำหนดให้เป็นเดสก์ท็อป คุณสามารถเริ่มต้นด้วยอูบุนตูและเพิ่ม / กำหนดค่าเอง ความแตกต่างของ xubuntu / ubuntu นั้นเป็นปลาเฮอริ่งแดงที่นี่
BobDoolittle

ทำงานได้ดีสำหรับฉันด้วยการล็อกหน้าจอใน Xubuntu 15.10
Jesse Glick

0

คำสั่งนี้ใช้งานได้สำหรับฉัน: ฉันเพิ่งสร้าง launcher สำหรับเดสก์ท็อปและตั้งค่าไอคอน Shutdown สำหรับสิ่งนั้น ใส่คำสั่งนี้ในคำสั่งยื่น:

dbus-send --print-reply --system --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend

เวลากำปั้นขอให้ฉันทำให้ปฏิบัติการและหลังจากนั้นทำงานได้ดีมาก

ฉันใช้ wicd สำหรับการเชื่อมต่ออินเทอร์เน็ตและมันก็ทำงานได้ดีเช่นกันหลังจากตื่นขึ้นมา!


Xubuntu 15.10:Error org.freedesktop.DBus.Error.UnknownMethod: Method "Suspend" with signature "" on interface "org.freedesktop.UPower" doesn't exist
Jesse Glick

0

หากคุณใช้แล็ปท็อปและต้องการเพียงปุ่มกด คุณสามารถใช้ปุ่มเปิดปิด พฤติกรรมที่สามารถตั้งค่าได้จากการตั้งค่าพลังงาน:

  1. เปิดเครื่องมือจัดการการตั้งค่า (หรือตามคำสั่ง: xfce4-settings-manager)
  2. เปิดการตั้งค่า Power Manager
  3. โดยทั่วไป: ตั้งค่าเมื่อกดปุ่มเพาเวอร์เพื่อถาม
  4. ปิดการตั้งค่า Power Manager

หากคุณติดตั้งสคริปต์ ACPI ให้ปิดใช้งานหรืออัปเดตสคริปต์ปุ่มเปิดปิดจาก

/etc/acpi/events/, and change the action field to /bin/true:
# EXAMPLE
event=button/power.*
#action=/usr/lib/acpid/power_button
action=/bin/true

Ref: https://wiki.xfce.org/tips#solution_2

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