Fórum Ubuntu CZ/SK

Ostatní => Ubuntu Server => Téma založeno: vawaver 09 Září 2019, 21:30:20

Název: Vypnutie obrazovky - server na notebooku
Přispěvatel: vawaver 09 Září 2019, 21:30:20
Dobrý večer,

na starom notebooku mám rozbehaný Ubuntu server 18.0.3.
Chcel by som sa spýtať či existuje nejaká možnosť ako by bolo možné nastaviť to, aby sa mi obrazovka monitoru na notebooku vypla po 5 minútach a po stlačení klávesnice znova zapla? Notebook mi beží 24/7 a zbytočne svieti obrazovka.
Aj tak sa pripájam externe na neho.
Ďakujem za odpoveď.
Název: Re:Vypnutie obrazovky - server na notebooku
Přispěvatel: juwa2 09 Září 2019, 21:45:55
Po 5 minutách od kdy (od čeho)?
Název: Re:Vypnutie obrazovky - server na notebooku
Přispěvatel: vawaver 09 Září 2019, 21:54:30
5 minút odkedy sa po nabehnutí systému objaví možnosť prihlásenia sa.
Mám na mysli login:
Název: Re:Vypnutie obrazovky - server na notebooku
Přispěvatel: juwa2 09 Září 2019, 22:07:03
No pokud ti stačí 5 minut od loginu, stačí přidat do autostartu tento skript:
Kód: [Vybrat]
#!/bin/bash
sleep 300
xset -display :0.0 dpms force off

Ale domnívám se, že by bylo lepší aby se displej vypnul vždy po 5 minutách nečinnosti (iddle). Toho docílíš (opět přidáním do autostartu) tohoto skriptu:
Kód: [Vybrat]
#!/bin/bash
while [ 1 ];
do
if [ `xprintidle` -gt 300000 ];
then
    xset -display :0.0 dpms force off
fi
    sleep 1
done


Je třeba si doinstalovat balíček xprintidle
Kód: [Vybrat]
sudo apt-get install xprintidle
Potom, po pěti minutách (uživatelské) nečinnosti = nehýbeš myší ani nemačkáš klávesy se displej vypne.
K jeho zapnutí postačí zmáčknout libovolnou klávesu. Po dalších 5 minutách nečinnosti se displej opět vypne atd.
Název: Re:Vypnutie obrazovky - server na notebooku
Přispěvatel: vawaver 09 Září 2019, 22:17:04
Ďakujem veľmi pekne za odpoveď.
Tajne som dúfal že bude k tomu nejaké riešenie.
Ešte prosím ma skús naviesť ako to môžem celé zrealizovať.
Nie som natoľko znalý a nedokážem si zatiaľ predstaviť čo si myslel tým že to treba dať do autostart.
Ďakujem za odpoveď.
Název: Re:Vypnutie obrazovky - server na notebooku
Přispěvatel: juwa2 09 Září 2019, 22:42:25
Autostart jsou "Aplikace spouštěné po přihlášení". Zkrátka si daný skript vytvoříš, někam uložíš, nastavíš mu spustitelnost a přidáš ho do autostartu. Tím pádem se bude spouštět při každém přihlášení. Jinak složka je ~/.config/autostart
V ní jsou příslušné soubory *.desktop které mají jako EXEC cestu k tomu skriptu který se má spustit.
--------------------------------------
Pouze mě udivuje, že ty, správce serveru neznáš takovéto základní věci... :-\
Název: Re:Vypnutie obrazovky - server na notebooku
Přispěvatel: vawaver 09 Září 2019, 22:57:08
Rozumiem čo si tým chcel povedať, len si nedokážem predstaviť ako sa to rieši na serveri, keďže sa na neho pripájam len cez SSH
Ak teda správne rozumiem, vytvorím si súbor, do neho zkopírujem kód od teba.
Nasledne mu cez chmod udelim 777 práva (alebo inak?)
Len neviem ako ho spúšťať automaticky pri štarte. Nakoľko to čo si mi poslal chápem ako riešenie keby som mal desktop verziu, čo ale nie je tento prípad.
Ako teda na to?

