ฉันจะล็อกหน้าจอเดสก์ท็อปผ่านบรรทัดรับคำสั่งได้อย่างไร


คำตอบ:


82

คุณสามารถล็อคคอมพิวเตอร์โดยทำงานgnome-screensaver-commandกับ-lธงเช่นดังนั้น:

gnome-screensaver-command -l

อย่างไรก็ตามวิธีนี้จะใช้ได้เฉพาะในกรณีที่คุณมีสกรีนเซฟเวอร์ของ Gnome ที่ใช้งานในเซสชันของคุณ (ควรเป็น - เว้นแต่คุณจะปิดใช้งาน) คุณสามารถเริ่มต้นได้จาก commandline ด้วย:

gnome-screensaver

10
cinnamon-screensaver-command -lสำหรับอบเชย! ;))

4
เช่นเดียวกันใช้mate-screensaver-command -lสำหรับเดสก์ท็อป MATE
alanaktion

28
gnome-screensaver-command -l

หากคุณอยู่ในเซสชั่น (เดสก์ท็อป) ที่แตกต่างกัน (เช่นคอนโซลเสมือนเปลี่ยนเป็นล็อกอินอื่น SSH) ให้ระบุการแสดงผลอย่างชัดเจน ( :0เป็นการแสดงผลเริ่มต้น):

DISPLAY=:0 gnome-screensaver-command -l

หากต้องการปลดล็อกให้ใช้ตัวเลือก-d( --deactivate)


1
คุณช่วยอธิบายฉันด้วยตัวเลือก DISPALY =: 0 ได้ไหม
Renjith G

1
ขออภัยสำหรับภาษาอังกฤษของฉัน ... DISPLAY เป็นตัวแปรและกำหนดว่าจะแสดงโปรแกรม X Window System อย่างไร (อาจเป็นอีกจอภาพหนึ่ง) ใน TTY ตัวแปรนี้ว่างเปล่า โดยค่าเริ่มต้นการแสดงผลแรกคือ ": 0.0" ดังนั้นให้ใช้ DISPLAY =: x หน้าคำสั่งของคุณระบุว่าจอแสดงผลใดรันคำสั่ง และใช้ DISPLAY =: 0 หรือ DISPLAY =: 0.0 หมายถึง: เรียกใช้โปรแกรมในจอแสดงผลแรก
ตัด

@ RenjithG นี้ค่อนข้างชัดเจนถ้าคุณคิดเกี่ยวกับมันโปรดอย่าหยาบคายกับผู้เขียนความคิดเห็นก่อนหน้านี้
ζ--

งานนี้สมบูรณ์แบบขอบคุณ! ตอนนี้ฉันสามารถเพิ่มแป้นพิมพ์ลัดเพื่อแก้ไขคำสั่งล็อคหน้าจอที่เสียหาย
domih


8

ใน GNOME 3 รุ่นที่ใหม่กว่าgnome-screensaverไม่มีอีกแล้ว

โซลูชันทั่วไปน่าจะเป็น

xdg-screensaver lock

คุณยังสามารถโทรหา dbus โดยตรงแทน (ที่มา ):

dbus-send --type=method_call --dest=org.gnome.ScreenSaver /org/gnome/ScreenSaver org.gnome.ScreenSaver.Lock

นอกจากนี้ยังดูเหมือนว่าพวกเขาได้เอาไปได้ที่จะยกเลิกการล็อคหน้าจอจากบรรทัดคำสั่ง


ใช่. คำตอบที่ดีมาก คำสั่งเดียวในการปกครองพวกมันทั้งหมด! :-)
solsTiCe


1

นี่คือวิธีที่จะทำให้สำเร็จ (เพิ่มวิธีที่รวดเร็วด้านล่าง):

เพื่อให้ง่ายยิ่งขึ้นในการล็อคคุณสามารถเพิ่มสคริปต์ที่ปฏิบัติการได้ให้กับเส้นทางที่เรียกได้ว่าเรียกว่า "ล็อค" จากนั้นการล็อคหน้าจอของคุณจะง่ายเหมือนการพิมพ์ "ล็อค" ใน cli

นี่คือวิธีการ:

mkdir ~/bin

vim ~/bin/lock

#!/bin/bash
gnome-screensaver-command -l

บันทึกและออก

chmod +x ~/bin/lock

อย่าลืมเพิ่ม ~ / bin ใน ~ / .profile ของคุณ - จดจุดที่จุดเริ่มต้นของชื่อไฟล์ด้วยความระมัดระวังหนึ่งคำเกี่ยวกับสิ่งนี้ตรวจสอบให้แน่ใจว่าคุณได้เพิ่มลงในไฟล์ที่ถูกต้อง นี่คือสิ่งที่. profile พูดเกี่ยวกับ:

# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.

ดังนั้นคุณต้องการตรวจสอบก่อนว่าไฟล์ดังกล่าวข้างต้นมีอยู่ในไดเรกทอรีบ้านของคุณคุณควรเพิ่มที่นั่นหากพวกเขาไม่อยู่แล้วเพิ่มเส้นทางไปยังถังขยะไปยัง. profile

vim ~/.profile # or one of the the other files if they exist

ผนวกต่อไปนี้ในตอนท้าย:

# set PATH so it includes user's private bin directories
PATH="$HOME/bin:$HOME/.local/bin:$PATH"

ณ จุดนี้คุณสามารถเปิดทางลัดต่อไปนี้จาก cli

you@yourUbuntu:~$ lock

[แก้ไข] นี่คือวิธีที่ง่ายและรวดเร็วในการทำ: เพิ่มนามแฝงในไฟล์ ~ / .bashrc ของคุณซึ่งจะถูกดำเนินการทุกครั้งที่เปิดเชลล์ดังนั้นจึงมั่นใจได้ว่า Alias ​​จะยังคงอยู่:

vim ~/.bashrc
# set lockscreen
alias lock="gnome-screensaver-command -l"

ผลลัพธ์เหมือนกัน แต่เร็วกว่า


0

นอกจากนี้ยังมีระบบสาธารณูปโภคแบบเรียบง่ายจำนวนมากที่ล็อคเท่านั้นจริงๆพวกเขาไม่ได้ทำอะไรอย่างอื่น (สิ่งนี้จะมีความปลอดภัยมากกว่าเช่นเดียวกับการรักษาซอฟต์แวร์โดยทั่วไปจะทำให้มีข้อบกพร่องน้อยลง)

ตัวอย่างเช่น:

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