Pozdrav,
evo ja nisam dugo ništa pitao, sve sam ili sam riješavao ili nisam niti trebao pomoć ali ovoga puta nisam našao riješenje.
Koristim i3wm i kada želim isključiti računalo postavio sam shortcut koji zove i3nagbar sa opcijama shutdown i logout, naravno logout radi bez root privilegija, ali shutdown ne. Zna li tko kako mogu postaviti i3nagbar da zove shutdown bez root privilegija, pokušao sam izraditi programsku grupu za to i dati joj shutdown privilegije sa sudo, ali ne radi.
note: Ne želim dati useru privilegiju da gasi računalo, to bi značilo da root nije potreban ni za gašenje preko terminala ni bilo koji drugi scenarij. Želim da samo i samo i3nagbar osim root-a može gasiti računalo.
i3nagbar non-root shutdown
Moderator/ica: Moderatori/ce
- PunkBastard
- Postovi: 1975
- Pridružen/a: 19 srp 2011, 22:39
- Spol: M
- OS: Debian 7 Wheezy
- Lokacija: wonderland
i3nagbar non-root shutdown
I don't want to be a human. I want to see gamma rays, I want to hear x-rays and I want to smell dark matter. I want to reach out with something other than this prehensile paws and feel the solar wind of a super nova flowing over me.
- jurastublic
- Postovi: 1907
- Pridružen/a: 16 tra 2011, 08:34
- Spol: M
- OS: Mint 10 LXDE itd...
- Lokacija: i grupa Film
Re: i3nagbar non-root shutdown
Evo malo sam pogledao. Program shutdown je u vlasništvu roota pa su potrebne root privilegije (ili sudo). Ali možeš napraviti jednu skriptu koju će pokretati samo i3nagbar i samo njoj dati privilegiju da je sudo pokreće bez passworda.
Pošto ta skripta nije isto što i sam program shutdown, kod njega se ništa ne mijenja u privilegijama kad ga juzeri pokreću.
i3nagbar može pokretati skripte na način i3nagbar -b 'sudo skripta.sh' . Onda samo napraviš skriptu, staviš u nju samo "shutdown -P now" (ili /sbin/shutdown -P now ako nemaš taj path) i upišeš na kraju sudoersa (sa sudo visudo) nešto kao:
edit: i nezaboravi chmod +x skiptu
edit2: jao, vidim šta sam gore napisao pa ispravljam prije nego me razapnu:
"Program shutdown radi nešto s fajlovima koji su u vlasništvu roota a nemaju odobrene dozvole za tvog korisnika, pa su potrebne root privilegije itd..."
Pošto ta skripta nije isto što i sam program shutdown, kod njega se ništa ne mijenja u privilegijama kad ga juzeri pokreću.
i3nagbar može pokretati skripte na način i3nagbar -b 'sudo skripta.sh' . Onda samo napraviš skriptu, staviš u nju samo "shutdown -P now" (ili /sbin/shutdown -P now ako nemaš taj path) i upišeš na kraju sudoersa (sa sudo visudo) nešto kao:
Kod: Označi sve
punkbuster ALL=(root) NOPASSWD: /home/punkbuster/skripta.shedit2: jao, vidim šta sam gore napisao pa ispravljam prije nego me razapnu:
"Program shutdown radi nešto s fajlovima koji su u vlasništvu roota a nemaju odobrene dozvole za tvog korisnika, pa su potrebne root privilegije itd..."
- PunkBastard
- Postovi: 1975
- Pridružen/a: 19 srp 2011, 22:39
- Spol: M
- OS: Debian 7 Wheezy
- Lokacija: wonderland
Re: i3nagbar non-root shutdown
Hvala,
pokušati ću, ali pokušao sam istu stvar bez skripte, samo da bash direktno pozove i3nagbar i nije radilo.
pokušati ću, ali pokušao sam istu stvar bez skripte, samo da bash direktno pozove i3nagbar i nije radilo.
I don't want to be a human. I want to see gamma rays, I want to hear x-rays and I want to smell dark matter. I want to reach out with something other than this prehensile paws and feel the solar wind of a super nova flowing over me.
- jurastublic
- Postovi: 1907
- Pridružen/a: 16 tra 2011, 08:34
- Spol: M
- OS: Mint 10 LXDE itd...
- Lokacija: i grupa Film
Re: i3nagbar non-root shutdown
Posebna skripta u ovom slučaju služi da odvoji program shutdown od svijeta tako da on ostane kakav je bio.
Kako kažu programeri: "Kad zaglaviš i nema izlaza, samo dodaj novi sloj apstrakcije." Ili kako istu stvar kažu građevinari: "Kad pod ne paše jer je podloga neravna, dodaj glazuru." (ako si fušer - samo naguraj kartona - a vidio sam to i u informatici u skupim programima)
Ja inače nemam i3 tako da ćeš ti bolje znati kako idu argumenti za nagbar.
Nije mi posve jasno je li to desktop kratica ili tipkovnička kratica. Ako je desktop onda bi moralo raditi u exec= liniji .desktop fajla:
Ako je tipkovnička kratica, onda bindaj tu komandu u .config fajlu od i3wm.
Svejedno, za zanimaciju sam sada za svaki slučaj provjerio hoće li se očuvati ta indirekcija preko više komandi.
Napravio sam onu prvu skriptu, pa još jednu skriptu koja simulira i3nagbar i njoj poslao argumente.
prva skripta shootme.sh (i dodao je u sudoers kao iznimku):
skripta i3nagbarsim.sh
i onda sam u terminalu testirao sa:
I kod mene to radi.
Kako kažu programeri: "Kad zaglaviš i nema izlaza, samo dodaj novi sloj apstrakcije." Ili kako istu stvar kažu građevinari: "Kad pod ne paše jer je podloga neravna, dodaj glazuru." (ako si fušer - samo naguraj kartona - a vidio sam to i u informatici u skupim programima)
Ja inače nemam i3 tako da ćeš ti bolje znati kako idu argumenti za nagbar.
Nije mi posve jasno je li to desktop kratica ili tipkovnička kratica. Ako je desktop onda bi moralo raditi u exec= liniji .desktop fajla:
Kod: Označi sve
bash -c "i3nagbar -b 'isključi računalo' 'sudo /home/punkbuster/skripta.sh'"Svejedno, za zanimaciju sam sada za svaki slučaj provjerio hoće li se očuvati ta indirekcija preko više komandi.
Napravio sam onu prvu skriptu, pa još jednu skriptu koja simulira i3nagbar i njoj poslao argumente.
prva skripta shootme.sh (i dodao je u sudoers kao iznimku):
Kod: Označi sve
#!/bin/bash
#stavio sam da otvara filemanagera umjesto shutdown zbog jednostavnijeg testiranja
thunar
#shutdown -P now
Kod: Označi sve
#!/bin/bash
read -p "$1"
shift
eval "$@"
Kod: Označi sve
sudo -k #namjesti sudo da pita za pswd da ne ostane slobodno od prethodnog sudo timera
bash -c "$HOME/i3nagbarsim.sh 'isključi računalo' 'sudo $HOME/shootme.sh'"