[ zorzj @ 26.02.2023. 12:31 ] @
Zdavo!
Treba mi neko da pomogne da napišem (ili da mi napiše) skriptu za ponovno pokretanje D-Link rutera. Telnet je omogućen na ruteru. Moram jednom ili dvaput da kliknem na ikonu skripte i da se ruter ponovo pokrene a bez unošenja korisničkog imena i lozinke za prijavu na ruter (da to bude u samoj skripti). Ja, generalno, nemam znanja da to uradim, ali trebalo i značilo bi mi da je imam.

Hvala unapred!

Evo kako sam zamislio i započeo to:
A evo i šta kaže Terminal kada pokrenem skriptu: i ništa se ne dešava tj. nema restarta rutera.

Ručno prijavljivanje na telnet i pokretanje komande 'reboot' i dalje radi savršeno. . .
Grešim li negde?

Hvala unapred!
[ jonathan @ 26.02.2023. 16:22 ] @
Verovatno treba da dodaš malu zadršku između unosa, jer ta skripta radi na slepo, tj, vrši unos nezavisno da li je dobila neki prompt. Nešto otprilike ovako:
Code:

(sleep 1; echo admin; sleep 1; echo 1peter2pan3; sleep 1; echo reboot; sleep 1; ) | telnet 192.168.0.1


Ukoliko imaš na mašini expect, bolje bi bilo ovako nešto
Code:

#!/usr/bin/expect -f

spawn telnet IP_ADDRESS_OF_YOUR_MODEM
expect "Login:"
send "USER_NAME\r"
expect "Password:"
send "YOUR_PASSWORD\r"
expect ">"
send "reboot\r"
send "logout\r"
expect eof


pp0z, Alek
[ zorzj @ 27.02.2023. 03:35 ] @
Radi kod koji si mi poslao i, iskreno, hvala na tome.
Sintaksom "chmod +x reboot_ruter.sh" sam dao privilegije skripti i radi kada kliknem na ikonu (takodje je Executable) ali kada desnim klikom kliknem na ikonu pa izaberem Properties, nema mogucnosti da promenim slicicu ikone. Mozeli to da se odradi i kako?

THX

[Ovu poruku je menjao zorzj dana 27.02.2023. u 05:15 GMT+1]
[ jonathan @ 27.02.2023. 15:34 ] @
To zavisi od toga koje ti je grafičko okruženje. Pošto ti je kao terminal na onom screenshotu otvoren Konsole, pretpostavljam da je KDE. U tom slučaju, nađi neki *.desktop fajl, iskopiraj ga negde kao "reboot.desktop" i prepravi exec i icon prema svojim željama.

pp0z.
[ zorzj @ 02.03.2023. 07:05 ] @
Hello.
Msalo kasnim sa odgovorom.
I ikonica je sredjena i sve fercera besprekorno!

Jos jednom HVALA na pomoci!
[ zorzj @ 07.03.2023. 06:17 ] @
Potrebna jos samo jedna pomoc ako je moguce.

Skripta koja ce fajl sa prilozene putanje prilikom svakog butovanja da setuje na "disabled" (inace je uvek na "enabled")
Code:
root/sys/devices/pci0000:00/0000:00:14.0/power/sudo nano wakeup (promena sadrzaja fajla 'wakeup' na 'disabled')

Ovo je kod kojim ja pristupam fajlu i otvaram ga putem nano editora i menjam mu status na "disabled" i to uvek moram da odradim rucno prilikom svakog ributa.

Ovo mi je bitno jer je to jedini proces koji mi budi komp iz "suspend" moda.

Opet, HVALA unapred!
[ jonathan @ 08.03.2023. 00:30 ] @
Ovo ti je baš trivijalan zadatak.
Code:

echo "disabled" > /sys/devices/pci0000:00/0000:00:14.0/power


Zavisno od svoje distribucije, dodaćeš to u /etc/rc.d/rc.local, ili u njegov ekvivalent.
To je fajlić, koji se izvršava poslednji pri butovanju.
[ zorzj @ 08.03.2023. 06:32 ] @
Evo odgovora sistema na echo sintaksu:

