मैं कमांड लाइन से नए लॉकस्क्रीन का उपयोग करके स्क्रीन को कैसे लॉक कर सकता हूं?


19

Ubuntu 14.04 एक नया लॉकस्क्रीन पेश करता है जो लॉगिन स्क्रीन के समान दिखता है।

नई लॉकस्क्रीन

मैं अभी भी कमांड का उपयोग करके स्क्रीन को लॉक करने में सक्षम gnome-screensaver-command --lockहूं (जैसा कि मैंने हमेशा पहले किया था), जो 14.04 के तहत स्क्रीन को लॉक करता है, लेकिन:

  • यदि आप इसे डेस्कटॉप से ​​चला रहे हैं, तो यह नए लॉकस्क्रीन का उपयोग करके स्क्रीन को लॉक कर देता है।
  • यदि आप इसे वर्चुअल कंसोल या SSH के माध्यम से चला रहे हैं, तो यह स्क्रीन को पुराने लॉकस्क्रीन का उपयोग करके लॉक कर देता है

मैंने भी उपयोग करने की कोशिश की है xdg-screensaver lock, लेकिन यह उसी तरह से काम करता है, जैसा gnome-screensaver-command --lockकि (डेस्कटॉप से ​​चलने पर नया लॉकस्क्रीन का उपयोग करता है)।

चलाने से light-locker-command --lockकाम नहीं चला , जैसा light-lockerकि स्थापित नहीं है।

मुझे लगता है कि डेस्कटॉप से ​​एक ही कमांड चलाने और SSH / वर्चुअल कंसोल के माध्यम से इसे चलाने के बीच कुछ अंतर होना चाहिए, लेकिन मैं पर्यावरण चर में कोई अंतर नहीं पा रहा था।

तो, मेरा सवाल यह है: मैं नई एकता लॉकस्क्रीन का उपयोग करके स्क्रीन को कैसे लॉक कर सकता हूं और कमांड लाइन से पुराने लॉकस्क्रीन को नहीं?

यह प्रश्न संभवतः संबंधित है क्योंकि यह नए कमांड के लिए कहता है जिसे उपयोग करने की आवश्यकता है, इसलिए यहां एक और प्रश्न है: एक ही लॉक कमांड को चलाने से अलग परिणाम क्यों मिलते हैं?

ध्यान दें कि gnome-screensaverहै 14.04 में अब और नहीं किया जा रहा, के अनुसार इस बग रिपोर्ट :

यह वास्तव में एक गैर-स्क्रीनसेवर बग नहीं है, उस घटक को भरोसेमंद रूप से इस्तेमाल किया जाना बंद हो गया है।


2
मेरी भी जानने की इच्छा होगी। उपयोग करना dm-tool lockकरीब आता है: यह स्क्रीन को लॉक कर देता है, लेकिन (डिफ़ॉल्ट एकता लॉक स्क्रीन के विपरीत) आपको उपयोगकर्ताओं को स्विच करने की भी अनुमति देता है।
ऐबरा

2
dm-tool lockऔर dm-tool switch-to-greeterएक ही काम करते हुए प्रतीत होता है: आपको लॉग इन स्क्रीन (अभिवादन) पर वापस ले जाता है, जो लॉकस्क्रीन के लिए बहुत ही आकर्षक लगता है।
लेओ लाम

जवाबों:


14

मैंने gnome-screensaverस्थापित नहीं किया है, और केवल कमांड मैं पा सकता हूं कि यह काम है:

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


5
qdbus org.gnome.ScreenSaver /org/gnome/ScreenSaver org.gnome.ScreenSaver.Lock
कुंभ पावर

यह काम करता था, लेकिन यह 15.10: /
लेओ लाम

