Як зберегти / запам'ятати останнє вживання положення та розмір вікна для додатків?


58

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

Як діяти далі?


1
Як ви можете прочитати тут, ця функція стала видаленою. Я пропоную змінити ваше запитання і попросити рівнозначне рішення, щоб запропонувати суму винагороди.
Якоб

2
Чому? Ви не можете відредагувати своє запитання, оскільки запропонували цю суму? Інакше я б запитав щось на кшталт "Будь-яка ідея для вирішення?" оскільки це цікаве питання!
Якоб

2
"Я хотів би відповіді, а не посилання. Будь ласка, вкажіть, що я повинен зробити, щоб вирішити проблему, з якою я стикаюся". Вам доведеться забруднити пальці, якщо ви хочете досягти цього способу: +
Rinzwind

2
Звіти про помилки: тут (2007-07-06) , тут , тут (2008-03-21) , тут , Інші програми: тут , тут , тут . Є ще більше!
Джерард Рош

1
Можливий дублікат, який дає відповідь 12.04? - або дупа повинна бути злита тут: askubuntu.com/questions/129339/…
fossfreedom

Відповіді:


18

За 12.04 (та 11.10)

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

А. Спроба ввімкнути стару функціональність збереження сеансу Gnome

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

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

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

    • введіть тут опис зображення

    • Натисніть, Ctrl+Sщоб зберегти та Ctrl+Qвийти з редактора.

    • Тепер перезавантажтесь (вихід також повинен працювати, але просто для безпеки)
  • Те, що робить патч ( джерело ), - це відключити вкладку « Параметри » в програмах запуску програм, яка містила параметр « Запам'ятати запущені програми» під час виходу з програми . АЛЕ він перевіряє GNOME_SESSION_SAVEзмінну, і якщо встановлено (не-нульовий), він повинен включати збереження сеансу так само, як якщо б поле Запам'ятати ... існувало і було встановлено прапорець. Ось чому помилка позначена як "виправлена"
    • якщо (g_getenv ("GNOME_SESSION_SAVE")! = NULL)
                      можливо_load_saved_session_apps (менеджер);
    • На жаль, це, здається, не працює, що підтверджено коментарем 32 у програмі відстеження помилок.
    • Я навіть спробував відключити виправлення та відновити gnome-sessionз джерела. Через це знову з’являється прапорець Параметри , але це нічого не робить.
    • Але ей, це може якось працювати для вас !! :)

