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


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/

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.


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.


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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.