Za każdym razem, gdy loguję się na mój serwer Linux, chciałbym, aby kilka poleceń było uruchamianych automatycznie (ustaw niektóre zmienne, zmień lokalizację itp.)
Należy to zrobić przy logowaniu użytkownika, a nie przy uruchamianiu systemu.
Jak mogę to ustawić?
man bash
).Odpowiedzi:
Wprowadź polecenia
~/.bashrc
. Wszystko tam jest wykonywane przy każdym logowaniu.Jeśli potrzebujesz komend do uruchamiania tylko podczas logowania przez ssh (ale nie przy logowaniu fizycznym), prawdopodobnie możesz przetestować obecność
SSH_CONNECTION
zmiennej środowiskowej i uruchamiać komendy tylko wtedy, gdy ona istnieje.źródło
Wystarczy umieścić to w ~ / .bashrc lub /etc/bash.bashrc, jeśli chcesz, aby dla wszystkich użytkowników:
źródło
screen
, mógłbym użyć twojej odpowiedzi i umieścićscreen
ją zamiast echa. Problem polega na tym, że zakończenie sesji ekranu powróci do monitu SSH zamiast wylogowania. Jednak napisanie tego komentarza dało mi odpowiedź: dodajlogout
polecenie poscreen
poleceniu.exec command
zastąpi bieżącą powłokę tym, co uruchomisz.Alternatywnie możesz określić polecenie, które zostanie uruchomione podczas wywoływania
ssh
:Ostatnie polecenie na liście powinno rozpocząć interaktywną sesję w preferowanej powłoce. Jeśli masz wiele poleceń do uruchomienia, rozważ utworzenie pliku skryptu na serwerze SSH.
źródło
Właściwie
~/.ssh/rc
jest to właściwe miejsce dla Ciebie, aby dodać polecenie do uruchomienia, gdy ty się zalogować, zamiast każdego użytkownika systemu.źródło