@ LéoLam क्या आप एक लाइव एलसीडी इमेज का उपयोग कर रहे हैं? मैं अभी भी 14.04 का उपयोग कर रहा हूं, लेकिन मैंने 15.10 में अपनी कमांड और कुंभ पावर दोनों का परीक्षण किया और उन्हें काम करने के लिए मिला। हालाँकि, मुझे लॉक स्क्रीन को इस कमांड के माध्यम से काम करने के लिए सक्षम करना थाgsettings set org.gnome.desktop.lockdown disable-lock-screen false
ऐबरा

नहीं, यह एक असली Ubuntu स्थापित पर है। gsettings get org.gnome.desktop.lockdown disable-lock-screenलौटता है false। अब डब-सेंड चलाते समय कोई आउटपुट नहीं है। शायद काम करने के लिए सूक्ति-स्क्रीनसेवर की आवश्यकता है?
लेओ लाम

1
कृपया मेरे उत्तर देखें, शायद 15.10 ने org.gnome.ScreenSaverdbus इंटरफ़ेस का उपयोग करना छोड़ दिया है, इसलिए शायद एकता के dbus इंटरफ़ेस के साथ संवाद करना बेहतर है
Sergiy Kolodyazhnyy

3

स्वीकार किए गए उत्तर में सही विचार है, सिवाय इसके कि लॉकस्क्रीन एकता पैनल से संबंधित है, जबकि org.gnome.ScreenSaverस्पष्ट रूप से एक ज्ञानी-संबंधित प्रकार का स्कीमा है, इसलिए यह काम कर सकता है या नहीं।

हालांकि एकता के लिए एक डब इंटरफ़ेस मौजूद है, और हम सभी को इस com.canonical.Unity.Session.Lockतरह से इस पद्धति को कॉल करने की आवश्यकता है

qdbus com.canonical.Unity  /com/canonical/Unity/Session com.canonical.Unity.Session.Lock

साइड नोट :

इस तथ्य का प्रमाण कि यह एकता पैनल से संबंधित है सरल है, जब आपके पास स्क्रीन लॉक होती है, तो प्रक्रिया /usr/lib/unity/unity-panel-serviceको 1 /usr/lib/unity/unity-panel-service --lock-modeसे मनाया जा सकता है।


यह एक ग्राफिकल सत्र में काम करता है, लेकिन मैन्युअल रूप से $ DISPLAY सेट करते समय भी SSH सत्र में विफल रहता है। "सेवा 'com.canonical.Unity' मौजूद नहीं है।"
लेओ लाम

यह DISPLAYचर के साथ कुछ नहीं करना है , लेकिन dbus के साथ। मुझे इस बारे में जानकारी नहीं है कि ssh यूनिटी के पास एक dbus सत्र है या नहीं, इसलिए मैं उस हिस्से में आपकी मदद नहीं कर सकता। मैं इधर-उधर पूछूंगा लेकिन अभी तक उतना ही है जितना मैं कह सकता हूं।
सर्गी कोलोडियाज़नी

उससे dbus-launch --exit-with-session gnome-terminalपहले दौड़ने की कोशिश करो । serverfault.com/a/411326
सर्जियो कोलोडियाज़नी

X के अंदर चलने वाले स्क्रीन / tmux सत्र से भी जुड़ सकते हैं और वहां से कमांड चला सकते हैं। मेरे अंतिम वर्कअराउंड को vterm से सही dbus सत्र से जोड़ने के लिए किया गया था।
इरिडन

2

मुझे हाल ही में पता चला है कि यह xdg-screensaver lock काम करता है और काफी सरल उपाय भी है!


ओपी में यह उल्लेख है कि यह सभी मामलों में काम नहीं करता है। केवल जब आप इसे GUI से टर्मिनल में स्थानीय रूप से चला रहे हों।
लेओ लैम

मेरे लिए एक SSH सत्र में दूर से 18.04 LTS मशीन में काम किया।
बेंजामिन आर

1

आप हमेशा कीस्ट्रोक्स भेज सकते हैं xdotool key super+l:।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.