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

56

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

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

    
задан Eric 22.10.2010 в 10:55
источник

10 ответов

18

Для 12.04 (и 11.10)

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

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

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

    • add GNOME_SESSION_SAVE environment variable for people wanting to
      use the save session still, knowing that it can break your system
      if used unwisely (LP: #771896)
  • Вы можете включить это, установив для переменной GNOME_SESSION_SAVE значение, отличное от нуля. Вот как это сделать:

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

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

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

В. Что сейчас работает: Enhanced Hibernation с помощью TuxOnIce

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

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

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

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

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

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

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

  • Введите free -m , и вы увидите что-то вроде этого:

                 total       used       free     shared    buffers     cached
    Mem:          1024        731        260          0          0        190
    -/+ buffers/cache:        540        451
    Swap:         1536          6       1530
    
  • Число после Swap: (например, 1536) должно быть больше , чем число после Mem: (например, 1024)

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

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

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

  • Скопируйте и вставьте в терминал следующее. Это добавляет PPA TuxOnIce и устанавливает настраиваемое ядро ​​и заголовки.
    • sudo apt-add-repository ppa:tuxonice/ppa -y
      и после добавления ppa:
    • sudo apt-get update
      sudo apt-get install tuxonice-userui linux-generic-tuxonice -y 
      sudo apt-get install 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 , чтобы выйти из редактора:

    [Re-enable hibernate by default]
    Identity=unix-user:*
    Action=org.freedesktop.upower.hibernate
    ResultActive=yes

  • Перезагрузите, и вы увидите параметр Hibernate , как показано ниже:

    4. Удаление TuxOnIce

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

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

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

ответ дан izx 29.05.2012 в 11:47
11

Для 11.04 и более ранних

Попробуйте это

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

    
ответ дан Open Help 22.10.2010 в 11:40
5

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

  1. Загрузите и установите DConf-Editor.

  2. Введите dconf в тире и запустите его.

Откройте следующие метки в порядке: org - & gt; gnome

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

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

СДЕЛАНО!

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

    
ответ дан Lucio 11.08.2012 в 23:04
5

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

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

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

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

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

13.04

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

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

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

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

2013 2012 2011 2009 2008 2007
ответ дан Gerard Roche 16.08.2013 в 20:48
4

12.04

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

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

  

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

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

  

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

Таким образом:

Затем в меню выключения снова отобразится опция спящего режима:

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

    
ответ дан neonboy 08.05.2012 в 19:25
3

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

Но посмотрите ...

CryoPID

  

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

     

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

     

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

Функции

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

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

  • архив i386
  • x86_64 tarball

А также посмотрите Tuxonice

  

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

ppa:tuxonice/ppa 

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

Существует одно обходное решение, которое стоит обратить внимание на:

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

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

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

    
ответ дан Rinzwind 05.05.2012 в 15:47
1

Вы можете включить функцию, подобную этой. Вы можете это сделать, если Ubuntu запомнит местоположения и запущенные приложения при выходе из системы / выключении. Для этого перейдите к System & gt; Запуск приложений и на вкладке «Параметры» установите флажок «Автоматически помнить запущенные приложения при выходе из системы» и нажмите кнопку «Запомнить текущие приложения».

    

ответ дан Marco Ceppi 03.01.2011 в 18:30
1

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

Я беру этот совет из этой ссылки Ссылка , возможно, это вас будет интересовать.

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

Saludos!

    
ответ дан ali3n 01.05.2012 в 23:59
0

В CCSM используйте плагины «Развернуть Windows» и «Изменить размер окна».

    
ответ дан jasmines 22.05.2012 в 17:27
-1

1.

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

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

     

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

Функции

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

Вот tarballs:

  • архив i386
  • x86_64 tarball

2.

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

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

sudo add-apt-repository ppa:tuxonice/ppa

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

Существует одно обходное решение, которое стоит обратить внимание на:

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

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

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

    
ответ дан virpara 28.05.2012 в 04:36