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 -c
polecenia autologin określonego użytkownika. Dodano tę linię do /home/$USER/.profile
- nic się nie dzieje. Po dodaniu skryptu /etc/profile.d
działa, ale działa globalnie i uruchamia go nawet po otwarciu sesji ssh (co nie jest tym, czego chcę). Dodawanie do .bashrc
dział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/.profile
nie 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/profile
lub $HOME/.profile
lub$HOME/.bash_profile
Zdecydowanie odradzam używanie, /etc/profile.d/yourscript.sh
jeśli produkuje dane wyjściowe. Gdy korzystasz z nieinteraktywnej sesji, otrzymasz $TERM is not set
wiadomość. 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 set
ostrzeż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.
.sh
jeśli umieścisz w nim swój skrypt/etc/profile.d/
.chmode +x /etc/profile.d/myscript.sh
oczywiście też.