कमांड लाइन का उपयोग करके लॉगिन स्क्रीन अनलॉक करें


30

क्या कमांड लाइन से 13.04 सूक्ति शैल लॉगिन स्क्रीन को अनलॉक करना संभव है? एक उपयोगकर्ता सूक्ति शेल में लॉग इन है, मैं इस उपयोगकर्ता के रूप में कंसोल में लॉग इन कर सकता हूं। मेरा रूट एक्सेस भी है।

यह पासवर्ड दर्ज किए बिना, VNC के माध्यम से एक सक्रिय X11 डिस्प्ले तक पहुंचने के लिए है।

निष्पादित

gnome-screensaver-command -d

एक ब्लॉग पोस्ट में सुझाव के रूप में मदद नहीं की।

प्रवेश पट


क्या ssh आपको कोई आउटपुट या त्रुटि फेंक रहा है?
ब्रिअम

@Braiam: मैं कर सकता हूँ ssh, यह समस्या नहीं है। यह VNC के माध्यम से एक सक्रिय X11 डिस्प्ले तक पहुंचने के लिए है, लेकिन पासवर्ड दर्ज किए बिना।
krlmlr

जवाबों:


33

मैं मान रहा हूँ कि आपके पास हाल ही में एक Linux सिस्टम है systemd(जैसे Ubuntu 16.04 या नया)।

यदि आपको अपना स्वयं का सत्र अनलॉक करने की आवश्यकता है , तो बस चलाएं loginctl unlock-session(कोई रूट आवश्यक नहीं है क्योंकि यह आपका अपना सत्र है)। यदि आपके पास कई सत्र हैं और आप सिर्फ एक का चयन करना चाहते हैं, loginctl list-sessionsसत्र की पहचान करने के लिए दौड़ें और फिर उदा loginctl unlock-session c187

यदि आपको सभी सत्रों को अनलॉक करने की आवश्यकता है , तो बस चलाएं sudo loginctl unlock-sessions। ध्यान दें कि यह तुरंत सभी सत्रों को अनलॉक कर देगा चाहे उपयोगकर्ता स्क्रीन सेवर चला रहा हो।


यदि आपको सही सत्र की पहचान करने के लिए अधिक जानकारी की आवश्यकता है, तो आप कुछ इस तरह की कोशिश कर सकते हैं:

loginctl list-sessions --no-legend | while read id rest; do echo; loginctl show-session $id; done

3
यह एकमात्र उत्तर है जो 16.04 पर काम करता है
नींबू

स्पष्ट रूप से
सूडो

1
आप की जरूरत है sudoअगर तुम (अपने प्रयोक्ता आईडी के साथ नहीं चल सत्रों सहित) सभी सत्रों के अनलॉक स्क्रीन सेवर करना चाहते हैं।
मिकको रैंटलैनेन

अंतिम sमें भी ध्यान दें unlock-sessions। यदि आप केवल अपने स्वयं के सत्र को अनलॉक करना चाहते हैं, तो बस करें loginctl unlock-session
मिकको रैंटलैनेन

2
यह स्वीकृत उत्तर होना चाहिए!
ब्राइस

16

gnome-screensaver-commandSSH सत्र से कमांड को निष्पादित करने में समस्या आमतौर पर यह है कि वे सक्रिय डेस्कटॉप सत्र के लिए स्वचालित रूप से उपयुक्त सत्र बस से कनेक्ट नहीं होते हैं - आमतौर पर, DISPLAY चर सेट करने से यह ठीक हो जाएगा, उदाहरण के लिए ये काम मेरे लिए (लॉग इन के माध्यम से) SSH वही उपयोगकर्ता जो लॉक एक्स सत्र का मालिक है, जो प्रदर्शन पर है: 0):

$ DISPLAY=:0 gnome-screensaver-command -d

अनलॉक करने के लिए, और

$ DISPLAY=:0 gnome-screensaver-command -l

बंद करना।

वैकल्पिक रूप से, आप सक्रिय राज्य का उपयोग कर सकते हैं dbus-send- उदाहरण के लिए

$ export DISPLAY=:0
$ dbus-send --session \
          --dest=org.gnome.ScreenSaver \
          --type=method_call \
          --print-reply \
          --reply-timeout=20000 \
          /org/gnome/ScreenSaver \
          org.gnome.ScreenSaver.SetActive \
          boolean:false

स्रोत: https://people.gnome.org/~mccann/gnome-screensaver/docs/gnome-screensaver.html#gs-examples


