В Linux есть утилита Screen, которая позволяет использовать несколько сеансов терминала в одном окне. Даже если они отключатся, вы можете начать все сначала с этого же места. Поэтому нашей темой обсуждения в этой статье будет процесс сохранения сеанса в утилите GNU Screen при перезагрузке систем Linux.
Прежде чем мы перейдем к основному этапу сохранения нашего сеанса, нам сначала нужно убедиться, что утилита. Экран установлен в ваших системах или нет. Сегодня Screen часто предустановлен во многих дистрибутивах Linux, что вы можете легко проверить, выполнив следующую команду в терминале:
$ screen --version
Однако, если ваша система не имеет установленного Screen в ваших компьютерных системах, вы можете просто сделать это, выполнив следующую команду в терминале:
$ sudo apt install screen
Практически невозможно получить сеанс экрана, который полностью соответствовал бы тому, что вы делали. Однако есть еще способ максимально приблизить его к исходному состоянию. Это можно сделать, используя файл .screenrc и добавив в него несколько команд.
Файл .screenrc, который мы будем использовать для сохранения нашего сеанса экрана, представляет собой пользовательский файл конфигурации для вашей утилиты GNU Screen. Он похож на файл .emacs в Emacs и также известен как файл инициализации. Это означает, что всякий раз, когда вы запускаете Screen, он сначала выполняет все команды, присутствующие в этом файле, а затем переходит к остальной части материала. Здесь вы можете сохранить все конфигурации вашей утилиты экрана, которые вы хотите, и именно эти конфигурации позволят вам сохранить сеанс Screen.
Давайте теперь посмотрим, какими должны быть конфигурации.
Вы можете добавить сюда несколько различных конфигураций, которые соответствуют вашим интересам, например, отключить начальную страницу приветствия или установить привязки клавиш для простых ярлыков. Для сохранения нашего сеанса Screen я в основном использую следующий файл конфигурации.
# огромный буфер scrollback defscrollback 5000 # без приветственного сообщения startup_message off #экран по умолчанию screen -t Shell 1 bash screen -t Python 2 python# макеты layout autosave on layout new one select 1 layout attach one layout select one
В приведенной выше конфигурации буфер обратной scrollback — это объем текста, который вы хотите отобразить на экране. Всегда желательно, чтобы он оставался большим, так как вы будете видеть текст более четко и легко выполнять свою работу. Следующая команда, как упоминалось выше, предназначена для отключения вашего приветственного сообщения.
В окнах по умолчанию появляется основная суть сохранения сеанса экрана. Это окна по умолчанию, которые будут открываться при запуске. Здесь вы можете указать важные папки, над которыми вы могли бы работать, поскольку они будут открываться автоматически. В разделе макетов первая команда, автосохранение макета включена, является наиболее важной, поскольку она сохраняет сеансы экрана. Он делает это путем включения режима автосохранения, и поэтому с каждым вашим шагом он автоматически сохраняет вашу работу.
Важно отметить, что команда автосохранения макета при включении работает только для явно названных макетов в вашем .screenrc, поэтому, если вы хотите сохранить новый макет, вы должны либо специально упомянуть его в своем файле .screenrc, либо использовать следующую команду для сохраните свой макет:
$ layout save your_layout_name
После добавления конфигураций в файл .screenrc, после перезапуска или повторного входа в систему Linux вы увидите сохраненные сеансы экрана.
Альтернативой использованию конфигураций в вашем файле .screenrc является использование сторонних приложений, которые предоставляют вам дополнительные инструменты вместе с вашими экранными командами, чтобы вы могли выполнять свою работу более эффективно. Одним из таких инструментов является screen-session, программа с множеством утилит, которые вы можете использовать, поскольку она упрощает работу с GNU Screen. Вы можете легко сохранить сеансы экрана, используя команду save этой программы. Он предоставляет несколько различных вариантов сохранения сеансов экрана. К ним относятся либо сохранение вашего текущего сеанса, либо сохранение любого вашего сеанса.
Сохранение текущего сеанса:
$ scs save –force
Сохранение любой сессии:
$ screen-session save -S sessionname savedsessionname
В приведенной выше команде имя сеанса относится к имени сеанса, который вы хотите сохранить, а сохраненное имя сеанса относится к имени, под которым вы хотите сохранить сеанс.
Утилита Screen чрезвычайно полезна, поскольку она приходит нам на помощь в критические моменты, когда случайно наше интернет-соединение теряется или наша сеть выходит из строя, что, в свою очередь, приводит к тому, что мы теряем нашу работу. screen легко позволяет запускать процессы в фоновом режиме, и, как показано выше, в случае каких-либо неудач вы можете начать прямо с того места, где они были остановлены. Однозначно стоит использовать инструмент.