Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.

Autor Téma: skript pro vypnutí PC - v Conky nebo jinak ?  (Přečteno 3660 krát)

juwa2

  • Závislák
  • ****
  • Příspěvků: 2891
  • Karma: +209/-38
    • Zobrazit profil
Re:skript pro vypnutí PC - v Conky nebo jinak ?
« Odpověď #25 kdy: 10 Červenec 2019, 16:21:17 »
Včera v 22:24:27 jsem ti psal jak mají ty příkazy vypadat a ty tam zase píšeš nesmysly.... :-\

Kód: [Vybrat]
#!/bin/bash
GPUtemp=$(exec nvidia-settings -tq [gpu:0]/GPUCoreTemp -t)
GPUload=$(exec nvidia-settings -tq [gpu:0]/GPUUtilization | awk -F '[,= ]' '{ print $2 }')

echo $GPUtemp >> $HOME/Install/Octane/Crontab/backup_tmp.log
echo $GPUload >> $HOME/Install/Octane/Crontab/backup_tmp.log

A pokud skript samostatně funguje, není žádný důvod aby nefungoval přes cron - teď jsem to schválně zkoušel....
Tomu scriptu je totiž jedno kdo nebo co ho spouští...


West

  • Člen
  • **
  • Příspěvků: 144
  • Karma: +9/-1
    • Zobrazit profil
Re:skript pro vypnutí PC - v Conky nebo jinak ?
« Odpověď #26 kdy: 10 Červenec 2019, 16:32:20 »
Súbor environment.txt sa ti vytvoril na disku v domácom adresári. Bolo by dobré keby si vizuálne porovnal hodnoty, ktoré sa do neho zapísali. Všímaj si hlavne premennú PATH.
To preto, lebo spúšťaš program nvidia-settings, ale neuvádzaš k nemu kompletnú cestu. Bez kompletnej cesty je dôležitá premenná PATH aby príkaz exec vedel ten program nvidia-settings vôbec nájsť.
Ak sa ti s tým nechce babrať, tak si doplň celú cestu k programu nvidia-setting do toho skriptu.
Ak je to len táto jedna chyba, tak by ti to malo po doplnení komplentej cesty fungovať.

panRajce

  • Návštěvník
  • *
  • Příspěvků: 53
  • Karma: +0/-0
    • Zobrazit profil
Re:skript pro vypnutí PC - v Conky nebo jinak ?
« Odpověď #27 kdy: 10 Červenec 2019, 16:55:33 »
Včera v 22:24:27 jsem ti psal jak mají ty příkazy vypadat a ty tam zase píšeš nesmysly.... :-\

Kód: [Vybrat]
#!/bin/bash
GPUtemp=$(exec nvidia-settings -tq [gpu:0]/GPUCoreTemp -t)
GPUload=$(exec nvidia-settings -tq [gpu:0]/GPUUtilization | awk -F '[,= ]' '{ print $2 }')

echo $GPUtemp >> $HOME/Install/Octane/Crontab/backup_tmp.log
echo $GPUload >> $HOME/Install/Octane/Crontab/backup_tmp.log

A pokud skript samostatně funguje, není žádný důvod aby nefungoval přes cron - teď jsem to schválně zkoušel....
Tomu scriptu je totiž jedno kdo nebo co ho spouští...

však jsem to převzal ..... momentálně tam mám přidán jen textový řetězec .. to je špatně? I když jsem jej tam včera večer neměl, tak to hodnotu nevypisovalo. Text jsem tam přidal, abych viděl, že daný řádek byl proveden. Je, ale bez hodnoty.

Súbor environment.txt sa ti vytvoril na disku v domácom adresári. Bolo by dobré keby si vizuálne porovnal hodnoty, ktoré sa do neho zapísali. Všímaj si hlavne premennú PATH.
Soubor jsem našel  ;) PATH se opravdu liší, i jiné položky, viz 15:50. Zkusím tu plnou cestu k nvidia-settings ( /usr/bin/nvidia-settings )

juwa2

  • Závislák
  • ****
  • Příspěvků: 2891
  • Karma: +209/-38
    • Zobrazit profil
