डेस्कटॉप लॉकिंग कुछ समय बाद काम करना क्यों बंद कर देता है?


14

xautolockस्पष्ट रूप से चल रहा है :

$ ps wafux | grep [x]autolock
user   21410  0.0  0.0  20124  2628 ?        S    Nov05   0:04 xautolock -time 10 -notify 30 -notifier notify-send --urgency low --expire-time=10000 -- 'Locking screen in 30 seconds' -locker slock

हालाँकि, जब मैं इसे लॉक करने की कोशिश करता हूँ :

$ xautolock -locknow
Could not locate a running xautolock.

अगर मैं एक और xautolockकाम करता हूं, तो :

$ xautolock -time 10 -notify 30 -notifier "notify-send --urgency low --expire-time=10000 -- 'Locking screen in 30 seconds'" -locker slock&
[2] 18828
$ ps wafux | grep [x]autolock
user   21410  0.0  0.0  20124  2628 ?        S    Nov05   0:04 xautolock -time 10 -notify 30 -notifier notify-send --urgency low --expire-time=10000 -- 'Locking screen in 30 seconds' -locker slock
user   18828  0.0  0.0  20124  2708 pts/1    S    08:30   0:00      \_ xautolock -time 10 -notify 30 -notifier notify-send --urgency low --expire-time=10000 -- 'Locking screen in 30 seconds' -locker slock
$ xautolock -locknow # Runs fine and locks the desktop

क्या देता है?

अब तक मैंने इसे अपने डेस्कटॉप और लैपटॉप दोनों पर देखा है। कृपया ध्यान दें कि बूट लॉकिंग ठीक होने के बाद कम से कम पहली बार। यह केवल कुछ अज्ञात समय या घटना के बाद है कि यह विफल होने लगता है।


मैं इस मज़बूती से पुन: पेश करने में सक्षम नहीं हूं । यही है, मैंने अपने लैपटॉप पर निम्नलिखित तरीकों की कोशिश की है और दोनों ही मामलों में स्क्रीनसेवर शॉर्टकट / कमांड वास्तव में डेस्कटॉप को बाद में लॉक करता है:

  1. ढक्कन बंद करें
  2. कंप्यूटर को हाइबरनेट करने के लिए प्रतीक्षा करें
  3. ढक्कन खोलें
  4. पावर बटन दबाएं
  5. इसके बाद लॉगिन पासवर्ड प्रदान करें Enter

तथा

  1. डेस्कटॉप को लॉक करें
  2. ऊपर के रूप में एक ही कदम

कोड को ट्रेस करना:

  1. वह पंक्ति जो त्रुटि संदेश प्रिंट करती है :error1 ("Could not locate a running %s.\n", progName);
  2. अगर messageToSendसच है और होता हैtype != XA_INTEGER
  3. ऐसा लगता typeहै कि निम्नलिखित कथन में सेट है:

    (void) XGetWindowProperty (d, root, semaphore, 0L, 2L, False,
                               AnyPropertyType, &type, &format,
                               &nofItems, &after,
                               (unsigned char**) &contents);
    

क्या इसका मतलब यह है कि क्या xautolockपता चला है कि ध्यान केंद्रित खिड़की पर निर्भर हो सकता है? मुझे भी आश्चर्य हो रहा है कि क्या यह कॉल इस ज्ञात बग से संबंधित हो सकती है :

  1. -Disable, -enable, -toggle, -exit, -locknow, -unlocknow, और -स्टार्ट विकल्प अपने काम को करने के लिए X सर्वर तक पहुंच पर निर्भर करते हैं। इसका तात्पर्य यह है कि किसी अन्य एप्लिकेशन द्वारा सर्वर को अपने लिए हड़पने की स्थिति में उन्हें निलंबित कर दिया जाएगा।

क्या यह संभव है कि दोनों के xautolockसाथ टकराव xss-lockहो रहा है slock? के अलावा xautolockलाइन मैं भी इस राशि से ऊपर .xprofile में लाइन :

xss-lock slock &

