कमांड लाइन से कैसे निलंबित करें कि स्क्रीन लॉक है?


10

मैं Xubuntu 12.04 का उपयोग कर रहा हूं। पावर मैनेजर में, मैंने सस्पेंड / हाइबरनेट के लिए जाने पर विस्तारित स्क्रीन -> लॉक स्क्रीन की जाँच की है। यदि मैं मुख्य मेनू / पैनल 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, जैसा कि एक टिप्पणी में बताया गया है।


नहीं, यह केवल स्क्रीन को लॉक करता है और मेरे द्वारा किए गए उत्तर में की गई टिप्पणी के अनुसार इसे निलंबित करने के बारे में भूल जाता है;)
रिनविंड

1
आह, अच्छा। मुझे बस एहसास हुआ कि gnome-screensaver-commandइसे भी बदला जा सकता है xscreensaver-commandइसलिए किसी अतिरिक्त स्थापना की आवश्यकता नहीं है। && dbus-send...भाग के बिना एक बस एक ताला हो जाता है (बिना निलंबित); इसके साथ, किसी को वेक-अप पर लॉक के साथ एक सस्पेंड हो जाता है। उत्तम।
मारियस हॉफर्ट

दुर्भाग्य से, कमांड टर्मिनल से काम करता है, लेकिन मेरे द्वारा परिभाषित कीबोर्ड शॉर्टकट से नहीं: --( क्या आप जानते हैं कि समस्या क्या हो सकती है?
Marius Hofert

@MariusHofert मैंने कीबोर्ड शार्टकट से कमांड का उपयोग करने के तरीके के साथ उत्तर अपडेट किया है। देखें कि क्या यह आपकी आवश्यकतानुसार काम करता है। (मैंने Ubuntu 12.04 में परीक्षण किया है और यह काम किया है)।
amfcosta

अभी भी वही समस्या है: लॉकिंग कार्य; सस्पेंडिंग नहीं (Xubuntu 12.04)
Marius Hofert

2

मैं कमांड लाइन से निलंबित करने के लिए amfcosta के dbus कमांड का उपयोग कर रहा था। हालांकि, फिर से शुरू होने पर, eth0 नीचे था।

मैंने तब यह आदेश पाया:

xfce4-session-logout --suspend

यह कमांड नेटवर्किंग को निष्क्रिय कर देता है, निलंबित कर देता है और फिर कंप्यूटर के जागने पर नेटवर्किंग को फिर से सक्षम बनाता है।

xfce4-session-logoutविशिष्ट है, लेकिन अन्य डेस्कटॉप वातावरण में समान *-session-logoutकमांड हो सकते हैं ।

मैं Xubuntu 14.04 चला रहा हूं।

अद्यतन: यह दूसरों को प्रभावित नहीं कर सकता है, लेकिन यह पता चला है कि मेरे आसुस ईईई 900 पर, वायर्ड ईथरनेट कनेक्शन केवल हर दूसरे समय पर काम करता है जब ईईई उठता है। यह, ज़ाहिर है, बहुत कष्टप्रद है, और इसका मतलब है कि निलंबन अनुपयोगी है।


1

Ubuntu 15.10 के साथ, यह भी काम करता है:

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

0

नोट: xscreensaver-commandएकमात्र विकल्प विकल्प के साथ काम करता है -lock(1 हाइफ़न के साथ, दोहरा नहीं gnome-screensaver-command)। फिर भी, कमांड केवल तभी काम करता है जब स्क्रीनसेवर चल रहा है, इसलिए बहुत उपयोगी नहीं है।

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