Есть ли способ сохранить текущий сеанс (приложения + организация окон на рабочих столах) в Unity и загрузить его при необходимости?
Есть ли способ сохранить текущий сеанс (приложения + организация окон на рабочих столах) в Unity и загрузить его при необходимости?
Ответы:
Нет - как вы описали, это в настоящее время невозможно в Ubuntu версии 11.04 и выше.
Вы можете прочитать этот отчет об ошибке, в частности, комментарий 24
https://bugs.launchpad.net/ubuntu/+source/gnome-session/+bug/771896
или здесь есть более полное объяснение (слишком длинное, чтобы копировать здесь)?
https://lists.ubuntu.com/archives/ubuntu-desktop/2011-January/002734.html
Я сделал обходной путь, который является сценарием, который помогает настроить ваш сеанс.
Загрузите это здесь .
Сделайте его исполняемым и запускайте из терминала./session.config
Вы можете просмотреть код скрипта ( https://www.dropbox.com/s/w1btmead93q6hze/session.config?dl=0 ), пояснения есть в каждой части. Это создаст скрипт запуска, который будет перемещаться в каждый видовой экран и открывать указанное приложение.
Также вы можете запустить его в любое время, просто нажмите Alt+ F2и вставьте ~/.sessionconf
.
Удаление
Чтобы удалить любые изменения, сделанные моим скриптом, просто удалите эти файлы:
Или запустите это в терминале:
rm ~/session.config ; rm ~/sessionconf ; rm ~/sessionconf.bak ; rm ~/.config/autostart/sessionconf.desktop
Вы можете сделать это: killall gnome-session
. Как известно, при вводе команды система sudo gnome-session-save --logout
выйдет из системы. Это сохранит текущую сессию в Unity. Я попробовал это.
Или, может быть, вы можете прочитать о том, как заставить программу автоматически запускаться при каждом входе в систему .
Или вы можете попробовать этот ключ gconf-editor :
/apps/gnome-session/options/auto_save_session = true
gnome-session-save
? Я получаю «команда не найдена». И я не могу найти его в хранилище. Msgstr "Невозможно найти пакет gnome-session-save".
Этот скрипт отлично работает для меня на Xubuntu. Он более или менее независим от десктопов и теоретически должен поддерживать Unity. Из оригинального сообщения в блоге Арнона Вайнберга :
Сохранение и восстановление сеанса GNOME
Этот скрипт используется для сохранения и восстановления сеанса рабочего стола.
Почему этот сценарий?
Некоторые менеджеры десктопов действительно предлагают некоторые функции управления сессиями. В GNOME может быть возможно запустить gnome-session-properties вручную и включить «Автоматическое запоминание запущенных приложений при выходе из системы». Тем не менее, некоторые реализации GNOME (в частности, Ubuntu), по-видимому, лишают внимания или отказываются от этой функции в пользу функций Suspend или Hibernate.
Однако функции автоматического сохранения и приостановки сеансов ограничиваются сохранением / восстановлением сеансов только при чистом выходе из системы / входе в систему.
Я использую этот скрипт, потому что иногда мне просто нужно перезагрузить компьютер, а иногда мне нравится возвращать сеанс в предыдущее состояние.
Как пользоваться:
Загрузите сценарий , поместите его в переменную PATH и обязательно предоставьте ему права на выполнение.
Чтобы сохранить текущий сеанс:
session save
Чтобы восстановить сохраненный сеанс:
session restore
Установка на Ubuntu
Инструкции по установке, приведенные в сообщении в блоге, действительны для Fedora. В Ubuntu вам нужно будет установить следующие зависимости:
sudo apt-get install perl wmctrl xdotool x11-utils
Обязательно ознакомьтесь с разделом «Подробности» исходного сообщения блога, чтобы узнать больше о различных уровнях восстановления сеанса.
Обновление: другой пользователь сообщил, что скрипт работает только с первой строкой, #!/usr/bin/perl
а не #!/bin/perl
.
dconf write /org/gnome/gnome-session/auto-save-session true
Должен включить это для вас.
Я написал небольшой инструмент для библиотеки / командной строки, который позволяет сохранять и восстанавливать сессии и поддерживает различные настройки мониторов, а также виртуальные рабочие столы.
npm install -g linux-window-session-manager
Сохранить текущий сеанс в ~ / .lwsm / sessionData / DEFAULT.json
lwsm save
Сохраните текущий сеанс в ~ / .lwsm / sessionData / my-session.json
lwsm save my-session
Восстановите сеанс из ~ / .lwsm / sessionData / DEFAULT.json
lwsm restore
Восстановите сеанс из ~ / .lwsm / sessionData / my-session.json
lwsm restore my-session
Изящно закройте все запущенные приложения перед началом сеанса
lwsm restore --closeAllOpenWindows
Проверьте это: https://github.com/johannesjo/linux-window-session-manager