Как сохранить / запомнить последнюю использованную позицию и размер окна для приложений?

Когда я вхожу в Ubuntu, я бы хотел, чтобы все окна, открытые на предыдущем сеансе (в основном терминал и Firefox), автоматически открывались в том же размере и положении.

Как действовать?

10 ответов

За 12.04 (и 11.10)

Краткий ответ: гибернация - лучший вариант, потому что функциональность gnome-session-save была удалена после 11.04, так как она глючила, и официальная настройка для ручного повторного включения этой функции, похоже, не работает. В части B этого ответа описывается, как использовать альтернативный метод гибернации, TuxOnIce, который в настоящее время более совместим и надежен, чем встроенный режим гибернации.

A. Попытка включить функцию сохранения старой сессии Gnome

  • Примечание: как описано в конце, эта официальная настройка не работает - вы можете перейти непосредственно к B. Спящий режим с TuxOnIce
  • В этой ошибке Launchpad обсуждается восстановление функции "сохранить сессию". В настоящее время он помечен как "исправленный", потому что в gnome-session пакет в апреле 2012 года, что позволяет пользователям вручную включить эту функцию. Патч описывает себя как:

    •  добавить переменную среды GNOME_SESSION_SAVE для людей, желающих
      используйте сеанс сохранения еще, зная, что это может сломать вашу систему
      если используется неразумно (LP: #771896) 
  • Вы можете включить это, установив GNOME_SESSION_SAVE переменная к ненулевому значению. Вот как:

    • Нажмите Alt+F2, тип gedit ~/.pam_environment и нажмите ввод.
    • Добавьте строку GNOME_SESSION_SAVE=1 в конце файла, как показано ниже:

    • введите описание здесь

    • Нажмите Ctrl+S сохранить и Ctrl+Q выйти из редактора.

    • Теперь перезагрузитесь (выход должен также работать, но только для безопасности)
  • Патч ( источник) делает отключение вкладки " Параметры " в "Автозагрузке приложений", которая раньше содержала опцию " Запустить запущенные приложения при выходе из системы". НО это проверяет GNOME_SESSION_SAVE переменная, и если она установлена ​​(не ноль), она должна включить сохранение сеанса так, как если бы поле " Запомнить..." существовало и было отмечено. Вот почему ошибка помечена как "исправленная"
    •  if (g_getenv ("GNOME_SESSION_SAVE")! = NULL)
                      Maybe_load_saved_session_apps (менеджер); 
    • К сожалению, это не работает, что подтверждается комментарием 32 в трекере ошибок.
    • Я даже пытался отключить патч и восстановить gnome-session из источника. Из-за этого снова появляется флажок Параметры, но ничего не происходит.
    • Но эй, это может как-то работать на тебя!!:)

B. Что работает на данный момент: улучшенная гибернация с TuxOnIce

  • Спящий режим сохраняет текущее состояние системы (включая сеанс, открытые приложения и т. Д.) На жестком диске и выключает компьютер. При повторном запуске он считывает сохраненное состояние и восстанавливает его так же, как если бы вы никогда не выключали компьютер. Эта технология в основном используется пользователями ноутбуков для экономии заряда батареи, но нет никаких причин, по которым ее нельзя использовать и на настольных ПК.
  • Поддержка гибернации доступна в Ubuntu/Linux, но была отключена в 12.04, потому что она не работала должным образом на ряде систем. Посмотрите этот вопрос и этот отчет об ошибке, если вы хотите больше информации.

    Более совместимая альтернатива: TuxOnIce

  • TuxOnIce ( wiki | homepage) является альтернативой встроенной в ядро ​​технологии гибернации и должна быть более совместимой, более надежной и более гибкой.

  • Он легко устанавливается, а если он у вас не работает, так же легко удаляется.
  • Для этого требуется установить собственное ядро TuxOnIce, но приведенные ниже инструкции должны упростить его. Если вы никогда не открывали терминал раньше, вы можете захотеть сделать это сейчас:-)

    0. Требования

    Единственным требованием для TuxOnIce является то, чтобы ваш раздел подкачки был как минимум таким же большим, как объем памяти (RAM), который у вас есть. Вы можете проверить это:

  • Запустите терминал с помощью Ctrl + Alt + T

  • Тип free -m и вы должны увидеть что-то вроде этого:

     общее количество использованных свободных общих буферов в кеше
    Память:          1024        731        260          0          0        190
    -/+ буферы / кэш:        540        451
    Обмен:         1536          6       1530
    
  • Число после Swap: (например, 1536) должно быть больше, чем число после Mem: (например, 1024)

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

    1. Установка ядра TuxOnIce

  • Запустите терминал с помощью Ctrl + Alt + T

  • Скопируйте и вставьте следующее в терминал. Это добавляет TuxOnIce PPA и устанавливает собственное ядро ​​и заголовки.
    • sudo apt-add-repository ppa: tuxonice / ppa -y 
      и как только ppa добавляется:
    •  sudo apt-get update
      sudo apt-get установить tuxonice-userui linux-generic-tuxonice -y 
      sudo apt-get установить linux-headers-generic-tuxonice -y 
  • Теперь перезагрузите компьютер.
  • Ubuntu теперь должен запускаться с ядром TuxOnIce. Если есть какие-либо проблемы, удерживайте нажатой клавишу Shift при запуске, и вы получите меню Grub. Используйте клавиши со стрелками, чтобы перейти к Previous Linux Versions, нажмите ввод и снова нажмите ввод, чтобы вернуться к рабочему ядру.

    2. Тестирование функциональности гибернации.

  • Откройте некоторые приложения, которые вы обычно используете, например Firefox, Thunderbird, LibreOffice и т. Д.

  • Снова откройте терминал, нажав Ctrl + Alt + T.
  • Тип sudo pm-hibernate, нажмите ввод, введите свой пароль.
  • Вы должны увидеть экран блокировки на секунду, а затем экран прогресса гибернации TuxOnIce, как показано ниже:

    введите описание здесь

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

    3. Включение гибернации с панели инструментов

  • Нажмите Alt + F2, введите ниже и затем нажмите ввод:

     gksudo gedit /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla 
  • Вставьте ниже, нажмите Ctrl + S, чтобы сохранить и Ctrl + Q, чтобы выйти из редактора:

     [Включить спящий режим по умолчанию]
    Идентичность = Unix-пользователь:*
    Действие =org.freedesktop.upower.hibernate
    ResultActive= да 

    введите описание здесь

  • Перезапустите, и вы должны увидеть опцию Hibernate, как показано ниже:

    введите описание здесь

    4. Удаление TuxOnIce

    • Если TuxOnIce у вас не работает или вы просто хотите удалить его, запустите терминал и введите:

       sudo apt-get удалить tuxonice-userui linux-generic-tuxonice linux-generics-generic-tuxonice -y 
    • и не забудьте отключить опцию Hibernate в меню с помощью:

       sudo rm /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla 
    • Затем перезагрузите.

Для 11.04 и ранее

Попробуй это

Система> Запуск приложений> Параметры и установите флажок Автоматически запоминать запущенные приложения при выходе из системы и нажимать запомнить текущие приложения.

Кажется, невозможно, чтобы все приложения запомнили свою последнюю позицию и размер окна. Такое поведение, похоже, было устранено давным-давно. Насколько я понимаю, приложение должно помнить свою позицию и размер. И тут во лжи загвоздка.

Поиск в системе отслеживания ошибок дает множество отчетов, которые каким-то образом относятся к этой проблеме.

Итак, какие приложения помнят положение и размер, и какие версии Ubuntu имеют эти функции?

Примечание: Пожалуйста, отредактируйте и заполните приложения и версии Ubuntu, которые вы тестировали на эту функциональность. то есть приложение запоминает положение окна и / или размер.

Укажите версию Ubuntu, которую вы тестировали, и запомните одну или обе позиции окна и размер.

13,04

положение окна | размер

  • Y, Y - Наутилус
  • N, Y - ошибочные размещения нескольких мониторов Firefox
  • N, N - Терминал Терминал имеет пользовательские настройки для запоминания определенного размера каждый раз, но он не запоминает последнюю позицию
  • N, Y - хром
  • Y, Y - Банши
  • N, - - Калькулятор не изменяемого размера *
  • N, Y - Гедит

Примеры отчетов об ошибках

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

2013 2012 2011 2009 2008 2007

Как сохранить сеанс на Ubuntu 11.04 или выше:

  1. Скачайте и установите DConf-Editor.

  2. Тип dconf на приборной панели и запустить его.

DASH-IMG

Откройте следующие ярлыки по порядку: org -> gnome

Затем выберите gnome-session

Теперь вы должны увидеть auto-save-session вариант, как на следующем изображении, активируйте его.

APP-IMG

СДЕЛАННЫЙ!

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

12,04

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

Введите в терминале:

sudo gedit /var/lib/polkit-1/localauthority/50-local.d/hibernate.pkla

и затем добавьте эту строку в текстовый файл:

[Повторно включить Hibernate]
Identity = Unix-пользователь: * Action = org.freedesktop.upower.hibernate
ResultActive = да

Сюда:

Тогда опция гибернации снова будет отображаться в меню выключения:

Надеюсь, это поможет.

В настоящее время считается, что правильной функцией сохранения / восстановления сеанса является использование режима приостановки или спящего режима. Я согласен, хотя, что гибернация и приостановка может быть боль, чтобы начать работать, если они не из коробки...

Но взгляните на...

CryoPID

CryoPID позволяет вам фиксировать состояние запущенного процесса в Linux и сохранять его в файл. Этот файл затем можно использовать для возобновления процесса позже, либо после перезагрузки, либо даже на другом компьютере.

CryoPID был порожден обсуждением в списке рассылки приостановки использования программного обеспечения о сложностях приостановки и возобновления отдельных процессов.

CryoPID состоит из программы, называемой freeze, которая фиксирует состояние запущенного процесса и записывает его в файл. Файл самораспаковывающийся и самораспаковывающийся, поэтому для возобновления процесса вы просто запускаете этот файл. См. Таблицу ниже для более подробной информации о том, что поддерживается.

Характеристики

  • Может работать как обычный пользователь! (не требуются права суперпользователя)
  • Работает как на 2.4, так и на 2.6.
  • Работает на x86 и AMD64.
  • Может запустить и остановить процесс несколько раз
  • Может переносить процессы между машинами и между версиями ядра (проверено от 2,4 до 2,6 и от 2,6 до 2,4).

Это не очень хорошо задокументировано, хотя последний выпущенный DEB был для Heron, а сайт в последний раз обновлялся в 2005 году, поэтому он может быть бесполезен. Вот тарболы:

А также взглянуть на Tuxonice

TuxOnIce легче всего описать как эквивалент Linux гибернации Windows, но лучше. Сохраняет содержимое памяти на диск и выключается. Когда компьютер снова запускается, он перезагружает содержимое, и пользователь может продолжить с того места, где он остановился. Нет необходимости перезагружать документы или повторно открывать приложения, и этот процесс намного быстрее, чем обычное завершение работы и запуск.

ppa:tuxonice/ppa 

PPA имеет предварительно скомпилированные ядра Ubuntu с уже скомпилированным TuxOnIce, бинарный файл userui и скрипт hibernate. Так что это может быть не для слабонервных.