Re:skript pro vypnutí PC - v Conky nebo jinak ?
« Odpověď #28 kdy: 10 Červenec 2019, 20:30:56 »
PATHem se nezabývej. Pokud by daná aplikace nebyla v PATH, nefungoval by ani ten skript (nebo příkaz v Terminálu).
Samozřejmě, pokud do příkazu napíšeš celou cestu k aplikaci (nvidia-settings), ničemu to neublíží....
Ale výsledek bude stejný.
-----------------------------------
A proč ti to přes cron nefunguje? Třeba máš nějak nabořený systém, kdo ví.....
A jak už jsem napsal, pokud skript funguje při ručním spuštění, není sebemenší důvod proč by neměl fungovat při spuštění cronem.
Mě přes cron fungují skripty bez problému. Všechny.
Jediné co mě napadá je, že bys to mohl zkusit spouštět přes rootovský cron:
Kód: [Vybrat]
sudo crontab -e
Zkus to.....

panRajce

  • Návštěvník
  • *
  • Příspěvků: 53
  • Karma: +0/-0
    • Zobrazit profil
Re:skript pro vypnutí PC - v Conky nebo jinak ?
« Odpověď #29 kdy: 10 Červenec 2019, 21:09:02 »
tak jsem to musel upravit na
Kód: [Vybrat]
sudo EDITOR=nano crontab -eprotože při prvním pokusu o cronetab -e jsem si zvolil nějaký debilní editor
každopádně výsledek je ten, že pod touhle tabulkou mi to nejede ...nic do backup_tmp.log se nazapíše

system nabořený doufám že ne ... je to čistá instalace ... nvidia drivers 430, nvidia CUDA, x11VNC, Conky, Blender, Chrome ....... nic víc :/

juwa2

  • Závislák
  • ****
  • Příspěvků: 2891
  • Karma: +209/-38
    • Zobrazit profil
Re:skript pro vypnutí PC - v Conky nebo jinak ?
« Odpověď #30 kdy: 10 Červenec 2019, 21:20:47 »
Samozřejmě jako editor crontabu je dobré si nastavit místo defaultního vim nano. Práce s nano je přehlednější...
A abys nemusel pokaždé do příkazů zadávat "EDITOR=nano", přepni si to definitivně:
Kód: [Vybrat]
sudo update-alternatives --config editor

a vyber jednu z možností (nano).

Proč ti to neustále nefunguje netuším - není pro to sebemenší důvod pokud skript samotný funguje -  viz výše....

panRajce

  • Návštěvník
  • *
  • Příspěvků: 53
  • Karma: +0/-0
    • Zobrazit profil
Re:skript pro vypnutí PC - v Conky nebo jinak ?
« Odpověď #31 kdy: 10 Červenec 2019, 21:28:51 »
A abys nemusel pokaždé do příkazů zadávat "EDITOR=nano", přepni si to definitivně:

super, jdu na to :)

Proč ti to neustále nefunguje netuším - není pro to sebemenší důvod pokud skript samotný funguje -  viz výše....

Nj, také mi z toho hlava nebere. Ještě zkusím rozhodit sítě jinde ;)

West

  • Člen
  • **
  • Příspěvků: 144
  • Karma: +9/-1
    • Zobrazit profil
Re:skript pro vypnutí PC - v Conky nebo jinak ?
« Odpověď #32 kdy: 10 Červenec 2019, 23:39:22 »
=> PATHem se nezabývej...
Dovolil by som si nesúhlasiť. PATH je nastavená inak pri vykonávaní príkazov z CRON-u. Na rovnaký problém sa dá naraziť pri vykonávaní príkazov cez sudo. V sudoers je uvedená PATH nazvaná 'secure_path'. Je potrebné si pozrieť výpis environmentu pri spustení z CRONu či obsahuje potrebnú cestu. Ja mám napríklad všetky scripty, ktoré som doteraz vytvoril v adresári /opt/sys. Aby som ich mohol spúšťať odkiaľkoľvek musel som PATH upraviť po prihlásení sa do účtu.

