Jak uruchomić rc.local jako zwykły użytkownik?

8

Mam pochwały, że chcę być nazywany zaraz po zalogowaniu, w tym „startx”, i pomyślałem, że rc.localwydaje się dla nich miłym miejscem, ale problem polega na tym, że rc.localjest uruchamiany jako root i nie chcę tego, oczywiście mogę to zrobić coś takiego:

su username -c somecommend-here

Ale szukam sposobu na uruchomienie całego pliku „rc.local” jako zwykły użytkownik, a może jest lepsze miejsce na umieszczenie mojego kodu?

PS. Używam Ubuntu-mini-remiks 1104i386

Dzięki

omeid
źródło
AFAIK rc.local jest wykonywany równolegle do logowania na końcu sekwencji rozruchowej. Mam na myśli, że zostanie wykonane, nawet jeśli się nie zalogujesz, ale możesz być zalogowany i może to być oczekiwanie na wykonanie.
Javier Rivera
@JavierRivera Więc jakie byłoby rozwiązanie?
omeid

Odpowiedzi:

6

Najprostszym sposobem na uruchomienie polecenia podczas logowania użytkownika jest utworzenie .desktoppliku dla polecenia i umieszczenie go w ~/.config/autostartfolderze. Jak wygląda plik na pulpicie? Oto przykład, który pobiera stronę główną Ask Ubuntu za wgetkażdym razem, gdy użytkownik się loguje:

[Desktop Entry] 
Name=Launch wget
Comment=Fetches the Ask Ubuntu home page.
Exec=wget http://askubuntu.com/
Nathan Osman
źródło
Nie wydaje się dobrym pomysłem uruchomienie startx(jak poprosił PO) po graficznym zalogowaniu.
enzotib
@enzotib: Nie ma wzmianki o graficznym logowaniu.
Nathan Osman
Może źle zrozumiałem pytanie, wierzyłem użytkownik mógłby zacząć startxod rc.local. Przepraszam
enzotib,
1

Nie znam różnic między /etc/rc.local i crontab, ale generalnie zakładam konto usługi i dodam odpowiednią pracę. Na przykład: sudo crontab -u p4padmin -e

@reboot ~/bin/p4p -d -r ~/var/p4p/cache/foo -p 2020 -t depot:2020 -L ~/var/p4p/log/foo.log

Nie musisz się logować, aby usługa mogła zostać wykonana.

Stephen Niedzielski
źródło
0

Linuksem jest dołączanie poleceń ~/.bashrczamiast /etc/rc.local.

Każdy użytkownik ma .bashrcw swoim katalogu domowym. Ten plik skryptowy jest uruchamiany automatycznie zaraz po zalogowaniu użytkownika. Jest uruchamiany przy użyciu poświadczeń użytkownika, więc supolecenie nie jest potrzebne.

Wydaje mi się, że tego właśnie szukasz.

thom
źródło
Nie jest to do końca poprawne, ponieważ .bashrcnie jest czytane, gdy użytkownik loguje się na przykład przy użyciu normalnego lightdm.
Za szybko doszedłem do wniosku, że użytkownik używał loginu wiersza polecenia zamiast menedżera wyświetlania z powodu wspomnianej przez niego „ręcznej” komendy startx… moje złe :-)
thom