Jaki jest najlepszy sposób, aby ekran był automatycznie uruchamiany po otwarciu nowej powłoki, czy to poprzez logowanie, xterm, czy cokolwiek innego?
Widzę, że najczęstszą rekomendacją jest umieszczenie exec screen
w pliku rc lub logu / profilu twojej zwykłej powłoki, ale na przykład dla tcsh, powłoki logowania uruchamiają .login na końcu, podczas gdy powłoki nie zalogowane czytają .cshrc na końcu. Jeśli włożę exec screen
.cshrc, powłoki logowania nie źródło pliku .login, a jeśli włożę go do .login, powłoki bez logowania nie uruchomi się ekran. Zakładam, że istnieją podobne problemy z innymi powłokami.
unix
shell
login
gnu-screen
wfaulk
źródło
źródło
Odpowiedzi:
Jednym ze sposobów jest:
Zauważ, że jest to napisane dla
bash
, ale również powinno być podobnecsh
. Ustaw to do.cshrc
wykonania dla wszystkich powłok.Inny sposób: Można po prostu ustawić
screen
jako powłokę logowania w/etc/passwd
sobie, i umieścić tę linię do listy~/.screenrc
: (Fix ścieżkę, oczywiście).Może to jednak uszkodzić programy, które uruchamiają powłokę logowania zdefiniowaną
/etc/passwd
dla różnych poleceń.( Edycja: nie zapomnij dodać ekranu
/etc/shells
)źródło
Stare pytanie, ale google szukanie tego samego przywiodło mnie tutaj, więc oto odpowiedź dla każdego, kto natknie się na tę stronę.
Najlepszą rzeczą, jaką do tej pory znalazłem, jest byobu, jeśli ma go Twoja dystrybucja. Posiada opcję uruchamiania przy logowaniu i kontroluje wiele ekranów jednocześnie.
Możesz odłączyć i wylogować się w jednym miejscu, a następnie zalogować się do tej samej sesji w innym miejscu.
Uważam, że ekran świetnie nadaje się do uruchamiania procesów serwera, ale byobu doskonale nadaje się do codziennych czynności.
źródło
Co powiesz na używanie chsh:
chsh /usr/bin/screen
Ustawia domyślną powłokę logowania w / etc / passwd. (też możesz to tam mieć)
źródło