Една от силните страни на Linux е ориентацията му към работа в мрежа, което до голяма степен се дължи на наследството на Unix. Има причина, поради която Linux е избрана операционна система за сървъри.
Основният начин за отдалечен достъп до Linux сървъри е чрез SSH или Secure Shell. Въпреки че е полезен и сигурен, той е проектиран в епоха преди Wi-Fi и клетъчните връзки да станат нещо обичайно.
Ако преместите компютъра си в друга Wi-Fi мрежа или го поставите в режим на заспиване, може да се окажете прекъснати с очевидно замразен терминален екран.
Защо Mosh + Tmux?
За щастие има няколко инструмента, които ще направят отдалечените изчисления със SSH по-лесни за използване и по-надеждни. Можете да ги използвате на всичко - от физически терминал в център за данни до домашен сървър, на облачен сървър, дори друга настолна машина, работеща с Unix или BSD операционна система.
Мош е инструмент върху SSH, който го информира за промяна на мрежовите връзки и tmux е "терминален мултиплексор", който ви позволява да запазите сесия на черупки в различни входни данни и дори да ги споделяте.
Прочетете още: Какво е SSH и какво представлява?
Първи стъпки с Mosh
Mosh е проект с отворен код, който кара SSH да работи през роуминг и прекъсващи връзки, тъй като много безжични връзки са и двете.
Можете да превключите компютъра си от кабелна към кабелна мрежа към друга безжична мрежа и връзката ви ще остане активна. Можете също така да поставите лаптопа си в режим на заспиване, докато сте свързани и след като мрежата се свърже отново, ще можете да пишете в прозореца на терминала.
Свързани: Управлявайте отдалечени SSH връзки с тези Linux команди
Ако загубите мрежовата си връзка, Mosh ще ви каже, че не е чувал от отдалечения сървър. Ако сървърът бавно отразява символите, той ще подчертае това, което въвеждате, докато се върне най-новият екран.
Има повече технически подробности в статия, написана от авторите, но инсталирането й като потребител е доста просто. Mosh е широко достъпен в повечето диспечери на пакети на Linux дистрибуции. Предлага се и като приложение на Google Chrome.
Инсталирайте Mosh на Linux
Например, за да инсталирате в Ubuntu:
sudo apt инсталирайте mosh
Разбира се, сървърът също ще трябва да има инсталиран Mosh сървър. Предимството на Mosh е, че сървърният компонент може да работи в потребителски режим, така че не е нужно да сте root, за да го инсталирате.
Използване на Mosh
Когато искате да се свържете с вашата отдалечена машина, просто напишете:
mosh потребителско име @ сървър
Очевидно е, че ще искате да замените „потребителското име“ и „сървъра“ с вашето потребителско име и името на машината, с която се опитвате да се свържете.
Вижте документацията, ако имате по-специализирани нужди, като например свързване към различен порт.
Ако всичко работи правилно, ще имате отдалечена терминална сесия, само със SSH. Ще можете да издавате команди по същия начин, но връзката ви ще бъде по-надеждна.
Първи стъпки с Tmux
Имате отдалечена терминална връзка, която може да оцелее при промени в безжичната мрежа, но какво ще кажете, когато най-накрая сте свързани?
Може да изпълните работа, която отнема много време, като например инсталиране на софтуер или дори дълга задача за компилация. Какво се случва, ако прекъснете връзката. Работата вероятно ще се откаже, когато терминалът го направи.
Освен това можете да правите само едно нещо в терминала наведнъж, дори и с контрол на работата. Ако искате да стартирате редактор на цял екран, той ще заеме целия терминал.
Tmux е един от отговорите на тези проблеми. Това е "терминален мултиплексор", който ви позволява да стартирате множество терминали в един прозорец. Това е като табулиран терминал на настолен компютър на Linux, но много по-гъвкав.
Можете да отделите сесия и да излезете, за да се върнете към нея по-късно и да продължите точно там, където сте спрели. Можете да отворите множество терминални прозорци. Можете да редактирате програма в един прозорец в редактор и да я тествате в командния ред в друг.
Инсталирането на tmux също е много лесно. Подобно на Mosh, той е включен в много дистрибуторски дистрибутори на Linux. В Ubuntu просто въведете:
sudo apt инсталира tmux
Очевидно ще трябва да инсталирате това на отдалечената си машина, за да го използвате там, но е доста полезно и локално.
Когато е инсталиран, стартирате tmux с помощта на командата:
tmux
След това ще стартирате в терминален прозорец, подобен на този, който сте стартирали локално. Ще видите лента на състоянието, показваща в кой прозорец сте.
Tmux разделя екрана на "прозорци" с множество "прозорци", показвайки собствените си терминали. Можете да пренареждате и преоразмерявате тези стъкла с неограничени прозорци със собствени прозорци.
Тъй като tmux е програма, базирана на терминал, тя се управлява изцяло от клавиатурата. Префиксната команда по подразбиране за изпълнение на команди в tmux е Ctrl + B. Това може да бъде променено в конфигурационния файл.
Потребителският конфигурационен файл е .tmux.conf във вашата домашна директория. Документацията има повече подробности, но броят на персонализациите, които можете да извършите, е голям.
Tmux може да има крива на обучение, но с други "трудни" програми в света на Linux / Unix, много потребителите установяват, че времето, отделено за изучаване на тези програми, е добре изразходвано в това, което им позволява направете.
Една от най-мощните опции е възможността да отделите сесията си и да я прикачите отново по-късно. За да направите това, напишете Ctrl + D. За да прикачите отново, напишете "tmux attach" в черупката и ще се окажете отново на вашата сесия.
Това означава, че сесията ви ще продължи, докато машината стои. Този метод е популярен и за стартиране на приложения за чат като IRC, тъй като хората могат да останат в чат стаите дълго време. Възможно е също да споделяте сесии с други хора, например за програмиране по двойки.
Комбиниране на Mosh и Tmux
Истинската сила на отдалечената сесия идва от комбинациите на Mosh и tmux.
С Mosh можете да влезете във вашата отдалечена машина от всяко място и да не се притеснявате за надеждността на вашата връзка. Ако искате да стартирате нещо, което може да отнеме много време, можете да отделите сесията си и да се върнете към нея по-късно.
Комбинацията от Mosh и tmux ще ви позволи максимална надеждност и гъвкавост във вашите отдалечени влизания. Има много повече неща за изследване само в tmux, които ще разгърнат мощта на вашите терминални сесии.
Essential Tmux Commands Cheat Sheet
- Linux
- Терминал
- Linux
- SSH
Абонирайте се за нашия бюлетин
Присъединете се към нашия бюлетин за технически съвети, рецензии, безплатни електронни книги и ексклузивни оферти!
Още една стъпка…!
Моля, потвърдете имейл адреса си в имейла, който току-що ви изпратихме.