Одна из сильных сторон Linux - его ориентация на работу в сети, что во многом связано с наследием Unix. Есть причина, по которой Linux является предпочтительной операционной системой для серверов.
Основной способ удаленного доступа к серверам Linux - через SSH или Secure Shell. Несмотря на то, что он полезен и безопасен, он был разработан в эпоху, когда Wi-Fi и сотовая связь не стали обычным явлением.
Если вы переместите свой компьютер в другую сеть Wi-Fi или переведете его в спящий режим, вы можете оказаться отключенным из-за зависшего экрана терминала.
Почему Mosh + Tmux?
К счастью, есть несколько инструментов, которые сделают удаленные вычисления с помощью SSH проще и надежнее. Вы можете использовать их везде, от физического терминала в центре обработки данных до домашнего сервера, на облачном сервере, даже на другом настольном компьютере под управлением операционной системы Unix или BSD.
Mosh это инструмент поверх SSH, который информирует об изменении сетевых подключений, и tmux
представляет собой «терминальный мультиплексор», который позволяет сохранять сеанс оболочки для разных учетных записей и даже совместно использовать их.Прочитайте больше: Что такое SSH и для чего он нужен?
Начало работы с Mosh
Mosh - это проект с открытым исходным кодом, который заставляет SSH работать через роуминг и прерывистые соединения, как и многие беспроводные соединения.
Вы можете переключить свой компьютер с проводной на проводную сеть, на другую беспроводную сеть, и ваше соединение будет работать. Вы также можете перевести ноутбук в спящий режим при подключении, а после повторного подключения к сети вы сможете вводить текст в окне терминала.
Связанный: Управляйте удаленными SSH-соединениями с помощью этих команд Linux
Если вы потеряете сетевое соединение, Mosh сообщит вам, что он не получил никаких сообщений от удаленного сервера. Если сервер медленно отображает символы в ответ, он будет подчеркивать то, что вы вводите, до тех пор, пока не вернется последний экран.
В документе, написанном авторами, есть больше технических деталей, но установить его в качестве пользователя довольно просто. Mosh широко доступен в менеджерах пакетов большинства дистрибутивов Linux. Он также доступен в виде приложения Google Chrome.
Установите Mosh в Linux
Например, для установки в Ubuntu:
sudo apt установить mosh
Конечно, на сервере также должен быть установлен сервер Mosh. Преимущество Mosh в том, что серверный компонент может работать в пользовательском режиме, поэтому для его установки не требуется быть root.
Использование Моша
Если вы хотите подключиться к удаленному компьютеру, просто введите:
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 есть еще много чего, что раскроет всю мощь ваших терминальных сессий.
Шпаргалка по основным командам Tmux
- Linux
- Терминал
- Linux
- SSH
Подписывайтесь на нашу новостную рассылку
Подпишитесь на нашу рассылку, чтобы получать технические советы, обзоры, бесплатные электронные книги и эксклюзивные предложения!
Еще один шаг…!
Пожалуйста, подтвердите свой адрес электронной почты в электронном письме, которое мы вам только что отправили.