Есть один обходной путь, на который стоит обратить внимание:

  • Создайте скрипт, в котором есть все программы, которые вы склонны открывать. Или создайте 2,3,4,5,6 из этих сценариев и привяжите ключ к этому сценарию. Например, control + alt + 1|2|3|4|5|6 или что-то еще. Нажмите клавишу и дайте сценарию открыть все программы из этого сценария.

  • И вы можете использовать что-то вроде этого, как перемещать приложения из рабочей области 1 в 2, используя команду, чтобы бросить их в другие рабочие области, если вы хотите, чтобы они были сгруппированы.

Не то, что вы просили, но кажется, что мы ищем обходные пути:)

В CCSM используйте плагины Place Windows и Resize Window.

Вы можете включить функцию, аналогичную этой. Вы можете сделать это, если Ubuntu запомнит местоположение и запустит приложения при выходе из системы / завершении работы. Для этого перейдите в "Система"> "Запуск приложений" и на вкладке "Параметры" установите флажок "Автоматически запоминать запущенные приложения при выходе из системы" и нажмите кнопку "Запомнить текущие приложения".

IMG

Вам необходимо включить, чтобы увидеть все приложения на запуске-приложение. Запустите команду bash на терминале:sudo sed -i 's / NoDisplay = true / NoDisplay = false / g' /etc/xdg/autostart/*.desktop После этого вы увидите все приложения в приложениях автозагрузки.

Я воспользуюсь этим советом по этой ссылке http://www.webupd8.org/2012/04/things-to-tweak-after-installing-ubuntu.html, возможно, она вас заинтересует.

Извините, мой английский!

Saludos!

1.

CryoPID Но это не очень хорошо задокументировано, хотя последний выпущенный DEB был для Heron, а сайт в последний раз обновлялся в 2005 году, поэтому он может быть бесполезен.

CryoPID позволяет вам фиксировать состояние запущенного процесса в Linux и сохранять его в файл. Этот файл затем можно использовать для возобновления процесса позже, либо после перезагрузки, либо даже на другом компьютере.

CryoPID состоит из программы, называемой freeze, которая фиксирует состояние запущенного процесса и записывает его в файл. Файл самораспаковывающийся и самораспаковывающийся, поэтому для возобновления процесса вы просто запускаете этот файл. См. Таблицу ниже для более подробной информации о том, что поддерживается.

Характеристики

  • Может работать как обычный пользователь! (не требуются права суперпользователя)
  • Работает как на 2.4, так и на 2.6.
  • Работает на x86 и AMD64.
  • Может запустить и остановить процесс несколько раз
  • Может переносить процессы между машинами и между версиями ядра (проверено от 2,4 до 2,6 и от 2,6 до 2,4).

Вот тарболы:

2.

Tuxonice, вероятно, это ваша лучшая ставка и может сработать.

TuxOnIce легче всего описать как эквивалент Linux гибернации Windows, но лучше. Сохраняет содержимое памяти на диск и выключается. Когда компьютер снова запускается, он перезагружает содержимое, и пользователь может продолжить с того места, где он остановился. Нет необходимости перезагружать документы или повторно открывать приложения, и этот процесс намного быстрее, чем обычное завершение работы и запуск.

sudo add-apt-repository ppa:tuxonice/ppa

PPA имеет предварительно скомпилированные ядра Ubuntu с уже скомпилированным TuxOnIce, бинарный файл userui и скрипт hibernate. Так что это может быть не для слабонервных.


Есть один обходной путь, на который стоит обратить внимание:

  • Создайте скрипт, в котором есть все программы, которые вы склонны открывать. Или создайте 2,3,4,5,6 из этих сценариев и привяжите ключ к этому сценарию. Например, control + alt + 1|2|3|4|5|6 или что-то еще. Нажмите клавишу и дайте сценарию открыть все программы из этого сценария.

  • И вы можете использовать что-то вроде этого, как перемещать приложения из рабочей области 1 в 2, используя команду, чтобы бросить их в другие рабочие области, если вы хотите, чтобы они были сгруппированы.

Мне запрещено копировать чей-то ответ, поэтому источник.

Другие вопросы по тегам