Odpowiedzi:
Jeśli chcesz, aby był globalny, zmodyfikuj
/etc/profile
lub dodaj skrypt do
/etc/profile.d
Jeśli chcesz, aby był specyficzny dla użytkownika, zmodyfikuj
/home/$USER/.profile
/usr/local/bin/pihole -cpolecenia autologin określonego użytkownika. Dodano tę linię do /home/$USER/.profile- nic się nie dzieje. Po dodaniu skryptu /etc/profile.ddziała, ale działa globalnie i uruchamia go nawet po otwarciu sesji ssh (co nie jest tym, czego chcę). Dodawanie do .bashrcdziała też, ale działa za każdym razem, gdy otwieram nową powłokę (co nie jest tym, czego chcę). Pytanie: Dlaczego dodawanie do /home/$USER/.profilenie działa?
Wystarczy dodać skrypt bash do aplikacji Autostart.
W polu polecenia wpisz
bash /full/path/to/bash/script.sh/
Jeśli chcesz być bardziej specyficzny dla bash, możesz także napisać swój kod w ~ / .bash_profile lub ~ / .bash_login.
Możesz na nim znaleźć dowolny skrypt, na przykład:
if [ -f ~/.bashrc ]; then
source ~/.bashrc
fi
/etc/profilelub $HOME/.profilelub$HOME/.bash_profile
Zdecydowanie odradzam używanie, /etc/profile.d/yourscript.shjeśli produkuje dane wyjściowe. Gdy korzystasz z nieinteraktywnej sesji, otrzymasz $TERM is not setwiadomość. Jest to zauważalne podczas korzystania z protokołu ssh, takiego jak scp. Zwykle nie jest to wielka sprawa, jednak Veeam nie lubi tego i rzuca ostrzeżenie. Wiem, że Veeam nie jest tutaj tematem, ale warto wspomnieć, że nie wszystkie aplikacje z wdzięcznością zignorują to $TERM is not setostrzeżenie.
Krótko mówiąc, jeśli skrypt generuje dane wyjściowe, umieść je w lokalizacjach określonych w pierwszym wierszu. Jeśli jednak modyfikujesz środowisko, a skrypt nie generuje danych wyjściowych, użyj tego drugiego.
.shjeśli umieścisz w nim swój skrypt/etc/profile.d/.chmode +x /etc/profile.d/myscript.shoczywiście też.