कमांड लाइन से अस्थायी रूप से नींद और हाइबरनेट को कैसे अक्षम करें


10

ऐसा लगता है कि कई तरीके हैं जिसमें उबंटू की सेटिंग को स्थायी रूप से सोने के लिए हेरफेर किया जा सकता है जब तक कि पूर्वनिर्धारित शर्तों को पूरा नहीं किया जाता है। हालांकि, ये अधिक स्थायी समाधान हैं जो दुर्लभ कार्यों को ध्यान में नहीं रखते हैं जो अस्थायी रूप से मानक नीति पर चलना चाहते हैं। मैं जिस समस्या में चल रहा हूं, वह यह है कि मेरे पास कुछ बैकअप करने के लिए एक बहुत लंबी चलने वाली स्क्रिप्ट है और मैं नहीं चाहता कि कंप्यूटर सो या हाइबरनेट हो, जबकि वह विशेष प्रक्रिया चल रही है जिसमें आमतौर पर 30-50 मिनट लगते हैं। इसलिए, क्या कोई ऐसी कमांड है जिसे मैं अपनी बैकअप स्क्रिप्ट में शामिल कर सकता हूं जो बैकअप स्क्रिप्ट के चलने के दौरान सिस्टम को हाइबरनेट करने / सोने से रोक सकता है और क्या बैकअप समाप्त होने के बाद सामान्य डिफ़ॉल्ट पावर पॉलिसी को पुनर्स्थापित करने के लिए भी कोई कमांड है?

कुछ इस तरह

#!/usr/bin/bash
#disable normal powerpolicy
disable-power-policies
backup /dev/sda /dev/sdb /dev/fioa /dev/fiob
#enable power policies.
enable-power-policies

जवाबों:


10

उबंटू 16.04 एलटीएस पर, मैंने सस्पेंड को अक्षम करने के लिए निम्नलिखित का सफलतापूर्वक उपयोग किया:

sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target

और इसे फिर से सक्षम करने के लिए:

sudo systemctl unmask sleep.target suspend.target hibernate.target hybrid-sleep.target

2
पास --runtimeकरने के systemctlलिए मास्क को अस्थायी बनाया जाएगा, अगले बूट पर रीसेट किया जाएगा।
सर्कोलिंटन

3

आप gsettingsअपनी स्क्रिप्ट में उपयोग कर सकते हैं बिजली सेटिंग्स में स्वत: निलंबित को निष्क्रिय करने और फिर से बिजली सेटिंग के डिफ़ॉल्ट व्यवहार को पुनर्स्थापित करने के लिए।

यहां एक सरल कॉन्फ़िगरेशन है जो पहले नींद के लिए वर्तमान समय सीमा प्राप्त करता है, इसे अक्षम करें और कुछ कार्य करने के बाद इसे फिर से सक्षम करें।

#!/bin/bash   

#get the current timeout for automatic suspend both for on battey power and when plugged in.
a=$(gsettings get org.gnome.settings-daemon.plugins.power sleep-inactive-ac-timeout)
b=$(gsettings get org.gnome.settings-daemon.plugins.power sleep-inactive-battery-timeout)


#Disable automatic suspend 
gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-timeout 0
gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-battery-timeout 0

#Your task here
sleep 5

#Enable the automatic suspend
gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-timeout $a
gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-battery-timeout $b

3

मुझे बैकअप के लिए पिछले साल भी यही समस्या थी, जिसमें कई घंटे लगे थे!

आप Keep.Awake https://launchpad.net/keep.awake को आज़मा सकते हैं। यह न्यूनतम थ्रेसहोल्ड के लिए CPU लोड, नेटवर्क ट्रैफ़िक और उपयोगकर्ता गतिविधि की निगरानी कर सकता है।

मैं अभी भी इसके लिए एक तस्वीर या बहस बनाने के लिए चारों ओर नहीं मिला है। हालाँकि अस्थायी रूप से आप यहां लॉन्चपैड से प्रोग्राम डाउनलोड कर सकते हैं

वर्तमान संस्करण स्थिर है और 14.04 से 16.04 तक सभी उबंटू संस्करणों पर काम करता है। कहा कि मैं इसमें लगातार सुधार कर रहा हूं और नई सुविधाओं को जोड़ रहा हूं।

यह एक उचित कमांड की तरह काम करता है। टाइप --help क्या किया जा सकता है की एक पूरी सूची देखने के लिए। नीचे दिए गए उदाहरण केवल कुछ ही हैं:

./keepawake.py --help

अंत: क्रिया चलाने के लिए:

./keepawake.py

पृष्ठभूमि सेवा के रूप में चलाने के लिए:

nohup ./keepawake.py -r > /dev/null 2>&1 &

पृष्ठभूमि सेवा के रूप में चलाने के लिए और उपयोगकर्ता गतिविधि निष्क्रिय समय से पहले 15 मिनट (900 सेकंड) सेट करने से पहले यह निर्धारित करता है कि उपयोगकर्ता निष्क्रिय है:

nohup ./keepawake.py -u 900 -r > /dev/null 2>&1 &

पृष्ठभूमि सेवा के रूप में चलाने के लिए और 13% के रूप में न्यूनतम सीपीयू लोड सेट करने के लिए:

nohup ./keepawake.py -c 13 -r > /dev/null 2>&1 &

पृष्ठभूमि सेवा के रूप में चलाने के लिए और 5KB (5120 बाइट्स) के रूप में न्यूनतम नेटवर्क ट्रैफ़िक सेट करने के लिए:

nohup ./keepawake.py -s 5120 -r > /dev/null 2>&1 &

उपरोक्त सभी तीन सेटिंग्स (नेटवर्क, सीपीयू, यूजर आइडल) को एक बार में चलाने के लिए:

nohup ./keepawake.py -s 5120 -c 13 -u 900 -r > /dev/null 2>&1 &

1

यहाँ Xfce में यह कैसे करना है। (उनके जवाब के लिए g_p को धन्यवाद जो मेरे लिए गेंद को लुढ़क गया।)

#!/bin/bash

# Grab current sleep timeout on battery and ac
a=$(xfconf-query -c xfce4-power-manager -p /xfce4-power-manager/inactivity-on-ac)
b=$(xfconf-query -c xfce4-power-manager -p /xfce4-power-manager/inactivity-on-battery)

# Set sleep to never on battery and ac
xfconf-query -c xfce4-power-manager -p /xfce4-power-manager/inactivity-on-ac -s 14
xfconf-query -c xfce4-power-manager -p /xfce4-power-manager/inactivity-on-battery -s 14

# Your task here
sleep 5

# Reset sleep to what it was before on battery and ac
xfconf-query -c xfce4-power-manager -p /xfce4-power-manager/inactivity-on-ac -s "$a"
xfconf-query -c xfce4-power-manager -p /xfce4-power-manager/inactivity-on-battery -s "$b"
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.