Program startowy w ubuntu z sudo

Witam! Gdy w terminalu wpisze

sudo logkeys -s --output /var/log/logkeys.log --keymap ~/sk_QWERTY.map

program odpala się i działa, lecz gdy dodam takie polecenie do programów startowych to się nie odpala

dodałem też skrypt 

stanek@stanek:~$ cat /etc/init.d/logkeys-start
#!/bin/bash
sudo logkeys -s --output /var/log/logkeys.log --keymap ~/sk_QWERTY.map

Który również nie uruchamia tego programu przy starcie. Coś robię źle?

Skasuj że skryptu sudo a dodaj skrypt do startu jako root

Czy to nie przypadkiem program do pracy z X-ami?

Zamiast sudo użyj

su -c polecenie

A co to jest za system? Może pakiet dostarcza plik demona / usługi?

 

Podaj wynik:

dpkg -L logkeys

Na jakim poziomie uruchomieniowym to odpalasz? Dodaj skrytp do rc.local i zobacz czy działa.

Jak już to sudo bez hasła.

Pozostawię to bez komentarza.

Ewnutalnie visudo i nadać sobie uprawienia do uruchamiania tego polecenie bez podowania hasła o tak http://askubuntu.com/questions/246455/how-to-give-nopasswd-access-to-multiple-commands-via-sudoers plik edytujemy poleceniem:

sudo EDITOR=nano visudo

Ale to trochę takie wyważanie otwartych drzwi - lepiej użyć rc.local tak jak pisze roobal

stanek.94 nie wyjaśnił czy chce skrypt uruchamiać z systemem, czy z uprawnieniami roota przy logowaniu jako użytkownik (ew. skrypty startowe KDE). Poza pierwszym przypadkiem rc.local na niewiele się przyda

 

 

 

 

Jasne… a ten tekst to niby co?

To, że su bez hasła nie użyjesz, a mowa jest o skrypcie, a nie pojedynczym poleceniu.

stanek@stanek:~$ dpkg -L logkeys
/.
/etc
/etc/default
/etc/default/logkeys
/etc/init.d
/etc/init.d/logkeys
/usr
/usr/bin
/usr/bin/logkeys
/usr/share
/usr/share/man
/usr/share/man/man8
/usr/share/man/man8/logkeys.8.gz
/usr/share/doc
/usr/share/doc/logkeys
/usr/share/doc/logkeys/README.gz
/usr/share/doc/logkeys/copyright
/usr/share/doc/logkeys/README.Debian
/usr/share/doc/logkeys/changelog.Debian.gz
/usr/share/doc/logkeys/TODO

W sumie to nie wiem sam :smiley: Program logkeys zapisuje wpisane klawisze, czyli keylogger. Jak najlepiej ustawić go w autostarcie?

No to teraz sprawdź czy usługa ma być uruchamiana na co najmniej 5 poziomie. Przeczytaj plik:

/usr/share/doc/logkeys/README.Debian

Ustaw odpowiednie opcje w pliku:

/etc/default/logkeys

====

Odnośnie uruchamiania z sudo po starcie systemu => można do tego wykorzystać crona , ale użytkownika root. Wtedy niepotrzebne są kombinacje z suso, su -c i innymi rzeczami. Po kolei:

sudo su -

export EDITOR=/usr/bin/nano

crontab -e

Dopisujesz linijkę:

@reboot logkeys -s --output /var/log/logkeys.log --keymap ~/sk_QWERTY.map

Zapisujesz zmiany => lewy Ctrl + O [Enter] i kończysz edycję tabeli crona skrótem zamykąjącym edytor tekstu => Ctrl+X.

 

Po restarcie komputera sprawdź czy proces / program działa:

ps aux | grep logkeys

Pomogło ustawienie “/etc/default/logkeys”

Dzięki za pomoc :slight_smile: