Otwórz inne okno terminala z tą samą sesją SSH, co oryginalne okno

42

Czy istnieje sposób otwarcia okna terminala (lub karty) z innym wystąpieniem otwartej sesji SSH?

EDYCJA: Mam okno terminala ze zdalną sesją ssh na serwerze. Chcę otworzyć nową kartę podłączoną do tej samej zdalnej sesji ssh.

Z Plik-> Nowa karta dostaję inną kartę, ale muszę otworzyć kolejną sesję ssh na zdalnym serwerze.

Tulains Córdova
źródło
Jeśli używasz ssh-copy-id i lokalnej konfiguracji SSH, połączenie z twoją serwerem WWW.firma.net jest jak „ssh web”, nawet nie ma potrzeby uwierzytelniania.
davidbaumann
@davidbaumann Komentarz jest zbyt zwięzły. Czy mógłbyś rozwinąć to w odpowiedź? Co to jest „ssh web”? W jaki sposób umożliwia to otwarcie nowego okna terminala z tą samą sesją co?
Tulains Córdova
To nie jest ta sama sesja, ale połączenie przez SSH spowoduje BR, więc łatwiej nie będziesz potrzebować żadnych innych sztuczek.
davidbaumann
@davidbaumann, ta sama sesja oznacza tego samego użytkownika (jeśli zrobiłeś su - someuser), te same zmienne środowiskowe (jeśli pozyskałeś plik src), ten sam działający katalog, tę samą historię itp. Łączenie się bez pytania o hasło jest miłe, ale nie zrobię całą resztę.
Tulains Córdova

Odpowiedzi:

14

Połącz się ze swoim zdalnym serwerem za pomocą:

ssh -X [remote-host]      

Teraz uruchom:

gnome-terminal &

Terminal pojawi się na twoim komputerze lokalnym. Z tego terminala można uruchomić dowolną liczbę kart lub okien terminala. Wszystkie będą korzystać z tego samego sshpołączenia i będą podłączone do zdalnego komputera.

LD James
źródło
Zdalnym hostem jest Debian i nie ma terminalu gnome. Jak nazywa się aplikacja terminalowa w Debianie?
Tulains Córdova
1
@ user1598390 W mojej instalacji (Version 7 - wheezy)domyślną aplikacją terminalową jest gnome-terminal. Zainstalowano inne aplikacje terminalowe. Są xterm, lxtermi uxterm. Wierzę, że najbardziej rozpowszechnione będą na większości dystrybucji xterm. Możesz uzyskać listę aplikacji terminalowych za pomocą wiersza poleceń cd /usr/bin;ls *term*.
LD James
1
Próbowałem i to nie działa dla mnie.
Tulains Córdova
Jaki komunikat o błędzie pojawia się podczas wykonywania cd /usr/bin;ls *term*? Innymi słowy, jakie jest wykonanie pliku cli i jaki był komunikat o błędzie?
LD James
Błąd występuje podczas wykonywania xterm&-> [1] 26953 postgres@serverxxx:/usr/bin$ X11 connection rejected because of wrong authentication. xterm: Xt error: Can't open display: localhost:10.0Mimo że działałem xhost +na komputerze lokalnym. I nawet kiedy to zrobiłemssh -X
Tulains Córdova
36

Być może to może pomóc: screen

Nie jest instalowany domyślnie na Ubuntu, ale jest dostępny w repozytoriach.

Jest to bardzo przydatne: sshdo zdalnego hosta i wpisz, screenaby wejść do screensesji.

Rozpocznij dowolne czasochłonne zadanie, a następnie naciśnij Ctrl+, Aa następnie Ctrl+, Caby utworzyć nowe okno w sesji ekranowej.

Spowoduje to odrodzenie nowej powłoki, w której możesz robić, co chcesz. Utwórz jeszcze więcej okien za pomocą tego samego polecenia.

Aby szybko przełączać się między dwoma oknami, ponownie użyj Ctrl+, Aa następnie Ctrl+ A. Jak widać, Ctrl+ Aprzełącza ekran w tryb poleceń.

Ctrl+ A Ctrl+ Dodłączy się od sesji ekranowej. Następnie możesz rozłączyć się z hostem i zalogować się ponownie później i użyć, screen -draby wznowić sesję.

Aby przejść do określonego screenokna, wpisz Ctrl+, Aa następnie cyfrę.

Ekran zostanie zamknięty po zamknięciu wszystkich aktywnych okien (lub zamkniętych w nich powłok).

Mam to z sesji SSH i SFTP .

Edytować-

tmux jest alternatywą dla screena . http://www.sitepoint.com/tmux-a-simple-start/

aaditya1234
źródło
Czy „screen” nie musi być zainstalowany na zdalnym hoście?
Tulains Córdova
Chyba tak.
aaditya1234
Muszę łączyć się z wieloma serwerami produkcyjnymi : serwerami Solaris (nowe wersje i wersje starsze), serwerami Debian (kilka wersji) i serwerami RedHat (kilka wersji). Konieczność zainstalowania nowego oprogramowania w każdym z nich nie wchodzi w rachubę.
Tulains Córdova
Ach, oto coś, co przyjaciel powiedział mi o tym, jak zarządza wieloma instalacjami maszyn: bjoernvold.com/forum/viewtopic.php?f=11&t=3228
aaditya1234
1
Kiedy korzystam z ekranu, nie mogę przewijać w górę i w dół, podczas gdy mogę przewijać w górę i w dół w normalnym wierszu poleceń (tym, który otrzymuję zaraz po zrobieniu ssh user@machine).
ComputerScientist,
0

Zrobiłem to już wcześniej: Uruchom gnome-terminal na serwerze. ctrl + Z, a następnie bg z oryginalnego okna terminala.

Zwykle używam ssh -X -C, więc być może będziesz musiał to zrobić, ale nie jestem pewien. Ponadto użyje ustawień twojego serwera zamiast tych na twoim komputerze, co czasami jest niewygodne.

to nie moja wina
źródło
-2

Tak, w terminalu (menu) kliknij Plik -> Nowa karta

aby otworzyć nową kartę w terminalu

czy prosisz o coś innego?

aaditya1234
źródło
Może nie byłem wystarczająco jasny. Mam okno terminala ze zdalną sesją ssh na innym serwerze. Chcę otworzyć nową kartę podłączoną do tej samej zdalnej sesji ssh. Spójrz na edycję w pytaniu.
Tulains Córdova,
ok .. zapomniałem twojego pytania. wyszuka odpowiedź, bo jeszcze jej nie znam.
aaditya1234
Robią to niektóre zastrzeżone terminale dla Windows. Ale wolałbym używać terminala Ubuntu.
Tulains Córdova,