panRajce

  • Návštěvník
  • *
  • Příspěvků: 53
  • Karma: +0/-0
    • Zobrazit profil
Re:skript pro vypnutí PC - v Conky nebo jinak ?
« Odpověď #33 kdy: 11 Červenec 2019, 10:45:39 »
=> PATHem se nezabývej...
Dovolil by som si nesúhlasiť.
Asi na tom něco bude. Dneska ráno při rozbřesku slunce a mysli mne napadlo, že když se spustí skript přes terminál, tak zná cestu k nvidia-settings, ale přes Cron jí znát nemusí a tím pádem nemá kde získat hodnotu pro proměnou a vyhodí do souboru prázdný řádek.
Potíž je, že i když jsem tam zkusil dát úplnou cestu k nvidia-settings (usr/bin/nvidia-settings) tak to neprovedlo.

Ještě mne napadlo že do testu zahrnu výpis nějaké hodnoty z nvidia-smi. Třeba číslo ovladače nVidia.
A světe div se, zapisuje to !!!
Bohužel pro kýžený cíl SMI nemá na současném sestavení grafik podporu všech čidel ... hlavně právě GPUUtilization - hodnota je N/A. Pak to jedině řešit jinou cestou - sledováním teploty, rychlost větráků,....... na výběr toho je poměrně dost https://briot-jerome.developpez.com/fichiers/blog/nvidia-smi/list.txt. A přes Conky si to mohu viditelně ověřit, zda je hodnota sledovatelná na mých kartách.

Je to na palici .... to co dovede Conky nedovede Cron :D

@WEST Schválně ti přidávám výpisy v environment.txt

Z terminálu:
Kód: [Vybrat]
CLUTTER_IM_MODULE=xim
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:
LESSCLOSE=/usr/bin/lesspipe %s %s
XDG_MENU_PREFIX=gnome-
_=/usr/bin/env
LANG=cs_CZ.UTF-8
MANAGERPID=1007
DISPLAY=:0
INVOCATION_ID=235572bdad1c4f8886f2bea7417b99ab
GNOME_SHELL_SESSION_MODE=ubuntu
COLORTERM=truecolor
USERNAME=uzivatel
XDG_VTNR=1
SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
XDG_SESSION_ID=1
USER=uzivatel
DESKTOP_SESSION=ubuntu
QT4_IM_MODULE=xim
TEXTDOMAINDIR=/usr/share/locale/
GNOME_TERMINAL_SCREEN=/org/gnome/Terminal/screen/a4a8eaac_b82b_4eb2_a3e0_18a23cf56669
PWD=/home/uzivatel/Install/Octane/Crontab
HOME=/home/uzivatel
JOURNAL_STREAM=9:24961
TEXTDOMAIN=im-config
SSH_AGENT_PID=1190
QT_ACCESSIBILITY=1
XDG_SESSION_TYPE=x11
XDG_DATA_DIRS=/usr/share/ubuntu:/usr/local/share:/usr/share:/var/lib/snapd/desktop
XDG_SESSION_DESKTOP=ubuntu
DBUS_STARTER_ADDRESS=unix:path=/run/user/1000/bus,guid=62781204859d3ca3478c8fee5d25e4f1
GTK_MODULES=gail:atk-bridge
WINDOWPATH=1
VTE_VERSION=5202
SHELL=/bin/bash
TERM=xterm-256color
QT_IM_MODULE=xim
XMODIFIERS=@im=ibus
IM_CONFIG_PHASE=2
DBUS_STARTER_BUS_TYPE=session
XDG_CURRENT_DESKTOP=ubuntu:GNOME
GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1
GNOME_TERMINAL_SERVICE=:1.72
SHLVL=2
XDG_SEAT=seat0
GDMSESSION=ubuntu
GNOME_DESKTOP_SESSION_ID=this-is-deprecated
LOGNAME=uzivatel
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus,guid=62781204859d3ca3478c8fee5d25e4f1
XDG_RUNTIME_DIR=/run/user/1000
XAUTHORITY=/run/user/1000/gdm/Xauthority
XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/etc/xdg
PATH=/home/uzivatel/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
SESSION_MANAGER=local/Ubuntu:@/tmp/.ICE-unix/1095,unix/Ubuntu:/tmp/.ICE-unix/1095
LESSOPEN=| /usr/bin/lesspipe %s
GTK_IM_MODULE=ibus