B. Що працює зараз: посилена сплячка за допомогою TuxOnIce

  • Гібернація зберігає поточний стан системи (включаючи ваш сеанс, відкриті програми тощо) на жорсткому диску і вимикає комп'ютер. Коли ви запускаєте його знову, він зчитує збережений стан і відновлює його так само, як ніби ви ніколи не вимикали комп'ютер. Ця технологія в основному використовується користувачами ноутбуків для економії енергії акумулятора, але немає причин, що її також не можна використовувати на настільних комп'ютерах.
  • Підтримка сплячки доступна в Ubuntu / Linux, але її було відключено 12.04, оскільки вона не працювала належним чином у багатьох системах. Дивіться це питання та цей грецький порт, якщо ви хочете отримати більше інформації.

    Більш сумісна альтернатива: TuxOnIce

  • TuxOnIce ( wiki | домашня сторінка ) є альтернативою вбудованій технології сплячки ядра і повинен бути більш сумісним, надійнішим та гнучкішим.

  • Він легко встановлюється, і якщо він не працює для вас, так само легко видаляється.
  • Для цього потрібно встановити спеціальне ядро TuxOnIce , але інструкції, які випливають, повинні спростити його. Якщо ви ніколи раніше не відкривали термінал, ви можете зараз :-)

    0. Вимоги

    Єдина вимога до TuxOnIce - це те, що ваш розділ swap повинен бути принаймні таким же великим, як у вас є об'єм пам'яті (RAM). Ви можете перевірити це:

  • Запустіть термінал з Ctrl+ Alt+T

  • Наберіть free -m, і ви повинні побачити щось подібне:

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

  • Якщо це не так, і ваш своп менший, ніж об'єм пам'яті, ви повинні або змінити розмір і збільшити розмір свого розділу swap, або налаштувати TuxOnIce для використання спеціального файлу swap. Це виходить за рамки цієї відповіді, але якщо ви задасте інше запитання і згадаєте його в коментарях, я відповім і поясню як.

    1. Встановлення ядра TuxOnIce

  • Запустіть термінал з Ctrl+ Alt+T

  • Скопіюйте та вставте наступне в термінал. Це додає TuxOnIce PPA та встановлює власні ядра та заголовки.
    • 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, натисніть клавішу Enter і знову натисніть клавішу Enter, щоб повернутися до робочого ядра.

    2. Тестування функцій сплячки.

  • Відкрийте деякі програми, якими ви зазвичай користуєтесь, наприклад, Firefox, Thunderbird, LibreOffice тощо.

  • Відкрийте термінал ще раз, Ctrl+ Alt+ T.
  • Введіть sudo pm-hibernate, натисніть Enter, введіть свій пароль.
  • Ви повинні побачити заблокований екран на секунду, а потім екран прогресу сплячки TuxOnIce, як показано нижче:

    введіть тут опис зображення

    • Якщо TuxOnIce працює, ваш комп'ютер вимкнеться.
    • Почніть його знову і чекайте. TuxOnIce має відновитись з того моменту, коли ви перезимували, включаючи всі вікна, які ви відкрили у тому місці, яке ви відкрили.
  • Якщо все це спрацювало, перейдіть до кроку 3, який дозволяє вам ввімкнути сплячку з панелі приладів.

    3. Увімкнення сплячки на інформаційній панелі

  • Натисніть Alt+ F2, введіть нижче та натисніть клавішу Enter:

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

    [Повторно включити сплячий режим за замовчуванням]
    Ідентифікація = unix-користувач: *
    Дія = org.freedesktop.upower.hibernate
    ResultActive = так

    введіть тут опис зображення

  • Перезапустіть, і вам слід побачити варіант сплячого режиму, як показано нижче:

    введіть тут опис зображення

    4. Видалення TuxOnIce

    • Якщо TuxOnIce для вас не працює, або ви просто хочете його видалити, запустіть термінал і введіть:

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

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


3
Це дійсно ґрунтовна відповідь, але я думаю, що питання полягає в тому, як "змусити програми пам’ятати їх розмір вікна та положення", навіть зберігаючись між перезавантаженнями. Можливо, це навіть не налаштування програми, можливо менеджер вікон? Наприклад, усі поточні рішення (включаючи devispie) не впливають на Firefox. Це відкривається праворуч для мене, незважаючи ні на що. Хоча хороша відповідь. Питання може потребувати іншого редагування, якщо я розумію правильно.
Том Броссман

@TomBrossman, це трохи більш нюансований, IMO: ОП хочуть, щоб стан "робочого столу" при виході / відключенні відновлювався при вході / завантаженні, що технічно відрізняється від додатків, що запам'ятовують останній розмір / положення між моментами. Єдина думка полягає в тому, що він вже деякий час залишається статусом між менеджером вікон та спільнотами розробки додатків: кожен вважає, що за збереження параметрів вікна додатків відповідальність є іншою стороною. Єдиним справжнім вирішенням того, що ви згадуєте, швидше за все, є якийсь скрипт обгортки для кожного додатка, який зберігає / відновлює позицію.
Іш

1
Це найжорстокіша надмірна проблема простої проблеми, яку я коли-небудь бачив, і, мабуть, не варто міняти біти зі сплячки, і я б не робив цього ні на одній зі своїх машин, але +150 для ретельної роботи!
Хорхе Кастро

Я ввів "free -m" і виявив, що мій своп номер (255) менший, ніж пам'ять (3841), тому я не продовжував. Як я можу це виправити? Дякую.
Вел-Зепп

Діалог цієї відповіді, хоча і цікавий, відволікає від специфіки цього актуального питання. Це питання задавали багато разів. Відповіді рідко стосувалися актуального питання. ОП не намагається зберегти сеанси. Він хоче , щоб вони почати з останнього розміру і положення .... Not remember & start same session... При запуску нового сеансу з додатками ( terminalі firefox), навіть на тому ж вході, Remember the last-used window size and position. Це заощадить багато часу на спроби змінити позицію та змінити розмір програми на кожному сеансі ... щоразу, коли додаток запускається.
Л. Д. Джеймс