चूंकि दोनों xautolockऔर xss-lockकॉल कर सकते हैं slock, मुझे संदेह है कि समस्या कुछ इस तरह है:

चूँकि xss-lockमैं लैपटॉप की नींद का पता लगा सकता हूं, इसलिए मैं इसका इस्तेमाल करना चाहूंगा xautolock, लेकिन मैं इसके xss-lockसाथ काम नहीं कर सकता notify-send


आप किस यूनिक्स का उपयोग कर रहे हैं?
कास्परड

मैं इसी मुद्दे पर चल रहा हूं। मैंने इसमें बहुत गहराई से नहीं देखा है, लेकिन मुझे इसका उत्तर जानना अच्छा लगेगा।
HalosGhost

आप इसे कैसे शुरू कर रहे हैं? मुझे हाल ही में इसे शुरू करते समय एक ही चीज़ मिली .xinitrc: मैंने एक --userसर्विस फ़ाइल पर स्विच किया और यह अब कोई समस्या नहीं है ...
jasonwryan

1
Mpv (लेकिन mplayer नहीं) के साथ वीडियो चलाना मेरे लिए समस्या को ट्रिगर करता है। दोनों खिलाड़ियों के पास खाली कॉन्फ़िगरेशन हैं।
13

1
इस ट्रिगर के लिए कम से कम-इष्टतम वर्कअराउंड को जोड़ना stop-screensaver=noहै ~/.mpv/config। बेशक, इसका मतलब है कि आपको एमपीवी के साथ वीडियो खेलते समय लॉकिंग को मैन्युअल रूप से अक्षम करना होगा।
jrm

जवाबों:


5

मेरे लिए, xautolock प्रक्रिया अभी भी पृष्ठभूमि में चल रही थी, लेकिन यह किसी भी xautolock -locknowआदेश को नहीं सुन रही थी । जैसा कि @jrm द्वारा बताया गया है, एक एप्लिकेशन को "स्क्रीनसेवर" को दबा देना चाहिए । हम दोनों के लिए, यह स्क्रीनसेवर को अक्षम करने वाले एमपीवी (वीडियो प्लेयर) के कारण था।

एमपीवी के लिए, समाधान के लिए निम्न जोड़ना है ~/.config/mpv/configया ~/.mpv/config:

stop-screensaver=no

यदि आप mpv का उपयोग नहीं करते हैं, तो यह स्क्रीनसेवर को अक्षम करने वाला एक अन्य अनुप्रयोग हो सकता है। आमतौर पर इस्तेमाल होने वाले कुछ को देखने की कोशिश करें कि यह कौन सा है।


यदि आप वीडियो प्लेबैक के दौरान स्वचालित स्क्रीन लॉकिंग को रोकना चाहते हैं , तो एक सामान्य तरीका xautolock के "कोनों" सुविधा का उपयोग करना है:

xautolock -corners 000- -cornersize 30

उपरोक्त कमांड के साथ, यदि आप अपना माउस कर्सर स्क्रीन के निचले दाएं कोने (30px त्रिज्या के भीतर) में रखते हैं, तो ऑटो-लॉकिंग अस्थायी रूप से अक्षम हो जाएगी।


कोशिश करने के लिए एक और बात -resetsaverविकल्प है:

xautolock -resetsaver

या -detectsleepविकल्प:

xautolock -detectsleep

अच्छा सुझाव, धन्यवाद! मैं अपने वीडियो प्लेयर (VLC) से कई वर्षों से स्क्रीन लॉकिंग को अक्षम करने के बारे में जानता हूं, लेकिन ईमानदारी से यह मुद्दा अब इतना दूर है कि अगर मेरा दिमाग बस इस तथ्य से खाली हो जाता तो मुझे याद नहीं आता। वैसे भी मैंने उपयोग करना बंद कर दिया है xautolock, इसलिए सवाल अब थोड़ा मुटाव है। अब तक के सबसे उपयोगी उत्तर के रूप में चिह्नित किया गया। अगर किसी के पास एक ही मुद्दा है तो मैं डुप्लिकेट से बचने के लिए इस प्रश्न को हटा सकता हूं।
l0b0
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.