1
दुर्भाग्य से, इन विधियों में से किसी ने भी मेरे सिस्टम पर स्थापित विशेष स्क्रीन लॉक को अनलॉक नहीं किया (स्क्रीनशॉट देखें)। मैं कैसे पा सकता हूं कि स्क्रीन को लॉक करने के लिए कौन सी प्रक्रिया जिम्मेदार है?
krlmlr

1
क्या कमांड एक त्रुटि लौटाते हैं? यदि ऐसा है तो कृपया इसे पोस्ट करें। यह देखने के लिए कि क्या कोई अलग स्क्रीनसेवर चल रहा है, आप कोशिश कर सकते हैं ps -fu <username> | grep saver- यह संभव है कि xscreensaverइसका उपयोग किया जा रहा है gnome-screensaver, जिस स्थिति में आप कोशिश कर सकते हैं DISPLAY=:0 xscreensaver-command -deactivate
इस्पात

1
मैंने उबंटू 14.04 पर इस उत्तर का परीक्षण किया। यह काम नहीं करता है। यह स्क्रीन को अनब्लॉक करता है, लेकिन स्क्रीन लॉक रहती है।
कैस्परल्ड

5

निम्नलिखित ने मेरे लिए काम किया:

sudo killall gnome-screensaver

विशेष रूप से तब सहायक होता है जब आप SSH के माध्यम से किसी अन्य उपयोगकर्ता से लॉग इन होते हैं।


पुष्टि की गई, मुझे यह समस्या थी जब कीबोर्ड अनलॉक स्क्रीन पर टाइप नहीं कर रहा था, लेकिन CTRL + ALT + F3 का उपयोग करके टर्मिनल पर स्विच करने में सक्षम था और इस स्क्रीनसेवर हत्यारे ने मदद की। फिर मैं बस CTRL + ALT + F2 वापस उस सत्र में चला गया :)
jave.web

यह तब काम करता है जब X2Go लॉक स्क्रीन दिखा रहा है और प्रतिक्रिया नहीं दे रहा है :)
6

1

मुझे एक समस्या के बारे में एक समस्या थी, जो कि गनोम 3 के स्क्रीन लॉक (स्क्रीनसेवर) को एक खाली स्क्रीन पर अटक जाने से रोकती थी। मैंने इसके चारों ओर सूक्ति-शेल विंडो प्रबंधक की जगह काम किया ।

Ctrl + Alt + F1 और फिर वर्चुअल कंसोल पर लॉग इन करें:

pkill -QUIT gnome-shell
DISPLAY=:0.0 gnome-shell -r &

( &नए सूक्ति-शेल को पृष्ठभूमि देता है ताकि आप वर्चुअल कंसोल से बाहर निकल सकें और इसे चालू रख सकें। वैकल्पिक रूप से gnome-shell प्रक्रिया को स्थगित bgकरने के लिए और इसे पृष्ठभूमि के लिए Ctrl + Z का उपयोग करें ।)

यह सुरुचिपूर्ण नहीं हो सकता है, लेकिन इसने मुझे आखिरकार अपने डेस्कटॉप ऐप पर वापस जाने की अनुमति दी है, जिसमें मुझे सम्मोहन करने के लिए मजबूर नहीं किया गया है।


धन्यवाद, मैं कोशिश करूँगा और देखूंगा कि क्या gnome-shellमेरे लिए काम करना फिर से शुरू होता है।
krlmlr

1

मुझे ऐसी ही समस्या थी जहाँ अनलॉक स्क्रीन कभी-कभी कीबोर्ड इनपुट को स्वीकार नहीं करती थी। जिस तरह से मैंने आखिरकार इसे हल किया वह कई gnome-screensaver प्रक्रियाओं को मारने के लिए था जो चल रहे थे, साथ ही साथ एक gnome-screensaver-dialogप्रक्रिया भी। मैं अनुमान लगा रहा हूं कि जो भी प्रक्रिया 2 सूक्ति-स्क्रीनसेवर सत्रों को जन्म दे रही थी वह मेरी अनलॉक स्क्रीन को गड़बड़ कर रही थी। मैं वास्तव में इसके बजाय xscreensaver का उपयोग करने वाला हूं, इसलिए शायद इसके साथ गड़बड़ हो।

वैसे भी, Ctrl+Alt+F1चल रही स्क्रीनसेवर प्रक्रियाओं को देखो ps -aux | grep screenऔर उन सभी को मार डालो। अन्य उत्तरों में सूचीबद्ध सूक्ति और xscreensaver कमांड मेरे लिए काम नहीं करते थे।

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