SSH przez słabe Wi-Fi to masakra — to narzędzie CLI to naprawia
Jeśli kiedykolwiek logowałeś się do SSH i twoje połączenie zostało przerwane, mogłeś znaleźć się w sytuacji, w której w frustracji uderzałeś w klawiaturę. Pewnego dnia, podczas jednego weekendu Czwartego Lipca, znalazłem rozwiązanie problemu zerwanych połączeń SSH.
Czwarty lipca, który zmienił wszystko
Pewnego Dnia Niepodległości około 2012 roku spędzałem wolny dzień, bezcelowo przeglądając internet. Byłem też zalogowany na konto shell na SDF, gdzie jestem członkiem wspierającym „MetaARPA”.
Jeśli nigdy nie korzystałeś z konta shell, jest to usługa sieciowa, która oferuje fragmenty serwera Linux lub Unix zwykłym użytkownikom. Wiele z nich jest bezpłatnych, ale to oferuje więcej usług w zamian za darowizny od użytkowników.
Ta usługa pozwala ludziom uruchamiać wszelkiego rodzaju procesy. Jako serwer powłoki, popularne są narzędzia związane z siecią. Uruchomiłem polecenie ps na systemie, aby sprawdzić, co robią inni użytkownicy. Moją uwagę przykuł nowy proces, którego nigdy wcześniej nie widziałem. Nazywał się „mosh”. Otworzyłem jego stronę podręcznika, aby sprawdzić, o co chodzi:
man mosh
To tutaj odkryłem nowe narzędzie, które rozwiązało problem z SSH, o którym nigdy nie wiedziałem, że go mam.
Co Mosh zrobił dla mnie
SSH było mile widzianym zastępstwem dla Telnetu, gdy pojawiło się w połowie lat 90., ponieważ szyfrowało połączenie, ukrywając je przed osobami, które mogłyby chcieć ukraść Twój login i hasło. Choć było użyteczne, SSH wywodziło się z ery przewodowych połączeń internetowych. Standard Wi-Fi nie został jeszcze nawet zatwierdzony.
Jeśli kiedykolwiek zdarzyło Ci się, że połączenie Wi-Fi przerwało się w trakcie połączenia z zdalnym serwerem SSH, prawdopodobnie zauważyłeś, że zdalny serwer przestaje odsyłać wprowadzone znaki. Nawet po przywróceniu połączenia Wi-Fi, nic się nie dzieje, gdy wpisujesz coś w oknie terminala. Jedyną opcją jest zamknięcie SSH i ponowne połączenie.
Multiplexer terminala, taki jak GNU Screen lub tmux, może pomóc w złagodzeniu tego problemu, utrzymując sesję aktywną i pozwalając na ponowne dołączenie po ponownym połączeniu, ale radzenie sobie z tym problemem może być uciążliwe, ponieważ trzeba zamknąć i ponownie uruchomić klienta SSH.
Mosh jest inny. Pozwala utrzymać sesję aktywną i nawet automatycznie się ponownie połączyć. Możesz również zmieniać połączenia, z Wi-Fi na sieć komórkową lub przewodową, i nadal utrzymywać sesje SSH.
Nawet jeśli połączenie zostanie przerwane, mosh będzie wyświetlał twoje naciśnięcia klawiszy na ekranie. Jeśli połączenie powróci, możesz kontynuować to, co robiłeś. mosh to jedno z tych narzędzi, o których nigdy nie wiedziałem, jak sobie radziłem bez niego. To jedna z pierwszych aplikacji terminalowych, które instaluję na nowym systemie.
Wartość kont powłokowych
Ten odcinek pokazuje, że konta shell są cenne dla poważnych użytkowników Uniksa, takich jak ja. Chociaż konta shell były dominującą formą publicznego dostępu do internetu na początku lat 90., gdy zwykli ludzie spoza uniwersytetów i laboratoriów badawczych zaczynali uzyskiwać dostęp, w dużej mierze stały się przestarzałe, gdy ceny bezpośrednich połączeń internetowych spadły, a przeglądarki graficzne stały się głównym sposobem korzystania z internetu.
Jednym z powodów, dla których warto z nich korzystać, jest to, że można na bieżąco śledzić, co robią techniczni użytkownicy internetu. Dowiedziałem się o tym bezpośrednio, używając polecenia ps.
Pośrednio mogę dowiedzieć się, co robią inni użytkownicy, patrząc na to, co mówią. SDF ma własną tablicę ogłoszeń i system czatu, gdzie użytkownicy uwielbiają rozmawiać o swoich projektach.
Lekcja: możesz nie zdawać sobie sprawy, że masz problem, dopóki nie znajdziesz nowego narzędzia
Jedna rzecz, którą uświadomiłem sobie dzięki tej przygodzie, to że czasami znoszę frustracje, dopóki nie znajdę rozwiązania. Problem z połączeniem się przez SSH przy niestabilnym Wi-Fi był jednym z tych, których właściwie nie uważałem za problem. Wiele rozwiązań to takie, które rozwiązują problem, o którym nawet nie zdawałem sobie sprawy, że go mam.
Światowa sieć WWW mogła być pierwotnym przykładem. Chociaż wielu ludzi sobie bez niej radziło, gdy Mosaic spopularyzował internet w latach 90., wydawało się, że każdy musiał z niego korzystać. Było to jak szum wokół sztucznej inteligencji dzisiaj.
Raport How-To Geek
Raport How-To Geek
Subskrybując, wyrażasz zgodę na otrzymywanie newslettera i wiadomości marketingowych oraz akceptujesz Warunki korzystania z serwisu i Politykę prywatności Valnet. Możesz zrezygnować w każdej chwili.
Powinieneś spróbować zidentyfikować wszelkie problemy związane z twoją technologią i sprawdzić, jakie możliwe rozwiązania są dostępne. Jak napisał Eric S. Raymond w swojej klasycznej książce Katedra i bazar, „Każde dobre oprogramowanie zaczyna się od drapania osobistego swędzenia dewelopera.”
Jeśli szukasz pomysłów na projekty programistyczne, jednym ze źródeł są rzeczy, które Cię irytują. Możesz spróbować napisać skrypt, który ulepszy istniejący program, tak jak mosh zmodyfikował SSH, aby działało nawet wtedy, gdy sieć nie jest stabilna.
Jeśli coś Cię drapie, istnieje duża szansa, że nie jesteś jedyną osobą, która tak się czuje. Możesz chcieć opowiedzieć o tym ludziom w mediach społecznościowych, napisać wpis na blogu dla Hacker News, albo jeśli uda Ci się przekonać jakąś stronę, na przykład HTG, do opublikowania Twojej pracy, może uda Ci się tam o tym napisać. O to właśnie chodzi w technologii: żeby ułatwiać życie użytkownikom.
Powinieneś być czujny na nowe narzędzia i gotów rozwiązywać własne problemy, a być może także problemy innych ludzi.



