Czy istnieje sposób na zapisanie bieżącej sesji (aplikacje + organizacja okien w komputerach stacjonarnych) w Unity i załadowanie jej w razie potrzeby?
Czy istnieje sposób na zapisanie bieżącej sesji (aplikacje + organizacja okien w komputerach stacjonarnych) w Unity i załadowanie jej w razie potrzeby?
Odpowiedzi:
Nie - zgodnie z opisem nie jest to obecnie możliwe w wersji Ubuntu 11.04 i nowszych.
Możesz przeczytać ten raport o błędzie, w szczególności komentarz 24
https://bugs.launchpad.net/ubuntu/+source/gnome-session/+bug/771896
lub tutaj jest pełniejsze wyjaśnienie (zbyt długie, aby skopiować tutaj)?
https://lists.ubuntu.com/archives/ubuntu-desktop/2011-J January/002734.html
Zrobiłem obejście, które jest skryptem, który pomaga skonfigurować sesję.
Pobierz tutaj .
Spraw, by był wykonywalny i uruchamiał się z terminala./session.config
Możesz zobaczyć kod skryptu ( https://www.dropbox.com/s/w1btmead93q6hze/session.config?dl=0 ), w każdej części znajdują się wyjaśnienia. Utworzy skrypt startowy, który przejdzie do każdej rzutni i otworzy określoną aplikację.
Możesz także uruchomić go w dowolnym momencie, po prostu naciśnij Alt+ F2i wklej ~/.sessionconf
.
Usuwanie
Aby usunąć wszelkie zmiany wprowadzone przez mój skrypt, po prostu usuń te pliki:
Lub uruchom to na terminalu:
rm ~/session.config ; rm ~/sessionconf ; rm ~/sessionconf.bak ; rm ~/.config/autostart/sessionconf.desktop
Można to zrobić: killall gnome-session
. Jak wiemy, wpisanie polecenia sudo gnome-session-save --logout
spowoduje wylogowanie systemu. Pozwoli to zapisać bieżącą sesję w Unity. Próbowałem tego.
Być może możesz przeczytać o tym, jak program uruchamiać się automatycznie przy każdym logowaniu .
Lub możesz wypróbować ten klucz edytora gconf :
/apps/gnome-session/options/auto_save_session = true
gnome-session-save
? Otrzymuję komunikat „Nie znaleziono polecenia”. I nie mogę go znaleźć w repozytorium. „Nie można znaleźć pakietu gnome-session-save”.
Ten skrypt działa świetnie dla mnie na Xubuntu. Jest mniej więcej agnostyczny dla komputerów stacjonarnych i teoretycznie powinien również wspierać Unity. Z oryginalnego postu na blogu Arnona Weinberga :
Zapisywanie i przywracanie sesji GNOME
Ten skrypt służy do zapisywania i przywracania sesji pulpitu.
Dlaczego ten skrypt?
Niektórzy menedżerowie komputerów stacjonarnych oferują pewne funkcje zarządzania sesjami. W GNOME może istnieć możliwość ręcznego uruchomienia właściwości gnome-session-session i włączenia „Automatycznie zapamiętuj uruchomione aplikacje podczas wylogowywania”. Jednak niektóre implementacje GNOME (zwłaszcza Ubuntu) wydają się zmniejszać lub deprecjonować tę funkcję na korzyść funkcji zawieszenia lub hibernacji.
Zarówno funkcja automatycznego zapisywania i zawieszania sesji ogranicza się jednak do zapisywania / przywracania sesji tylko przy czystym wylogowaniu / logowaniu.
Używam tego skryptu, ponieważ czasami po prostu muszę zrestartować komputer, a czasem lubię przywracać sesję do poprzedniego stanu.
Jak używać:
Pobierz skrypt , umieść go na ŚCIEŻCE i upewnij się, że masz uprawnienia do wykonywania.
Aby zapisać bieżącą sesję:
session save
Aby przywrócić zapisaną sesję:
session restore
Instalacja na Ubuntu
Instrukcje instalacji podane w poście na blogu są ważne dla Fedory. W systemie Ubuntu będziesz musiał zainstalować następujące zależności:
sudo apt-get install perl wmctrl xdotool x11-utils
Zapoznaj się z sekcją „Szczegóły” oryginalnego posta na blogu, aby dowiedzieć się więcej o różnych poziomach przywracania sesji.
Aktualizacja: inny użytkownik zgłosił, że skrypt działał tylko z pierwszą linią #!/usr/bin/perl
zamiast #!/bin/perl
.
dconf write /org/gnome/gnome-session/auto-save-session true
Powinno to umożliwić ci.
Napisałem małe narzędzie biblioteki / wiersza poleceń, które pozwala zapisywać i przywracać sesje oraz obsługuje różne konfiguracje monitorów, a także wirtualne komputery stacjonarne.
npm install -g linux-window-session-manager
Zapisz bieżącą sesję do ~ / .lwsm / sessionData / DEFAULT.json
lwsm save
Zapisz bieżącą sesję do ~ / .lwsm / sessionData / my-session.json
lwsm save my-session
Przywróć sesję z ~ / .lwsm / sessionData / DEFAULT.json
lwsm restore
Przywróć sesję z ~ / .lwsm / sessionData / my-session.json
lwsm restore my-session
Z wdziękiem zamknij wszystkie uruchomione aplikacje przed rozpoczęciem sesji
lwsm restore --closeAllOpenWindows
Sprawdź to: https://github.com/johannesjo/linux-window-session-manager