Я использую утилиту Screen и хочу сохранить сеанс при перезагрузке машины. Если это невозможно, вы можете порекомендовать другие альтернативы Screen , которые позволили бы сохранить сеансы между перезагрузками.
Я использую Ubuntu Server 10.04 (Lucid Lynx), если это имеет значение.
У меня есть несколько сеансов, открытых через экран. Когда машина перезагружается, все эти сеансы теряются, и я должен снова открыть их. Я хотел найти способ сохранить эти сеансы экрана.
gnu-screen
Сергей Г
источник
источник
Ответы:
Прежде всего, давайте проясним пару важных вещей:
Если задействована одна машина, или если сервер перезагружается, то в большинстве случаев вам не повезло.
Если вы входите на удаленный компьютер, но вам необходимо перезагрузить локальный компьютер, то это не проблема, если вы используете экран на удаленном компьютере, а не на локальном компьютере. Я понимаю, что это довольно очевидно для любого опытного (даже немного опытного) пользователя экрана, но я упоминаю об этом на всякий случай, если это может быть полезно.
Еще одна возможность (опять же, будет ли это полезно для вас, зависит от ваших обстоятельств) - запустить машину с экраном на виртуальной машине. Предположим, что это удаленный физический сервер, который необходимо перезагрузить, но на нем установлена гостевая ОС (например, VMware). Вы можете приостановить работу гостевой ОС и запустить ее снова после перезагрузки оборудования. Все зависит от того, почему вам нужно перезагрузить компьютер, который не был указан, и насколько вы контролируете компьютер, и готовы ли вы пойти на все эти неприятности.
Там нет простого решения, и, возможно, ни одно из решений не будет работать для вас. Но удачи.
Если вы подключаетесь ко многим машинам, запускать экран на всех удаленных машинах по отдельности может показаться слишком сложной задачей, и это так. В этом случае полезно иметь рабочий экран промежуточного компьютера, на котором может быть много окон, каждое из которых подключено к другому удаленному компьютеру. Пока промежуточный аппарат остается включенным, вы можете перезагрузить свой собственный локальный компьютер (или упаковать его в свою сумку и взять с собой домой на ночь или что-то еще), и экран продолжает работать на промежуточном компьютере. (И, очевидно, если какой-либо из удаленных компьютеров выйдет из строя, вы потеряете соединение с этим компьютером, но с остальными сеансами экрана все в порядке.)
Но, по всей вероятности, вы имеете в виду либо удаленную машину, либо единственную перезагружаемую машину, и в этом случае простого способа сделать это не существует. Поначалу CryoPID звучит многообещающе, но его веб-сайт говорит, что он не работает для экрана.
Но есть еще один несколько многообещающий вариант, который стоит изучить. (Будет ли это работать для вас, во многом зависит именно то, что вы пытаетесь сделать.) Проверьте это на github.com: https://github.com/skoneka/screen-session/tree/master/ScreenSession/
источник
В некоторых редких случаях это возможно (см. CryoPID или CryoPID2 ), но в целом это сложно, поэтому сделать это невозможно.
источник
Вместо использования экрана, используйте маленькую виртуальную машину Virtualbox и работайте внутри нее. Затем вы можете просто перевести его в спящий режим, перезагрузить хост, а затем снова включить виртуальную машину (как при закрытии и открытии крышки ноутбука). Соединения SSH с удаленными хостами, вероятно, не будут сохраняться этим методом, я не думаю, что было бы возможно гарантировать это.
источник
Вы не можете. Конечно, не на той же машине
источник
Во всем этом сам экран довольно маргинален. Не «Экран», который вы хотите «сохранить», не так ли ?, а среды внутри различных сеансов экрана, какими бы они ни были.
Похоже, вы предполагаете, что сохранение сеанса Screen будет охватывать процесс SSH внутри него и все виды. То, что работает внутри Screen, вообще не является делом Screen, и это те вещи, которые трудно «сохранить» ... что бы это ни значило, если бы они были осуществимы.
источник