Chcę mieć możliwość uruchamiania sesji ekranowych na zdalnych serwerach z jednego polecenia ssh na moim pulpicie. Wygląda jednak na to, że screen potrzebuje terminala, który nie jest dostępny po uruchomieniu polecenia przez ssh.
To oczywiste
ssh [email protected] screen "tail -f /var/log/messages"
(jako przykład) nie działa i daje
Must be connected to a terminal.
Chcę, aby ssh uruchomił polecenie pod ekranem, abym mógł zalogować się później i dołączyć tak, jak do sesji ekranowej, którą uruchomiłem ręcznie.
ssh
terminal
gnu-screen
tty
Thomas Vander Stichele
źródło
źródło
Odpowiedzi:
Spróbuj użyć opcji -t do ssh
Od człowieka ssh
źródło
ssh -t user@machine tmux attach
i mogę dołączyć zdalną sesję tmux, ale zadziera z kodowaniem znaków. Wyświetla tylko znaki ascii. Czy można to naprawić?Możesz użyć:
To uruchamia odłączony ekran z uruchomionym poleceniem.
źródło
Późna odpowiedź, ale tak właśnie robię, tworzę alias (nazwijmy to t), który robi to:
Mówi to,
ssh
aby wyłączyć przekazywanie agentów i X11, iscreen
dołączyć do uruchomionej sesji, w razie potrzeby rozpocząć nową, użyć^Z
jako polecenia breakout, użyć UTF-8 i być mądrym w kwestii terminala.Wszystko to oznacza, że mogę otworzyć terminal, wpisać
t
i otworzy się moja sesja ekranowa na $ MYSERVER. Następnie mogę otworzyć inny terminal, zrobić to samo i uzyskać inne okno do tej samej sesji.Naprawdę miło jest mieć wiele okien terminala do tej samej sesji ekranowej, dzięki czemu możesz spojrzeć na dwie karty ekranów jednocześnie.
źródło
t
jednego hosta, możesz połączyć go z nazwami hostów w swoim ssh_config.Umieszczając następujące elementy w pliku ~ / .bashrc na moim serwerze, rozpoczyna sesję ekranową przy pierwszym logowaniu do serwera lub, jeśli już działa, ponownie łączy mnie z tą sesją.
Uważam to za bardzo przydatne:
źródło
screen -ls
to robię, nie widzę żadnej sesji ekranowej