a z Cron-u vypadne jen takovýto krátký výpis
Kód: [Vybrat]
LANG=cs_CZ.UTF-8
PWD=/home/uzivatel
HOME=/home/uzivatel
SHELL=/bin/sh
SHLVL=1
LOGNAME=uzivatel
PATH=/usr/bin:/bin
_=/usr/bin/env
« Poslední změna: 11 Červenec 2019, 11:30:56 od panRajce »

West

  • Člen
  • **
  • Příspěvků: 144
  • Karma: +9/-1
    • Zobrazit profil
Re:skript pro vypnutí PC - v Conky nebo jinak ?
« Odpověď #34 kdy: 11 Červenec 2019, 14:06:23 »
Výpis z Cron-u hovorí, že cestu /usr/bin potrebnú pre nvidia-settings obsahuje, tudíž chybu bude treba hľadať niekde inde.  Za pokus stojí zmena env premennej SHELL na /bin/bash, tak ako to máš vo výpise z terminálu. Na začiatku skriptu, ešte pred vykonávaním nvidia-settings by som dal:
env -u SHELL
env SHELL /bin/bash
Ale stretol som sa napríklad aj s tým, že niektoré programy nefungujú správne ak nebežia v termináli, chýba im obsah toho, čo vyhodí príkaz tty, alebo env premenná DISPLAY.

Pre začiatok by bolo múdre naštudovať ako narábať s nvidia-settings
https://manpages.ubuntu.com/manpages/precise/man1/alt-nvidia-current-updates-settings.1.html
Je tam niečo ako rozšírený výpis chýb (verbose), vyskúšal by som ho použiť, ovšem keď som to čítal ďalej a dostal som sa k --ctrl-display=CTRL-DISPLAY a -a, --assign=ASSIGN, tak som skôr toho názoru, že to ten terminál naozaj potrebuje. Doporučoval by som však opýtať sa niekoho, kto nvidia-settings bežne na Linuxe používa či tam neeistuje nejaký fígeľ.

juwa2

  • Závislák
  • ****
  • Příspěvků: 2891
  • Karma: +209/-38
    • Zobrazit profil
Re:skript pro vypnutí PC - v Conky nebo jinak ?
« Odpověď #35 kdy: 11 Červenec 2019, 14:52:54 »
Výpis z Cron-u hovorí, že cestu /usr/bin potrebnú pre nvidia-settings obsahuje, tudíž chybu bude treba hľadať niekde inde.  Za pokus stojí zmena env premennej SHELL na /bin/bash, tak ako to máš vo výpise z terminálu. Na začiatku skriptu, ešte pred vykonávaním nvidia-settings by som dal:
env -u SHELL
env SHELL /bin/bash
Ale stretol som sa napríklad aj s tým, že niektoré programy nefungujú správne ak nebežia v termináli, chýba im obsah toho, čo vyhodí príkaz tty, alebo env premenná DISPLAY.

Pre začiatok by bolo múdre naštudovať ako narábať s nvidia-settings
https://manpages.ubuntu.com/manpages/precise/man1/alt-nvidia-current-updates-settings.1.html
Je tam niečo ako rozšírený výpis chýb (verbose), vyskúšal by som ho použiť, ovšem keď som to čítal ďalej a dostal som sa k --ctrl-display=CTRL-DISPLAY a -a, --assign=ASSIGN, tak som skôr toho názoru, že to ten terminál naozaj potrebuje. Doporučoval by som však opýtať sa niekoho, kto nvidia-settings bežne na Linuxe používa či tam neeistuje nejaký fígeľ.

Už jsem mu psal, že nemá ten skript spouštět v Terminále, ale spustit ho dvojklikem. A zjistit zda funguje.
Pokud ano, musí fungovat i pokud je spuštěn cronem. Protože po spuštění skriptu se pouze provedou příkazy v něm - cron už s tím nemá nic...

