Skocz do zawartości

Polecenia do autostartu z prawami roota


Rekomendowane odpowiedzi

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ć?

Odnośnik do komentarza
Udostępnij na innych stronach

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ą.

Odnośnik do komentarza
Udostępnij na innych stronach

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

Odnośnik do komentarza
Udostępnij na innych stronach

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 :)

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...