11

Для 11.04 і раніше

Спробуйте це

Система> Запустити програми> Опції та встановіть прапорець Автоматично запам'ятовувати запущені програми під час виходу із системи та натисніть запам'ятати поточні програми.


3
Немає вкладки Параметри, v11.10?
Джерард Рош

7

Здається, всі програми не можуть запам'ятати своє останнє положення та розмір вікна. Така поведінка, здається, була видалена дуже давно. Я розумію, що саме програма відповідає за запам'ятовування власної позиції та розміру. А тут у брехні рубіж.

Пошук за допомогою трекера помилок дає багато звітів, які певним чином стосуються цього питання.

Отже, які програми запам'ятовують положення та розміри та які версії 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 існує в смс . Це під Place Windows... деталі за адресою: askubuntu.com/a/708984/29012 .
Л. Д. Джеймс

Де Firefox зберігає розмір вікна та дані про місцезнаходження?
Рой

5

Як зберегти сеанс на Ubuntu 11.04 або вище:

  1. Завантажте та встановіть DConf-Editor.

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

DASH-IMG

Відкрийте наступні мітки для того, щоб: org->gnome

Потім виберіть gnome-session

Тепер ви повинні бачити auto-save-sessionваріант як наступне зображення, активуйте його .

APP-IMG

Зроблено!

Тепер, коли вимкнути комп’ютер, поточний сеанс збережеться автоматично. Наступного разу ви повернете це точно так, як ви пішли.


2
Схоже, це не робить нічого для вікна додатків, що запам'ятовує розмір та положення.
Джерард Рош

Я не розумію, що ти намагаєшся сказати.
Луціо

1
Це питання задають багато разів на askubuntu.com. Жодна з багатьох відповідей не стосується конкретного конкретного питання. Йдеться не про сплячку, це про відкриття запуску програми terminal або firefoxналаштування, коригування розміру та положення вікна, тоді, коли ви запускаєте його знову, розмір і положення - це те, що ви тільки встановили. Він не намагається згадати попередню сесію. Він просто хоче, щоб програма terminalабо firefoxпрограма починалися з останнього розміру та позиції. Новий сеанс / того ж розміру та позиції від того ж додатка.
Л.Д. Джеймс

3

Поточна думка полягає в тому, що правильною функцією збереження / відновлення сеансу є використання або призупинення роботи, або сну. Я погоджуюся, хоча те, що перебуває в сплячому режимі та призупиненні роботи, може бути болем працювати, якщо вони не вийшли з коробки ...

Але подивіться ...

КріоПІД

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

CryoPID був створений з обговорення у списку розсилки програмного забезпечення, що припиняє, про складності призупинення та відновлення окремих процесів.

CryoPID складається з програми під назвою freeze, яка фіксує стан запущеного процесу і записує його у файл. Файл самостійно виконує та саморозпаковується, тому для відновлення процесу просто запустіть цей файл. Докладнішу інформацію про те, що підтримується, див. У таблиці нижче.

Особливості

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

Це не дуже добре задокументовано, але останній ДЕБ вийшов для Heron, а веб-сайт востаннє оновлений у 2005 році, тому він може бути марним. Ось тарболи:

А також подивіться на 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 за допомогою команди, щоб перекинути їх на інші робочі простори, якщо ви хочете, щоб вони були згруповані.

Не те, про що ви просили, але, здається, ми вважаємо, що шукаємо обхідні шляхи :)


1
Гммм .. Я думаю, пройде деякий час, перш ніж буде зроблено достатньо налаштувань на CryoPID, перш ніж ми зможемо зробити його сумісним з ядром 3.0. Якщо є відповідь на моє запитання, то це все. Дякую Ріндзвінд.
harisibrahimkv

Схоже, кріопід мертвий у воді. tuconice, здається, сподівається. Прочитайте кілька позитивних відгуків про нього. І немає жодних проблем @harisibrahimkv Я використовував цей варіант досить багато в старі часи (але також, погодьтеся, це було дуже дуже баггі). У мене є ще один варіант, але насправді не час розглянути далі: як щодо сценарію, який відкриває всі ваші програми та надсилає їх у робочу область? xdotool має бути в змозі це зробити?
Rinzwind