panRajce

  • Návštěvník
  • *
  • Příspěvků: 53
  • Karma: +0/-0
    • Zobrazit profil
Re:skript pro vypnutí PC - v Conky nebo jinak ?
« Odpověď #36 kdy: 11 Červenec 2019, 15:00:28 »
@WEST

také tu stránku mám otevřenou .... zjišťuji třeba možnost jestli se dá přepnout nějak typ výpis hodnoty (laicky = z numerické převést na textový řetězec)

Ale čímdále se kloním k variantě jít přes nvidia-smi .... ač zatím u mých karet neumí číst Utilization ... tak se probíhající výpočet pro vypnutí PC dá vysledovat i jinými parmetry.
A v budoucnu jestli se dočkám upgrade, třeba na 10-tkovou řadu, nebo nedejbožže na RTXa, tak už by mohl umět číst i tento parametr.

Už jsem mu psal, že nemá ten skript spouštět v Terminále, ale spustit ho dvojklikem. A zjistit zda funguje.
A já jsem odpovídal, že dvojklikem mi otvírá .sh v Textovém editoru  :-[ .... nastavení spustitelnosti jsem také provedl, ale dvojklik stále jede při starém

PS: lze nějak zadat, aby ECHO vypsal na konec souboru ale začátek ?  ;)

juwa2

  • Závislák
  • ****
  • Příspěvků: 2891
  • Karma: +209/-38
    • Zobrazit profil
Re:skript pro vypnutí PC - v Conky nebo jinak ?
« Odpověď #37 kdy: 11 Červenec 2019, 15:29:46 »
1.) Co se bude dít po dvojkliku na spustitelný soubor se nastavuje v nastavení správce souborů. Možnosti jsou tam tři:
zobrazit obsah
spustit
zeptat se co udělat (zobrazit obsah, spustit nebo spustit v terminálu)
Takže si to přepni.

2.) echo >> vypisuje pouze na konec souboru

panRajce

  • Návštěvník
  • *
  • Příspěvků: 53
  • Karma: +0/-0
    • Zobrazit profil
Re:skript pro vypnutí PC - v Conky nebo jinak ?
« Odpověď #38 kdy: 11 Červenec 2019, 15:33:41 »
1.) Co se bude dít po dvojkliku na spustitelný soubor se nastavuje v nastavení správce souborů. Možnosti jsou tam tři:
zobrazit obsah
spustit
zeptat se co udělat (zobrazit obsah, spustit nebo spustit v terminálu)
Takže si to přepni.

mám to ;) ... jsem přeci jenom LAMA, takže mi trvalo, než jsem našel menu Předvolby pro Nautilus :D - když je "nahoře" v doku

EDIT: Ok, spuštěno dvojklikem .... zápis do souboru probíhá v pořádku i s hodnotou  ;)
« Poslední změna: 11 Červenec 2019, 15:38:11 od panRajce »

panRajce

  • Návštěvník
  • *
  • Příspěvků: 53
  • Karma: +0/-0
    • Zobrazit profil
Re:skript pro vypnutí PC - v Conky nebo jinak ?
« Odpověď #39 kdy: 12 Červenec 2019, 13:27:45 »
Tak vše je relativně funkční, včetně vypnutí ... ale jen pokud skript pustím přes terminál nebo dvojklikem!
Z Cronu prostě i nadále odmítá. Zkusil jsem zaměnit nvidia-settings za nvidia-smi se sledováním rychlosti větráku. Tam funguje i výpis hodnot do logu přes Cron. Ale i když proběhne celý proces, tak na konci se PC nevypne.

Trochu to tu zahltím zase kódy. Třeba někdo bude mít ještě nějaký nápad, nebo odhalí mojí začátečnickou chybu. (již jsem si pozměnil názvy souborů)

PS: .... ano, uživatelské jméno mám "uzivatel"  :-X

