Jump to content
bartoszp1992

Polecenia do autostartu z prawami roota

Recommended Posts

Cześć,

temat powiązany z poprzednim. Po uruchomieniu sterowników do myszki, przyszła konieczność właczania tego wszystkiego ze startem systemu.

polecenie które musze wykonać to

sud

sudo logid

Powinno działać przy starcie i najlepiej bez podawania hasła. Oczywiście utworzenie skrótu .desktop w ~/.config/autostart o treści:

[Desktop Entry]
Name=Logid
Comment=Driver for MX master
Exec=sudo logid
Terminal=false
Type=Application

Niewiele dało, bo program nie startuje.

Podłubałem trochę w internetach, i wewnątrz /etc/sudoers.d dodałem nowy plik o nazwie logid, w którym umieściłem:

%admin ALL=NOPASSWD: /usr/local/bin/logid

niestety, polecenie logid nadal wymaga hasła. Jak to rozwiązać?

Share this post


Link to post
Share on other sites

Na początek spróbuj tak, ale trzeba zainstalować pakiet cronie:

Podnieś uprawnienia:

sudo su -
dnf install cronie

Wystartuj usługę:

systemctl start crond

Jako edytora użyjemy nano:

export EDITOR=nano

Trzeba poinformować powłokę, że będzie domyślnym edytorem:

echo "export EDITOR=nano" >> .bashrc

Edytujesz wpis "crona":

crontab -e

Wyświetl sobie ścieżkę i ją skopiuj:

echo $PATH

W pliku, który wyświetli się po  crontab -e dajesz linię i po znaku = wstawiasz wynik poprzedniego polecenia. Jeśli w ścieżce nie ma "/usr/local/bin", to dodaj po dwukropku.

PATH=

LInię niżej możesz dać jeszcze:

MAILTO=root

W następnej linii umieść:

@reboot /usr/local/bin/logid &>/dev/null

Zapisz zmiany Ctrl+s, wyjdź z edytora Ctrl+x. Po ponownym uruchomieniu komputera demon logid powinien zostać uruchomiony z prawami roota.

 

EDYCJA:

To jest tylko na próbę do sprawdzenia. Jakbym to zrobił? Za pomocą usługi systemd, na przykład:

https://github.com/PixlOne/logiops/blob/master/src/logid/logid.service.cmake .

Poszukaj o usługach, jak je pisać. Co to jest cron i co się tam wyżej wydarzyło. Zabawy z sudo "nopasswd" odradzam - kombinacje alpejskie prędzej czy później się zemszczą.

Share this post


Link to post
Share on other sites

Tak jak napisał marcin82 musisz uruchomić program za pomocą systemd (crona sobie odpuść, nie do tego on służy) prawdopodobnie nie musisz nic pisać, przy instalacji plik logid.service powinien być przekopiowany do odpowiedniego katalogu i wystarczy usługę wystartować. Uruchom polecenie

systemctl status logid.service

jeżeli Ci się nie wyświetli komunikat

Unit logid.service could not be found. 

to plik jest w systemie i wystarczy uruchomić usługę poleceniem

systemctl start logid.service

Jeżeli wszystko działa, tak jak powinno to włącz usługę na stałe poleceniem

systemctl enable logid.service

Natomiast jeżeli wyświetlił Ci się komunikat o braku pliku, to musisz go ręcznie skopiować z katalogu w którym masz źródła programu do katalogu /usr/lib/systemd/system/ możliwe, że po tej operacji będziesz musiał przeładować systemd poleceniem systemctl daemon-reload lub ponownie uruchomić system

Share this post


Link to post
Share on other sites
17 godzin temu, sunrise napisał:

Tak jak napisał marcin82 musisz uruchomić program za pomocą systemd (crona sobie odpuść, nie do tego on służy) prawdopodobnie nie musisz nic pisać, przy instalacji plik logid.service powinien być przekopiowany do odpowiedniego katalogu i wystarczy usługę wystartować. Uruchom polecenie


systemctl status logid.service

jeżeli Ci się nie wyświetli komunikat


Unit logid.service could not be found. 

to plik jest w systemie i wystarczy uruchomić usługę poleceniem


systemctl start logid.service

Jeżeli wszystko działa, tak jak powinno to włącz usługę na stałe poleceniem


systemctl enable logid.service

Natomiast jeżeli wyświetlił Ci się komunikat o braku pliku, to musisz go ręcznie skopiować z katalogu w którym masz źródła programu do katalogu /usr/lib/systemd/system/ możliwe, że po tej operacji będziesz musiał przeładować systemd poleceniem systemctl daemon-reload lub ponownie uruchomić system

Dziękuję, wszystko już śmiga :)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×