Uyku ve hazırda bekletme modlarını komut satırından geçici olarak devre dışı bırakma


10

Bir Ubuntu'nun ayarlarının, önceden belirlenmiş koşullar yerine getirildiği sürece istendiğinde sürekli olarak uykuya ayarlanabileceği birçok yol olduğu görülmektedir. Bununla birlikte, bunlar geçici olarak standart politikadan vazgeçmek isteyebilecek nadir görevleri dikkate almayan daha kalıcı çözümlerdir. Ben içine çalışıyorum sorun bazı yedeklemeler yapmak için çok uzun çalışan bir komut dosyası olması ve genellikle 30-50 dakika sürer belirli bir işlem çalışırken bilgisayarın uyku veya hazırda bekleme istemiyorum olmasıdır. Bu nedenle, yedek komut dosyası çalışırken sistemin hazırda bekletme / uyku moduna geçmesini engelleyecek bir yedek komut dosyası ekleyebilir miyim ve ayrıca yedekleme tamamlandıktan sonra normal varsayılan güç ilkesini geri yükleme komutu var mı?

gibi bir şey

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

Yanıtlar:


10

Ubuntu 16.04 LTS'de, askıya almayı devre dışı bırakmak için aşağıdakileri başarıyla kullandım:

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

Ve bunu yeniden etkinleştirmek için:

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

2
Geçme --runtimeiçin systemctlbir sonraki önyükleme üzerine sıfırlama, maske geçici yapacaktır.
sircolinton

3

Sen kullanabilirsiniz gsettingsotomatik devre dışı güç ayarlarında askıya alma ve tekrar güç ayarının varsayılan davranışını geri için komut.

İşte önce uyku için geçerli zaman aşımını alan, devre dışı bırakan ve bazı görevleri gerçekleştirdikten sonra yeniden etkinleştiren basit bir yapılandırma.

#!/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

Geçen yıl aynı sorunu birkaç saat süren yedeklemeler için yaşadım!

Keep.Awake'i deneyebilirsiniz https://launchpad.net/keep.awake Minimum eşikler için CPU yükünü, ağ trafiğini ve kullanıcı etkinliğini izleyebilir.

Hala bunun için bir çıtçıt veya deb oluşturmaya gelmedim. Ancak programı geçici olarak Launchpad'den indirebilirsiniz .

Mevcut sürüm kararlı ve 14.04 ile 16.04 arasındaki tüm Ubuntu sürümlerinde çalışıyor. Bunu sürekli geliştirdiğimi ve yeni özellikler ekleyeceğimizi söyledi.

Uygun bir komut gibi çalışır. Nelerin yapılabileceğini tam olarak görmek için --help yazın. Aşağıdaki örnekler sadece birkaçı:

./keepawake.py --help

Etkileşimli olarak çalıştırmak için:

./keepawake.py

Arka plan hizmeti olarak çalıştırmak için:

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

Arka plan hizmeti olarak çalıştırmak ve kullanıcının boşta olduğunu belirlemeden önce kullanıcı etkinliği boşta kalma süresi olarak 15 dakika (900 saniye) ayarlamak için:

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

Arka plan hizmeti olarak çalışmak ve minimum CPU yükünü% 13 olarak ayarlamak için:

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

Arka plan hizmeti olarak çalışmak ve minimum ağ trafiğini 5 KB (5120 bayt) olarak ayarlamak için:

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

Yukarıdaki üç ayarın tümünü (ağ, CPU, Kullanıcı boşta) tek seferde çalıştırmak için:

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

1

Xfce'de bunu nasıl yapacağınız aşağıda açıklanmıştır. (Topu kendi başıma döndüren cevapları için g_p'ye teşekkürler.)

#!/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"
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.