Polecenie terminalu do zaznaczania / odznaczania „Przyciemnij ekran, aby oszczędzać energię”?

8

Mam problemy z uniemożliwieniem mojemu laptopowi z systemem Ubuntu 14.04 przyciemnienia ekranu przy zasilaniu bateryjnym. Próbowałem wszystkiego, co jest w Internecie, aby temu zapobiec, ale na próżno. Większość osób rozwiązała problem, odznaczając pole wyboru obok „Przyciemnij ekran, aby oszczędzać energię” w ustawieniach „Jasność i blokada”. Też tego próbowałem.

Czy można to zrobić na terminalu?

użytkownik2574723
źródło

Odpowiedzi:

10

Możesz uzyskać jego status za pomocą gsettingspolecenia w następujący sposób:

gsettings get org.gnome.settings-daemon.plugins.power idle-dim

Zwróci „prawda” lub „fałsz”. Jeśli więc chcesz zmienić jego wartość, użyj setopcji zamiast geti wpisz „prawda”, aby włączyć lub „fałsz”, aby wyłączyć:

gsettings set org.gnome.settings-daemon.plugins.power idle-dim true

Teraz, jeśli nie chcesz przyciemniać ekranu, gdy jesteś na zasilaniu bateryjnym, potrzebujesz trochę skryptów, ponieważ to ustawienie nie wykrywa ani nie obserwuje stanu, gdy jesteś na zasilaniu prądem przemiennym lub w trybie bateryjnym.

Można to zrobić za pomocą on_ac_powerpolecenia wewnątrz pętli while, aby sprawdzić, czy system działa na zasilaniu prądem przemiennym w następujący sposób:

#!/bin/bash
while true
do
    if on_ac_power; then
        gsettings set org.gnome.settings-daemon.plugins.power idle-dim true
    else
        gsettings set org.gnome.settings-daemon.plugins.power idle-dim false
    fi
    sleep 60   # check the state in each 60 seconds
done

Zapisz skrypt.ex: dimscreen.shi uruchom go, wpisując sh /path/to/dimscreen.shw Terminalu.


Możesz także zrobić to jako cronzadanie w swoim crontabpliku.

#!/bin/bash
if on_ac_power; then
    gsettings set org.gnome.settings-daemon.plugins.power idle-dim true
else
    gsettings set org.gnome.settings-daemon.plugins.power idle-dim false
fi
  1. Zapisywanie skryptu (przykład dimscreen.sh)
  2. Zrób to chmod +x /path/to/dimscreen.sh
  3. otwórz crontabplik za pomocą VISUAL=gedit crontab -elubEDITOR=gedit crontab -e

  4. Teraz skopiuj i wklej * * * * * /path/to/dimscreen.shna końcu i zapisz plik. Spowoduje to uruchomienie polecenia / skryptu co minutę

    .---------------- minute (0 - 59)
    |  .------------- hour (0 - 23)
    |  |  .---------- day of month (1 - 31)
    |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
    |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
    |  |  |  |  |
    *  *  *  *  * command to be executed
αғsнιη
źródło
Zamiast dać tutorial na temat edycji w vim, wykonaj: VISUAL=gedit crontab -elub EDITOR=gedit crontab -e.
muru
Jest to bardzo przemyślane obejście. Marc przybił problem w drugiej odpowiedzi na znany błąd w 14.04. Naprawmy błędy zamiast mieszać się z systemem.
Johan Boulé,
3

@Kasiya Odznaczanie nie działa z jakiegoś powodu, nawet w terminalu. Dzięki za kolejną szczegółową odpowiedź. Niestety jestem nowicjuszem. Więc nie uderzę się w głowę, żeby zrozumieć twoją metodę. Ale myślę, że znalazłem obejście. Problem, z którym się spotkałem, polegał na tym, że ekran ściemniał się do określonej jasności, gdy był zasilany z baterii i gdy był bezczynny. Jeśli zrobisz to w terminalu:

gsettings get org.gnome.settings-daemon.plugins.power idle-brightness

otrzymujesz jałową jasność. Ustawiłem więc tę wartość na rzeczywistą jasność ekranu. za pomocą:

gsettings set org.gnome.settings-daemon.plugins.power idle-brightness 70

Problem rozwiązany.

użytkownik2574723
źródło
W 14.04 występuje błąd, który powoduje ignorowanie wartości „bezczynności”. Dlatego odpowiedź KasiyA jest nieodpowiednia (a wręcz nadmiernie skomplikowana). Twoje rozwiązanie można nieco ulepszyć: zauważyłem, że jeśli ustawienie „jałowej jasności” jest wyższe niż jasność w momencie przyciemnienia ekranu, to po prostu nie przyciemnia się. Tak więc obejściem wyłączającym ściemnianie jest ustawienie „jałowej jasności” na 100, co nie spowoduje, że ekran stanie się jaśniejszy (lub ciemniejszy) bez względu na to, jakie jest twoje rzeczywiste ustawienie jasności.
Marc