Jak mogę zachować ssh (lub inne polecenie) w aplikacji terminalu mojego telefonu Ubuntu?

8

Podczas uruchamiania aplikacji terminalu na moim Nexusie 4 (OTA 10.1) łączę się z moim serwerem za pośrednictwem ssh <user>@<serverdomain>.

Przesunięcie do innej aplikacji i przesunięcie z powrotem do terminala powoduje zakończenie połączenia:

[1]+ Stopped ssh

Jak można to utrzymać i jak długo?

Frunu
źródło
Z jakiego terminala Android korzystasz?
dufte
3
Ubuntu Touch ma podstawowy problem polegający na tym, że aplikacje w tle zostają zawieszone, w tym terminal. Powoduje to zerwanie połączeń ssh. [1]+ Stopped sshOznacza to jednak, że jest tylko wstrzymany, aby można było wznowić korzystanie z tego zadania fg. Istnieje jednak ryzyko, że połączenie zostanie już zerwane.
Jens Grivolla
To jest aplikacja terminalowa: uappexplorer.com/app/com.ubuntu.terminal
Frunu
Polecenie fg jest potrzebne.
Frunu

Odpowiedzi:

11

Ten post skupia się na stronie serwera - ignorowanie klienta

Opcja 1 - ekran

Polecam uruchamianie tych poleceń za pośrednictwem screen.

Niektóre szczegóły na temat multipleksera terminali screenmożna znaleźć tutaj .

W skrócie:

  • zainstaluj ekran na serwerze
  • ssh na serwer
  • uruchom ekran i uruchom polecenie w sesji ekranowej
  • ... wyobraź sobie, że rozłączasz się z telefonu komórkowego na serwer z dowolnego powodu
  • ponownie połączyć się z telefonu komórkowego na serwer
  • ponownie dołącz do tej sesji ekranowej i ciesz się trwającym procesem

Opcja 2 - tmux

tmuxjest kolejnym multiplekserem terminali, możesz sprawdzić niektóre szczegóły na jego stronie podręcznika .

Opcja 3 - byobu

byobuto opakowanie, które zapewnia różne ulepszenia w stosunku do ekranu. Używa screenlub tmuxjako backend. Więcej informacji na stronie internetowej .

dufte
źródło
Chociaż nie jest to dokładnie odpowiedź na pytanie, jest to bardzo dobra rada, nie tylko podczas korzystania z Ubuntu Touch. To znacznie pomaga złagodzić skutki rozłączeń, czy to z powodu problemów z siecią, wyłączania urządzenia klienckiego itp.
Jens Grivolla
I jest byobu, który może owinąć albo screen albo tmux
ryenus
Tak. Dobra rada. Użyłem już ekranu wiele lat temu i sprawdzę go ponownie.
Frunu
2

Możesz użyć aplikacji TweakGeek . W menu Aplikacje znajdziesz Terminal. Tam możesz aktywować przełącznik o nazwie Zapobiegaj zawieszaniu.

Próbowałem połączyć się z SSH z terminala telefonu ubuntu do mojego laptopa, przełączyłem aplikację, wróciłem, a połączenie wciąż było aktywne.

To powinno załatwić sprawę, ale jak zauważono w innych odpowiedziach, telefon komórkowy i tak może nie zapewnić ci najlepszego doświadczenia SSH.

Bastian
źródło
Czy możesz podać link do TweakGeek lub informacje na temat jego instalacji? Wydaje się, że nie jest w zwykłym sklepie z aplikacjami (ale najwyraźniej w OpenStore).
Jens Grivolla
Rzeczywiście zainstalowałem go za pośrednictwem OpenStore.
Bastian
1

Gdy go miniesz, czeka Cię większy problem.

Do początku tego roku istniała obsługa automatycznego wznawiania chwilowo przerwanych połączeń ssh, ale okazało się, że jest bardzo niepewna i została usunięta. Oznaczałoby to, że urządzenia takie jak telefony komórkowe, które mogą przerywać połączenia lub przełączać trasy, będą mniej przydatne dla ssh od teraz.

Oto poradnik https://www.qualys.com/2016/01/14/cve-2016-0777-cve-2016-0778/openssh-cve-2016-0777-cve-2016-0778.txt

Amias
źródło