3

12.04

Як вирішення, ви можете знову ввімкнути сплячку в 12.04 і використовувати її, щоб вимкнути ПК, а потім прокинути його з усіма вашими програмами, які ще використовуються.

Введіть термінал:

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

а потім додайте цей рядок до текстового файлу:

[Повторно увімкнути сплячий режим]
Ідентифікація = unix-користувач: * Дія = org.freedesktop.upower.hibernate
ResultActive = так

Сюди :

введіть тут опис зображення

Потім опція сплячки знову відобразиться в меню вимкнення:

введіть тут опис зображення

Сподіваюся, це допоможе.


2
Дякуємо, що знайшли час, щоб дати відповідь. Але, на жаль, варіант гібернації не є вирішенням мого питання.
harisibrahimkv

1
що це за програма працює на робочому столі? чи це просто ікони? (сердиті птахи / firefox тощо), його приємне ... посилання будь ласка: D: D: D: P
kernel_panic

Я підозрюю, що це просто шпалери, але я хотів би мати таку тему значків
відкривається

1

Ви можете ввімкнути функцію, подібну до цієї. Це можна зробити, якщо Ubuntu запам’ятав місця та запустив програми на вимкнення / вимкнення журналу. Для цього перейдіть до системи> Запуск програм та на вкладці «Параметри» встановіть прапорець «Автоматично запам'ятовувати запущені програми під час виходу з системи» та натисніть кнопку «Запам'ятати поточні програми».

img


6
12.04 не має вкладки параметрів у налаштуваннях програм запуску.
fragos

1

Вам потрібно ввімкнути, щоб побачити всі додатки при запуску-застосуванні. Запустіть цю команду 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 , можливо, це вас зацікавить.

Вибачте foy мою англійську!

Салудос!


3
Дякую за посилання, оскільки я вважаю це дуже корисним. Але я боюся, що це не відповідь, яку я шукаю. Те, що ви запропонували, відображає програми запуску, які фактично запускаються при запуску в меню програм для запуску.
harisibrahimkv

0

У CCSM використовуйте плагіни Place Windows та Resize Window.


1
З'являється місце Windows, додайте деякі алгоритми розміщення або ж потрібно ввести правила для відповідності та розміщення вікон у певних місцях. Я не міг змусити його просто згадати, де були розміщені вікна в останній раз, коли я входив у систему. Однак це виглядає корисно.
Джон С Грубер

2
Чи можете ви надати більше деталей у своїй відповіді, як використовувати ці плагіни, щоб отримати бажаний ефект? Дякую!
Крістофер Кайл Хортон

-1

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 та сценарієм сплячого режиму. Тож це може бути не слабким.


Є один спосіб вирішення, на який варто звернути увагу:

  • Створіть сценарій, у якому є всі програми, які ви схильні відкривати. Або створити 2,3,4,5,6 цих сценаріїв і прив’язати ключ до цього сценарію. Як, control + alt + 1|2|3|4|5|6або якщо це використовується щось інше. Натисніть ключ і дозвольте скрипту відкрити всі програми з цього сценарію.

  • І ви можете використовувати щось подібне, як переміщувати програми з робочої області 1 на 2 за допомогою команди, щоб перекинути їх на інші робочі простори, якщо ви хочете, щоб вони були згруповані.

Мені заборонено копіювати відповідь когось, тому джерело .


1
Ви повністю скопіювали та вклали відповідь звідси ( askubuntu.com/questions/129339/… ). Якщо ви це зробите в майбутньому, будь ласка, підтвердьте це, додавши цитування.
fossfreedom

@fossfreedom Чи можу я опублікувати чиюсь відповідь? Я не буду, якщо не повинен.
Рахул Вірпара

@virpara: це може бути мета, але я визнаю питання / відповідь джерела на початку, якщо я буду використовувати будь-яку його частину у своїй відповіді
останній

1
Якщо його частина чиєїсь відповіді, то зробіть це явним у своїй відповіді. Враховуючи, що ви скопіювали 99% відповіді, тоді вам слід просто посилання на відповідь. Зверніть увагу - я вже зв'язав цей Q у коментарі до питання. На мій погляд, два Q дуже схожі і можуть потребувати злиття.
fossfreedom
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.