Jump to content

Polecenia do autostartu z prawami roota


bartoszp1992
 Share

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

Link to comment
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ą.

Link to comment
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

Link to comment
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 :)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...