1) Cron tabulka (cronetab -l)
Kód: [Vybrat]
*/5 * * * * /home/uzivatel/Install/Octane/Crontab/GPU-off.sh
2) script (včetně nastavení spustitelnosti), rozhodně by šel napsat úhledněji a pro zfuunkčnění z něj lecos ještě vyhážu :)
Kód: [Vybrat]
#!/bin/bash
echo "1) prvni overeni" >> $HOME/Install/Octane/Crontab/GPU-off.log
GPU1=$(exec nvidia-smi --format=csv,noheader,nounits --id=0 --query-gpu=fan.speed)
echo $GPU1 >> $HOME/Install/Octane/Crontab/GPU-off.log

if [[ ${GPU1} -le 40 ]]; then
sleep 60
echo "2) druheee overeni" >> $HOME/Install/Octane/Crontab/GPU-off.log
GPU2=$(exec nvidia-smi --format=csv,noheader,nounits --id=0 --query-gpu=fan.speed)
echo $GPU2 >> $HOME/Install/Octane/Crontab/GPU-off.log
if [[ ${GPU2} -le 40 ]]; then
sleep 60
echo "3) VYPNUTI" >> $HOME/Install/Octane/Crontab/GPU-off.log
GPU3=$(exec nvidia-smi --format=csv,noheader,nounits --id=0 --query-gpu=fan.speed)
echo $GPU3 >> $HOME/Install/Octane/Crontab/GPU-off.log
if [[ ${GPU3} -le 40 ]]; then
dbus-send --system --print-reply --dest=org.freedesktop.login1 /org/freedesktop/login1 org.freedesktop.login1.Manager.PowerOff boolean:false
fi
fi
fi

... všechno proběhne .... uusuzji z toho, že postupně dochází k výpisům do logu. Kdyby nebyl schopen vzít hodnotu pro fan.speed, tak by skončil prvním výpisem a ten by se stále opakoval, tak jak by Cron spouštěl script po 5min. Ale po výpisu do logu VYPNUTI stejně nedojde k vypnutí PC.

zkoušel jsem dát i řádek
Kód: [Vybrat]
dbus-send --system --print-reply --dest=org.freedesktop.login1 /org/freedesktop/login1 org.freedesktop.login1.Manager.PowerOff boolean:false
jo a v /var/log/syslog je tohle
Kód: [Vybrat]
Jul 12 13:15:01 Ubuntu CRON[16400]: (uzivatel) CMD (/home/uzivatel/Install/Octane/Crontab/GPU-off.sh)
Jul 12 13:17:01 Ubuntu CRON[19916]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Jul 12 13:17:01 Ubuntu CRON[16399]: (CRON) info (No MTA installed, discarding output)

juwa2

  • Závislák
  • ****
  • Příspěvků: 2891
  • Karma: +209/-38
    • Zobrazit profil
Re:skript pro vypnutí PC - v Conky nebo jinak ?
« Odpověď #40 kdy: 12 Červenec 2019, 14:27:30 »
1.) Ten příkaz pro vypnutí ti (samostatně, v terminálu) funguje?  Můžeš tam dát poweroff
Nebo aby se ti při testování pořád PC nevypínal, můžeš to testovat se suspend, PC se jen uspí do RAM:
Kód: [Vybrat]
dbus-send --system --print-reply --dest=org.freedesktop.login1 /org/freedesktop/login1 org.freedesktop.login1.Manager.Suspend boolean:false
Nicméně celé ty příkazy pro vypnutí bych dával do uvozovek - to je možná příčina proč se to nevypne....

2.) Problém s nefunkčností přes cron zkus vyřešit pomocným skriptem ve kterém bude jako příkaz:
Kód: [Vybrat]
/home/uzivatel/Install/Octane/Crontab/GPU-off.sh
A cronem spouštěj tento pomocný skript. Třeba to "zabere".
Ale osobně si stejně myslím, že máš nějaký bug v systému, není důvod aby funkční skript nefungoval při spuštění cronem, sám jsem to schválně zkoušel....

panRajce

  • Návštěvník
  • *
  • Příspěvků: 53
  • Karma: +0/-0
    • Zobrazit profil