Inace (to sam zaboravio) izmena se vrsi u datoteci/fajlu 'wakeup' koji je vlasnistvo sistema (User:root, Group:root) a ne znam kako da promenim ownership/permission :(
Ako sam dobro skontao, sistem mi ne radi pod system.d vec pod vynit ili kako vec.

U pitanu je MX-21.3 (mx linux Kde Plasma) distro.
[ B3R1 @ 08.03.2023. 16:09 ] @
Paaaa ... to ces morati da izvrsis kao root, a koliko vidim ovaj prompt gore ('$') verovatno nisi root.

Uradi "sudo su" ... ili dodaj "sudo" na komandu pre toga.
[ Burgos @ 08.03.2023. 16:51 ] @
`sudo` na komandu neće biti dovoljno.

echo "disabled" | sudo tee /sys/devices...
[ zorzj @ 09.03.2023. 06:46 ] @
@B3R1
'sudo' ili 'sudo su' ne daje nikakvog efekta i odgovor sistema je isti: "Permission denied"

@Burgos
Ali zato
Code:
$ echo "disabled" | sudo tee /sys/devices/pci0000:00/0000:00:14.0/power/wakeup
[sudo] password for neogeo: 
disabled
radi savrseno.

Kako da sintaksu pretocim u skriptu koja nece da mi trazi da rucno unesem sudo password vec da to automatski odradi u pozadini tj. da u ovaj fajl 'wakeup' upise 'disabled' umesto postojece vrednosti?

THX
[ sdurut @ 09.03.2023. 08:55 ] @
Probaj sledeće

echo -e "YOURPASSWORD\n" | sudo -S yourcommand

U tvom slučaju komada bi trebala da izgeda ovako
echo -e "YOURPASSWORD\n" | sudo -S echo "disabled" | tee /sys/devices/pci0000:00/0000:00:14.0/power/wakeup

Ovo sam probao kod mene i radi sa korisničkog naloga. Listanje root procesa
echo -e "MOJPASWORD\n" | sudo -S ps U root
[ zorzj @ 09.03.2023. 09:14 ] @
Ovo radi
Code:
echo -e "MOJPASWORD\n" | sudo -S ps U root
i lista procese ali kada pretocim u sintaksu koja meni treba, ne radi nikako (probao vise varijanti predlozenog).

[ sdurut @ 09.03.2023. 09:21 ] @
Napisao si da ti ovo radi mada je meni bilo sumljivo

echo "disabled" | tee /sys/devices/pci0000:00/0000:00:14.0/power/wakeup

Po meni treba da izgleda ovako

echo -e "YOURPASSWORD\n" | sudo -S echo "disabled" > /sys/devices/pci0000:00/0000:00:14.0/power/wakeup

[Ovu poruku je menjao sdurut dana 09.03.2023. u 10:33 GMT+1]
[ zorzj @ 09.03.2023. 09:38 ] @
Ma radi extra
Code:
echo "disabled" | sudo tee /sys/devices/pci0000:00/0000:00:14.0/power/wakeup
ali mi trazi da unesem password a meni treba da automatizujem proces i da ne unosim sudo password da bi se napravljena skripta podigla i startovala sa sistemom kada radim reboot.
Ovo drugo
Code:
echo -e "YOURPASSWORD\n" | sudo -S echo "disabled" > /sys/devices/pci0000:00/0000:00:14.0/power/wakeup
ne radi uopste i dobijem izlaz: Permission denied.

Probaj svoju sintaksu kod sebe slobodno. Nece ostetiti sistem vec ce inhibirati XHCI tokom sleep moda da ne budi komp, samo da vidis kako se sintaksa ponasa.
[ sdurut @ 09.03.2023. 10:12 ] @
Nemam ovaj foder u kernel sys fajsl sistemu pa ne mogu da probam kod mene.

probaj korak po korak.
uradi prvo :
sudo su
Unesi password.
Onda

echo "disabled" > /sys/devices/pci0000:00/0000:00:14.0/power/wakeup
I vidi kako se ponaša. Obično se ovako menjaju paramtri kernela

Onda proveri sa
cat /sys/devices/pci0000:00/0000:00:14.0/power/wakeup

da li je promena uspela.
[ zorzj @ 09.03.2023. 15:44 ] @
Tako, pojedinacno, radi ali kao sintaksa nece

Kako to (a bez unosenja sudo passworda) pretociti u autostart skriptu?

THX
[ B3R1 @ 09.03.2023. 16:02 ] @
Citat:
zorzj: Tako, pojedinacno, radi ali kao sintaksa nece :(
Kako to (a bez unosenja sudo passworda) pretociti u autostart skriptu?

Nekada davno se to radilo tako sto ubacis tu komandu u /etc/rc.local ... sto i sada radi na vecini standardnih distribucija. Istina, na nekim rc.local je iskljucen iz lanca skripti koje se izvrsavaju po startovanju sistema i moras da ga eksplicitno ukljucis, a autori distribucija su to uradili s namerom da ljude uteraju u disciplinu da koriste systemd ...

Ne znam da li tvoja distribucija (MX) to podrzava.
[ sdurut @ 10.03.2023. 05:04 ] @
Mislim da sam napravio previd sa sledeću komandu

echo -e "YOURPASSWORD\n" | sudo -S echo "disabled" > /sys/devices/pci0000:00/0000:00:14.0/power/wakeup

Komanda izvrši echo "disabled" pod sudo permision a onda uradi redirekciju izlaza pod korisničkim nalogom na /sys/devices/pci0000:00/0000:00:14.0/power/wakeup
Zato prijavi permission denied i ne radi.

Napravi 2 skripta disablesleep.sh i disable.sh
disable.sh će da pozove disablesleep.sh pod sudo privilegijma.
test za disable iz konzole pozovi sa ./disable.sh
Kad kreiraš oba skripta promeni im privilegiju kao execute

chmod +x disablesleep.sh
chmod +x disable.sh


disablesleep.sh
-------------------------------------------------------------------------
#!/bin/bash

echo "disabled" > /sys/devices/pci0000:00/0000:00:14.0/power/wakeup

--------------------------------------------------------------------------

disable.sh
--------------------------------------------------------------------------
#!/bin/bash

echo -e "YOURPASSWORD\n" | sudo -S disablesleep.sh

------------------------------------------------------------------------
[ zorzj @ 10.03.2023. 08:50 ] @
@B3R1 'rc.local' se ne startuje sa sistemom pa moram skriptice da pravim a nisam bas vican tome

@sdurut Probacu sa obe skripte pa javljam sta se desava (radim po smenama pa ne stizem da odgovorim na vreme).
[ B3R1 @ 10.03.2023. 09:45 ] @
Citat:
zorzj: @B3R1 'rc.local' se ne startuje sa sistemom pa moram skriptice da pravim a nisam bas vican tome :(

Mora da postoje negde init scripts ... potrazi u dokumentaciji gde se nalaze na tvojoj distribuciji.

Imas i drugu opciju da skriptu disablesleep.sh koju ti je @sdurut predlozio stavis negde (npr. u /etc ili u /root dir) i onda da dodas tu skrptu u root crontab, da se izvrsava svakih 5 minuta - nesto poput:
Code:

$ sudo su
Password:
# crontab
*/5 * * * * /root/disablesleep.sh > /dev/null 2> /dev/null
<Ctrl-D>
#

I to je to, od tog momenta root ce svaki put izvrsavati tu skriptu na 5 minuta. Kada resetujes sistem skripta ce se prvi put izvrsiti 5 minuta nakon sto se crond startuje. A s obzirom da se crond startuje dok je sistem u runlevel 3, vrlo brzo nakon prvog starta skripta ce se startovati.

Ako hoces, mozes da postavis da se taj "echo" izvrsava i svaki minut, to ionako nece preterano opteretiti sistem:
Code:

* * * * * /root/disablesleep.sh > /dev/null 2> /dev/null

A ako si perfekcionista, skriptu disablesleep.sh mozes da preradis i da ne upisuje "disabled" ako je ta vrednost vec u fajlu:
Code:

#!/bin/bash
grep disabled /sys/devices/pci0000:00/0000:00:14.0/power/wakeup > /dev/null 2> /dev/null
if [ "$?" -eq "0" ]; then
    exit
else
    echo "disabled" > /sys/devices/pci0000:00/0000:00:14.0/power/wakeup 2> /dev/null
fi
[ zorzj @ 10.03.2023. 10:09 ] @
@B3R1
Nadjoh tu 'rc.local' skriptu
Dodao sam pred kraj skripte
Code:
echo "disabled" > /sys/devices/pci0000:00/0000:00:14.0/power/wakeup
, odraio reboot i radi ko' DOXA !!!

HVALA SVIMA NA NESBICNOJ POMOCI !!!

(resenje je bilo kratko i jasno... rc.local)
[ sdurut @ 10.03.2023. 10:58 ] @
Evo neki tutorial kako da uključiš rc.local u systemd. Možda pomogne


Enable rc.local
[ B3R1 @ 10.03.2023. 12:22 ] @
Svaki Unix ima drugo mesto za rc.local - standardno je /etc/rc.local, ali na razlicitim Linux distribucijama to varira ... ponekad je u /etc/init.d/, ponekad u /etc/rc.d/ ...

Ali to je to. Super, bitno je da radi. :-)
[ zorzj @ 12.03.2023. 08:04 ] @
Jedno pitanjce za sve:

- Kako da odradim 'suspend' iz Konsole obzirom da ovaj distro ne koristi 'systemd' vec 'sysVinit' tako da komanda
Code:
systemctl suspend
ne radi

THX
[ B3R1 @ 12.03.2023. 11:10 ] @
Imas li pm-suspend ili pm-hibernate? Probaj nesto od ta dva.
[ zorzj @ 12.03.2023. 12:18 ] @
Ne radi ni to obzirom da su to systemd orijentisane komande.
Probao sam kada sam probao i 'systemctl'
[ zorzj @ 16.03.2023. 04:00 ] @
Citat:
B3R1:
Imas li pm-suspend ili pm-hibernate? Probaj nesto od ta dva.

Hm.
Upravo, ponovo, probah "pm-suspend" i, gle cuda, radi!
Radi sa root privilegijom ali radi.

THX
[ B3R1 @ 16.03.2023. 10:29 ] @
Citat:
zorzj: Hm.
Upravo, ponovo, probah "pm-suspend" i, gle cuda, radi!
Radi sa root privilegijom ali radi.

THX

Pa za vecinu sistemskih stvari ti treba sudo ... to se podrazumeva. :-)