उबंटू निलंबित करने से पहले निष्क्रियता कैसे निर्धारित करता है?


14

मैंने इसे 30 मिनट के बाद "निष्क्रिय होने पर निलंबित करने" के लिए सेट किया है।

यह कैसे निर्धारित करता है कि क्या यह निष्क्रिय है? क्या यह कीबोर्ड / माउस के माध्यम से केवल उपयोगकर्ता इनपुट है?

अगर मैं किसी कार्यक्रम को छोड़कर काम कर रहा हूं - तो वीडियो को संसाधित करने का कहना है, जिसमें एक लंबा समय लगता है, क्या यह 30 मिनट के बाद निलंबित हो जाएगा और उस कार्यक्रम को रोक देगा? लंबे डाउनलोड के लिए एक ही सवाल, क्या यह आधे रास्ते को स्थगित कर देगा।


के लिए एक खोज है wake up calls
रिनविंड

आस्कुबंटु में? मैंने अभी इसकी कोशिश की और सभी उत्तर सस्पेंड या इसी तरह के सिस्टम से जागने से संबंधित हैं।
जैज

जवाबों:


19

अच्छा प्रश्न। चलो पता करते हैं!

  1. "विकल्प के लिए निष्क्रिय होने पर निलंबित करें" विकल्प की जांच करके शुरुआत ,

    <property ...>Suspend when inactive for</property> ...
    <object ... id="combobox_sleep_ac">

    हम सीख सकते हैं कि यह एक GSettings कुंजी सेट करता है जिसे कहा जाता है sleep-inactive-ac-timeout:

    widget = GTK_WIDGET (gtk_builder_get_object (..., "combobox_sleep_ac")); ...
    g_object_set_data (G_OBJECT(widget), "_gsettings_key", "sleep-inactive-ac-timeout");

    प्रलेखन इस कुंजी के लिए एक संक्षिप्त विवरण प्रदान करता है:

    सोने से पहले एसी पावर पर कंप्यूटर में समय की मात्रा निष्क्रिय होने की आवश्यकता है। 0 का मान कभी नहीं होता है।

    लेकिन फिर भी समझा नहीं है कि "निष्क्रिय" का मतलब क्या है।

  2. sleep-inactive-ac-timeoutहमें खोज के लिए खोज रहा है गनोम सेटिंग्स डेमॉन ,

    timeout_sleep = g_settings_get_int (..., "sleep-inactive-ac-timeout");

    जो समय-समय पर गनोम सत्र की एक संपत्ति की जाँच करता है Presence.status:

    result = g_dbus_proxy_get_cached_property (...->session_presence_proxy, "status");

    यदि यह पता चलता है कि स्थिति बेकार है , तो यह सोने के लिए सिस्टम डालता है :

    idle_set_mode (..., GSD_POWER_IDLE_MODE_SLEEP);

    इसलिए हमें यह जानने की जरूरत है कि गनोम सत्र कैसे तय करता है कि क्या सिस्टम "निष्क्रिय" है।

  3. जहां से GNOME सत्र के मान को अद्यतन करता है Presence.status, पीछे की ओर

    gsm_presence_set_status (presence, GSM_PRESENCE_STATUS_IDLE, ...);

    हम देख सकते हैं कि यह Xorg से काउंटर का उपयोग करता है IDLETIME:

    if (... && strcmp (counters[i].name, "IDLETIME") == 0) {
        ...->counter = counters[i].counter;
  4. IDLETIMEकाउंटर के व्यवहार एक में संक्षेप है ब्लॉग पोस्ट सूक्ति पावर प्रबंधक के लेखक द्वारा:

    सूक्ति-शक्ति-प्रबंधक Xorg के अंदर एक काउंटर का उपयोग करता है जिसे IDLETIME कहा जाता है। यह काउंटर केवल तब बढ़ा है जब उपयोगकर्ता माउस को स्थानांतरित नहीं करता है, या कुछ कुंजियों पर क्लिक करता है। जब उपयोगकर्ता कुछ क्लिक करता है, तो IDLECOUNTER रीसेट हो जाता है।

यह हमें बताता है कि उबंटू अंतिम कीस्ट्रोक या माउस गति के बाद से गुजरे समय की मात्रा को मापकर निष्क्रियता को निर्धारित करता है। सीपीयू उपयोग और नेटवर्क गतिविधि में कारक नहीं है।


जैसा कि आपने पिछली पंक्ति में कहा था कि सीपीयू का उपयोग काफी क्यों नहीं है? मुझे शक है मैं askubuntu.com/questions/215870/… से आया हूं । क्योंकि अगर मैं 1GB फ़ाइल डाउनलोड करता हूँ तो इसमें बहुत समय लग सकता है। यहां तक ​​कि मैं afk मेरा पीसी अभी भी सही है कि फ़ाइल का डाउनलोड कर रहा हूँ। इसका मतलब है कि मेरा पीसी सक्रिय है? : D
r12dʒɑ

उत्कृष्ट जांच और ब्रेकडाउन के लिए +1। और @AgentCool, नहीं। गतिविधि कीबोर्ड या माउस प्रेस द्वारा निर्धारित की जाती है। आपका डाउनलोड किसी भी कुंजी को दबाने और पीसी को जागृत रखने वाला नहीं है।
ऑक्सीविवि

@Oxwivi thats लगभग एक साल पहले टिप्पणी करते हैं। एडिट के बाद नहीं। :)
r45d

@AgentCool मेरा बुरा, मैंने ध्यान नहीं दिया। पोस्ट हाल ही में टकरा गया था, संभवतः कल के संपादन के कारण। एक सवाल था, जिसमें मुझे दिलचस्पी थी, इसलिए इसकी जाँच की।
ऑक्सीविवि
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.