Re:skript pro vypnutí PC - v Conky nebo jinak ?
« Odpověď #41 kdy: 12 Červenec 2019, 14:53:08 »
1.) Ten příkaz pro vypnutí ti (samostatně, v terminálu) funguje?  Můžeš tam dát poweroff
Nebo aby se ti při testování pořád PC nevypínal

poweroff v terminálu okamžitě vypne PC bez jakýchkoliv cavyků :)

Zkusím tam dát ještě ty uvozovky  ;)


2.) Problém s nefunkčností přes cron zkus vyřešit pomocným skriptem ve kterém bude jako příkaz

chápu-li to správně, tak Cronem spustit jednořádkový skript který spustí můj script ?

No něco s tím systémem asi opravdu bude, ale otázka čím se to mohlo stát.

West

  • Člen
  • **
  • Příspěvků: 144
  • Karma: +9/-1
    • Zobrazit profil
Re:skript pro vypnutí PC - v Conky nebo jinak ?
« Odpověď #42 kdy: 12 Červenec 2019, 16:38:32 »
=>  není důvod aby funkční skript nefungoval při spuštění cronem, sám jsem to schválně zkoušel....
Bolo by dobré uviesť na pravú mieru čo si v tom skripte mal napísané.
Ide o to či si tam mal rovnaký text ako má tazateľ s tým nvidia-settings.
Verím, že aj tazateľ by nemal problém so skriptom spustenýcm z Cron-u ak by z toho skriptu odstránil riadky kde je nvidia-settings.

panRajce

  • Návštěvník
  • *
  • Příspěvků: 53
  • Karma: +0/-0
    • Zobrazit profil
Re:skript pro vypnutí PC - v Conky nebo jinak ?
« Odpověď #43 kdy: 12 Červenec 2019, 20:49:01 »
@WEST
Máš to volaké popletené. Já jsem tazatel. Vzorec skriptu mi dal JUWA2, ale současný celý script máš ode mne o kus výše.
Měl jsem dva problémy.
1. nvidia-settings = po spuštěním Cronem se do logu nevypisovaly hodnoty, použil jsem nvidia-smi a hodnoty se vypisují. tím pádem si mohu být jist, že jsou správně převzaty do proměnné.

2. spuštění "koncového" příkazu ve skriptu = spustím li skript jinou cestou než Cronem, pak vše projde hladce na 100%, nechám-li script projít přes Cron, tak poslední příkaz, a je jedno jestli tam je shutdown; poweroff, blender, gedit, zkoušel jsem různé, nic z toho se nespustí, ani se "sudo"

Odstranit řádky s nvidia-settings, ty už jsou. A když odstraním nvidia -smi, tak jak mám pak získávat hodnoty pro splnění podmínky? "když není zatížená grafická karty, tak vypni počítač"

juwa2

  • Závislák
  • ****
  • Příspěvků: 2891
  • Karma: +209/-38
    • Zobrazit profil
Re:skript pro vypnutí PC - v Conky nebo jinak ?
« Odpověď #44 kdy: 12 Červenec 2019, 21:10:13 »
Zkoušels ten "pomocný" skript?  Stejný můžeš použít pro příkaz který se neprovede (do svého skriptu místo toho příkazu napíšeš cestu k pomocnému skriptu který obsahuje ten příkaz).

West

  • Člen
  • **
  • Příspěvků: 144
  • Karma: +9/-1
    • Zobrazit profil
Re:skript pro vypnutí PC - v Conky nebo jinak ?
« Odpověď #45 kdy: 12 Červenec 2019, 21:36:45 »
Viem, že si tazateľ. Len sa mi nechcelo robiť CNTR-C -> CNTR-V tvojho nicku.
Pre bod 2.) výpis správy do logu pomocou echo ti z Cron-u funguje.
gedit z cronu fungovať nemôže, nemá okno do ktorého vykresluje grafiku. Mne to do logu vypíše CMDOUT (Cannot open display: )
Pozri si čo sa v systéme Cron-om spúšťa a ako to vyzerá. (cron.hourly, cron.daily ... etc). Možno prídeš na to, že v tých skriptoch sú len systémové príkazy, alebo iné skripty v ktorých sú zase len príkazy. echo je príkaz, preto funguje.