Název: Re:Vypnutie obrazovky - server na notebooku
Přispěvatel: juwa2 09 Září 2019, 23:26:55
Ano, a ten soubor pojmenuješ např. "Display_off.sh" a dáš ho třeba do domovské složky.
Spustitelnost pak nastavíš příkazem:
Kód: [Vybrat]
chmod +x ~/Display_off.sh
K tomu skriptu si vytvoříš spouštěč a dáš ho do složky ~/.config/autostart

A jelikož tuším, že spouštěč vytvořit neumíš, raději ti to popíšu:
Vytvoříš soubor  ~/.config/autostart/Display_off.desktop  s tímto obsahem:
Kód: [Vybrat]
[Desktop Entry]
Type=Application
Exec=sh "~/Display_off.sh"
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name=Display_off

Hotovo. Nyní to můžeš vyzkoušet - můžeš ten spouštěč spustit ručně nebo se odhlásit/přihlásit (spustí se automaticky).
Jenom doufám, že na takové hlouposti "nevyhoříš".....
Název: Re:Vypnutie obrazovky - server na notebooku
Přispěvatel: vawaver 10 Září 2019, 09:08:37
Moc ďakujem za návod.
Dám vedieť ako som dopadol.

Ešte predtým sa chcem spýtať či v tom kóde:
Kód: [Vybrat]
#!/bin/bash
while [ 1 ];
do
if [ `xprintidle` -gt 300000 ];
then
    xset -display :0.0 dpms force off
fi
    sleep 1
done

má byť nad sleep 1 skutočne "fi", či to nie je preklep a nemá tam byť "if"
Název: Re:Vypnutie obrazovky - server na notebooku
Přispěvatel: juwa2 10 Září 2019, 09:12:23
Ešte predtým sa chcem spýtať či v tom kóde:
Kód: [Vybrat]
#!/bin/bash
while [ 1 ];
do
if [ `xprintidle` -gt 300000 ];
then
    xset -display :0.0 dpms force off
fi
    sleep 1
done

má byť nad sleep 1 skutočne "fi", či to nie je preklep a nemá tam byť "if"

Je to pochopitelně správně. A opět údiv nad otázkou, to jsou přece naprosté základy skriptování v bashi....
Název: Re:Vypnutie obrazovky - server na notebooku
Přispěvatel: vawaver 10 Září 2019, 13:00:22
@juwa2
Ono niet sa čo diviť, ja som BFU desktopový používateľ a rozbehanie Ubuntu serveru a Nexcloudu na ňom bol pre mňa veľký splnený mílnik  8)
Nič o programovaní neviem vôbec, a preto veci čo sa mi podaria rozbehať či už s Tvojou, alebo pomocou iných ľudí z tohto fóra je pre mňa zakaždým vianočnou udalosťou a dôvodom k oslave   :D :D
Takže sa pri Vás postupne učím niečo nové a som za to veľmi rád.
Ešte raz moje veľké ďakujem.
Název: Re:Vypnutie obrazovky - server na notebooku
Přispěvatel: juwa2 10 Září 2019, 16:02:12
No a funguje ti tedy to uspávání, zadařilo se?
Název: Re:Vypnutie obrazovky - server na notebooku
Přispěvatel: vawaver 10 Září 2019, 16:27:57
Prišiel som domov a obrazovka svieti.
Skúsil som cez SSH pripojenie spustiť príkaz ale dostal som takýto výstup:

