Как работать в многозадачном терминале Linux с экраном

Многозадачность экранного терминала

Многие люди не знают об экране, прекрасном маленьком инструменте или "терминальном мультиплексоре", если вы хотите получить техническую информацию. Я твердо верю, что каждый, кто пользуется терминалом по той или иной причине, должен иметь его в своем арсенале. Это это полезно.

Экран упрощает многозадачность в терминале. С его помощью вы можете запускать множество инструментов параллельно, каждый в своем сеансе. После того, как вы запустите что-то на его собственном "экране", вы можете отсоединить его и снова прикрепить к нему по желанию. Возможность "оставить работу в отдельном сеансе" позволяет переключаться между инструментами.

Если вы ежедневно выполняете множество задач в терминале, значит, вы либо уже используете его, либо вам он понравится после того, как попробуете!

Установить экран

Экран доступен почти для всех дистрибутивов под солнцем - поскольку это старое, испытанное и испытанное, хотя и несколько неизвестное, маленькое сокровище. Чтобы установить его на Debian, Ubuntu, Mint или что-нибудь, что использует apt, используйте:

Вы будете готовы к работе за считанные секунды, так как он небольшой и не требует многих зависимостей.

Установка многозадачности экранного терминала

Первая сессия

Мы остановимся только на основных функциях экрана, которые позволят вам сразу использовать его. Если вам нравится то, что вы увидите к концу этого руководства, его страница руководства объясняет дополнительные функции, но мы подумали, что их будет слишком много для первого знакомства с его использованием.

Чтобы использовать его, просто добавьте его перед всем, что вы вводите в терминале. Для примера создадим документ в популярном редакторе nano. Если он не установлен, доступен в вашем дистрибутиве или если вы предпочитаете что-то другое, замените "nano" на ваш выбор.

Добавив screen перед обычной командой, мы запустили ее в одном из сеансов screen. Может показаться, что это не дало никакого результата, но, как мы увидим на следующем шаге, это было.

Экранный терминал Многозадачность 1-я сессия

Отключиться от сеанса

Введите что-нибудь в nano и нажмите Ctrl + A, а затем D на клавиатуре. Nano º или какой-либо другой редактор, который вы использовали, исчезнет. В терминале вы увидите сообщение, подобное:

Теперь вы вернулись к тому, что можно было бы назвать стартовым терминалом, с которого вы запускали screen раньше. Но ваша сессия с nano никуда не делась.

Экранный терминал Многозадачность Отключение

Вернитесь к текущему сеансу

Поскольку у вас есть сеанс, работающий в фоновом режиме, вы можете вернуться к нему, введя:

После нажатия Enter вы окажетесь там, где остановились в nano. Вы можете отсоединять и снова прикреплять экран сколько угодно раз. Но это всего лишь одно приложение, работающее в фоновом режиме, далеко от того, что вы бы назвали настоящей многозадачностью.

Экранный терминал Многозадачность Re Attach

Создать вторую сессию

Вернувшись к исходному терминалу и отключившись от запущенного сеанса nano, повторите первый шаг, чтобы запустить что-то во втором сеансе. Для простоты мы создали второй документ с помощью nano, используя:

Однако Screen не ограничен запуском нескольких сеансов одного и того же приложения: попробуйте запустить что-нибудь с ним. Screen доказывает свою полезность при использовании для чего-то вроде сжатия большого количества файлов в архив с помощью 7z, процесса, который занимает некоторое время. Вместо того, чтобы смотреть на терминал, ожидая завершения 7z, вы можете отключить его сеанс и позволить ему работать в фоновом режиме.

Многозадачность экранного терминала 2-я сессия

Список сессий

Если вы выполнили наши предыдущие шаги, теперь у вас есть два сеанса работы с экраном. screen -r не будет работать, как раньше, потому что он не знает, куда прикрепить. Если у вас несколько сеансов, чтобы вернуться к одному из них, сначала нужно узнать его идентификатор. Чтобы найти его, введите:

На экране отобразится список всех доступных сеансов.

Список сеансов многозадачности экранного терминала

В нашем случае, как вы можете видеть на нашем скриншоте, чтобы вернуться к любому сеансу, нам нужно будет ввести:

или же

Полезные дополнения

Если вы запустите задачу, которая завершается после завершения с помощью screen, сеанс screen завершится с ней. Вот почему вы могли запускать некоторые задачи в сеансах экрана, но сейчас не отображаются активные сеансы. Тем временем задачи могли выполнить свои цели.

Если вы хотите, чтобы сеанс оставался активным в таких случаях, вместо выполнения команды с добавленным перед ним screen, запустите "screen" самостоятельно, чтобы создать новый сеанс, а затем введите свою команду там перед отсоединение. Если вы запустите команду в сеансе, созданном вручную, сеанс не завершится после завершения задачи.

Экран также позволяет вам создать новый сеанс из существующего. Просто нажмите комбинацию команд Ctrl + A, а затем нажмите C, чтобы создать новый экран и перейти к нему.

Для других полезных команд, которые вы, вероятно, в конечном итоге будете использовать, нажмите Ctrl + A, а затем:

  • A для ввода названия сеанса для облегчения распознавания и управления
  • K, чтобы убить текущий сеанс
  • N или P для перехода к следующему или предыдущему активному сеансу
  • от 0 до 9 для перехода между первыми десятью активными сеансами

Не только для жонглирования задачами

Лучшее мы оставили напоследок: экран не привязан к конкретному терминалу. После отключения от сеанса вы можете закрыть окно терминала, если вы были в графической среде, или даже выйти из системы. Пока ваш компьютер работает, сеанс остается активным.

Экранный терминал Многозадачность Несколько терминалов

А это означает, что вы можете повторно подключиться к запущенному сеансу с другого терминала. Как вы можете видеть на нашем скриншоте, мы использовали Guake для повторного подключения к сеансу, который мы создали в терминале по умолчанию Mint.

Поскольку последствия этого могли не проявиться должным образом, подумайте об этом сценарии использования: вы можете удаленно войти на свой компьютер с помощью SSH и запустить задачу с экрана. Затем отключитесь и выйдите из системы. Задание будет выполняться до тех пор, пока оно не завершится или вы не решите повторно войти в систему, повторно подключиться к сеансу экрана и вручную завершить его!

Как вам "многозадачность"?