West

  • Člen
  • **
  • Příspěvků: 144
  • Karma: +9/-1
    • Zobrazit profil
Re:skript pro vypnutí PC - v Conky nebo jinak ?
« Odpověď #46 kdy: 12 Červenec 2019, 21:51:21 »
Jo a to prečo nejde posledný príkaz môže byť spôsobené tým, že to na tom predchádzajúcom vytuhne, alebo sa ukončí bez toho aby odovzdal riadenie naspäť do shell-u.

juwa2

  • Závislák
  • ****
  • Příspěvků: 2891
  • Karma: +209/-38
    • Zobrazit profil
Re:skript pro vypnutí PC - v Conky nebo jinak ?
« Odpověď #47 kdy: 13 Červenec 2019, 00:30:49 »
Viem, že si tazateľ. Len sa mi nechcelo robiť CNTR-C -> CNTR-V tvojho nicku.
Pre bod 2.) výpis správy do logu pomocou echo ti z Cron-u funguje.
gedit z cronu fungovať nemôže, nemá okno do ktorého vykresluje grafiku. Mne to do logu vypíše CMDOUT (Cannot open display: )
Pozri si čo sa v systéme Cron-om spúšťa a ako to vyzerá. (cron.hourly, cron.daily ... etc). Možno prídeš na to, že v tých skriptoch sú len systémové príkazy, alebo iné skripty v ktorých sú zase len príkazy. echo je príkaz, preto funguje.

Gedit a další GUI aplikace samozřejmě z cronu fungují, akorát je to potřeba v příkazu ošetřit:
Kód: [Vybrat]
* * * * * DISPLAY=:0 gedit
Toto řešení ale funguje pouze při zadání příkazu přímo do crontabu, nikoli ve skriptech spouštěných cronem.

Aby tedy bylo možné spouštět GUI aplikace cronem pomocí skriptu, je třeba (do skriptu) před vlastní příkaz vložit:
Kód: [Vybrat]
eval "export $(egrep -z DBUS_SESSION_BUS_ADDRESS /proc/$(pgrep -u $LOGNAME gnome-session)/environ)"

Takže celý skript pak bude např.
Kód: [Vybrat]
#!/bin/bash
eval "export $(egrep -z DBUS_SESSION_BUS_ADDRESS /proc/$(pgrep -u $LOGNAME gnome-session)/environ)"
gedit
notify-send "gedit je spuštěný" "`date +%H:%M`" -t 20000 -i face-laugh

Stejný postup platí i pro rootovský cron.




panRajce

  • Návštěvník
  • *
  • Příspěvků: 53
  • Karma: +0/-0
    • Zobrazit profil
Re:skript pro vypnutí PC - v Conky nebo jinak ?
« Odpověď #48 kdy: 13 Červenec 2019, 11:01:56 »
Zkoušels ten "pomocný" skript?
Přiznám se, že to jsem ještě nezkusil. Nějak jsem se mi nedostávalo času. Ale dneska bych na to rád skočil.

Ještě mne pak napadlo vyzkoušet si ten skript na jiném PC, kde mi běží čisté Ubuntu jen s x11vnc a Vlc playerem (mediální stanice). Jen budu muset vystrachat nějakou funkci ala nvidia-smí, ale pro Intel. Respektive prostě řádky se SMI něčím nahradit, pro if/then.

West

  • Člen
  • **
  • Příspěvků: 144
  • Karma: +9/-1
    • Zobrazit profil
Re:skript pro vypnutí PC - v Conky nebo jinak ?
« Odpověď #49 kdy: 13 Červenec 2019, 11:48:06 »
To je síce fajn, že ide spusť aj gedit, akurát je v tom taký malý háčik. GUI aplikácie zvyčajne predpokladajú interakciu užívateľa. Zbytočne budem Crono-m otvárať grafický editor, keď v ňom z Cronu nespravím ani čiarku.