Kód: [Vybrat]
tony@tecra:~$ ./Display_off.sh
couldn't open display
./Display_off.sh: line 4: [: -gt: unary operator expected
couldn't open display
./Display_off.sh: line 4: [: -gt: unary operator expected
couldn't open display
./Display_off.sh: line 4: [: -gt: unary operator expected
couldn't open display
./Display_off.sh: line 4: [: -gt: unary operator expected
^C
tony@tecra:~$

A teď babo raď.  8)
Název: Re:Vypnutie obrazovky - server na notebooku
Přispěvatel: juwa2 10 Září 2019, 19:30:06
Prišiel som domov a obrazovka svieti.
Skúsil som cez SSH pripojenie spustiť príkaz ale dostal som takýto výstup:

Kód: [Vybrat]
tony@tecra:~$ ./Display_off.sh
couldn't open display
./Display_off.sh: line 4: [: -gt: unary operator expected
couldn't open display
./Display_off.sh: line 4: [: -gt: unary operator expected
couldn't open display
./Display_off.sh: line 4: [: -gt: unary operator expected
couldn't open display
./Display_off.sh: line 4: [: -gt: unary operator expected
^C
tony@tecra:~$

A teď babo raď.  8)

Uprav si obsah toho skriptu na:
Kód: [Vybrat]
#!/bin/sh
while [ 1 ];
do
if [[ $(xprintidle) -gt 300000 ]];
then
    xset -display :0.0 dpms force off
fi
    sleep 1
done

Vypadá to, žes tam napsal špatný znak nebo to špatně zkopíroval.  Jinak -gt je normální podmínka (větší než). Takže to je chyba v syntaxi....
Pro jistotu ti ten skript posílám v příloze (soubor .zip nutno rozbalit).

Ověřit funkčnost můžeš tak, že do skriptu napíšeš místo 300000  třeba 20000  a spustíš ho ručně.  Do 20s (samozřejmě nesmíš ničím "hýbat") se musí displej vypnout.  Pokud ano, vrátíš tam zase 300000 (=300s = 5 min.).
Jestli skript běží (musí běžet po celou dobu zapnutí PC) ověříš např. pomocí htop (do Terminálu zadej příkaz htop).  Proces "Display_off.sh" musí být vidět mezi ostatními spuštěnými procesy.
Skript doufám spustit umíš.
Název: Re:Vypnutie obrazovky - server na notebooku
Přispěvatel: vawaver 10 Září 2019, 22:21:30
tvoj ZIP som rozbalil, nahral na server, dal chmod +x, a spustil príkazom ./Display_off.sh

výstup je nasledovný s touto chybou:
Kód: [Vybrat]
tony@tecra:~$ ./Display_off.sh
couldn't open display
./Display_off.sh: 4: ./Display_off.sh: [[: not found
couldn't open display
./Display_off.sh: 4: ./Display_off.sh: [[: not found
couldn't open display
./Display_off.sh: 4: ./Display_off.sh: [[: not found
^C
tony@tecra:~$


Neviem či nerobím chybu niekde ja alebo je niekde inde.
Název: Re:Vypnutie obrazovky - server na notebooku
Přispěvatel: juwa2 10 Září 2019, 22:26:15
No a když zadáš do Terminálu:
Kód: [Vybrat]
xset -display :0.0 dpms force off
Tak se displej vypne?
A neběžíš náhodou na waylandu? Pak příkazy výše samozřejmě nefungují...
Zjistíš příkazem:
Kód: [Vybrat]
echo $XDG_SESSION_TYPE
xprintidle nainstalované máš?

Změň ve skriptu první řádek na:
Kód: [Vybrat]
#!/bin/bash
Název: Re:Vypnutie obrazovky - server na notebooku
Přispěvatel: vawaver 10 Září 2019, 22:37:16
Nie

Kód: [Vybrat]
tony@tecra:~$ xset -display :0.0 dpms force off
xset:  unable to open display ":0.0"
tony@tecra:~$

Název: Re:Vypnutie obrazovky - server na notebooku
Přispěvatel: juwa2 10 Září 2019, 22:45:20
Nie

Kód: [Vybrat]
tony@tecra:~$ xset -display :0.0 dpms force off
xset:  unable to open display ":0.0"
tony@tecra:~$


No pokud ti nefunguje příkaz na vypnutí displeje (možná jedeš na waylandu - zjisti to viz výše), tak je další snaha marná.
Zkrátka musíš nejprve najít funkčí příkaz kterým se ti vypne displej. To je základ. Hledej, zkoušej, googli až ho najdeš.
A dokud ho nenaješ, dál se nepohneš.
Nám ostatním funguje příkaz výše.
Až ten příkaz najdeš, dál už je to hračka - napiš ho prostě do toho skriptu. To je celé...