Esiste un modo per salvare la sessione corrente (le applicazioni + l'organizzazione di Windows nei desktop) in Unity e caricarla quando necessario?
Esiste un modo per salvare la sessione corrente (le applicazioni + l'organizzazione di Windows nei desktop) in Unity e caricarla quando necessario?
Risposte:
No, come hai già descritto, al momento non è possibile su Ubuntu versioni 11.04 e successive.
Puoi leggere questa segnalazione di bug, in particolare il commento 24
https://bugs.launchpad.net/ubuntu/+source/gnome-session/+bug/771896
o qui c'è una spiegazione più completa (troppo tempo per copiarla qui)?
https://lists.ubuntu.com/archives/ubuntu-desktop/2011-January/002734.html
Ho creato una soluzione alternativa che è uno script che aiuta a configurare la sessione.
Scaricalo qui .
Renderlo eseguibile ed eseguirlo dal terminale./session.config
È possibile visualizzare il codice dello script ( https://www.dropbox.com/s/w1btmead93q6hze/session.config?dl=0 ), ci sono spiegazioni in ogni parte. Creerà uno script di avvio che si sposterà su ciascuna finestra e aprirà l'applicazione specificata.
Inoltre puoi eseguirlo quando vuoi, basta premere Alt+ F2e incollare ~/.sessionconf
.
Rimozione
Per rimuovere tutte le modifiche apportate dal mio script basta eliminare questi file:
O eseguilo al terminal:
rm ~/session.config ; rm ~/sessionconf ; rm ~/sessionconf.bak ; rm ~/.config/autostart/sessionconf.desktop
Si può fare questo: killall gnome-session
. Come sappiamo, l'immissione del comando sudo gnome-session-save --logout
disconnetterà il sistema. Ciò salverà la sessione corrente su Unity. Ci ho provato
O forse puoi leggere come avviare automaticamente un programma ogni volta che accedi .
Oppure puoi provare questa chiave di gconf-editor :
/apps/gnome-session/options/auto_save_session = true
gnome-session-save
? Ottengo "comando non trovato". E non riesco a trovarlo nel repository. "Impossibile trovare il pacchetto gnome-session-save".
Questo script funziona benissimo per me su Xubuntu. È più o meno indipendente dal desktop e in teoria dovrebbe supportare anche Unity. Dal post originale del blog di Arnon Weinberg :
Sessione GNOME di salvataggio e ripristino
Questo script viene utilizzato per salvare e ripristinare una sessione desktop.
Perché questa sceneggiatura?
Alcuni desktop manager offrono alcune funzionalità di gestione delle sessioni. Sotto GNOME potrebbe essere possibile eseguire gnome-session-properties manualmente e attivare "Ricorda automaticamente l'esecuzione delle applicazioni al logout". Tuttavia, alcune implementazioni di GNOME (in particolare quelle di Ubuntu) sembrano deludere o deprecare questa funzione a favore della funzione di sospensione o ibernazione.
Entrambe le funzioni di salvataggio e sospensione automatizzate della sessione sono tuttavia limitate al salvataggio / ripristino delle sessioni solo su logout / login puliti.
Uso questo script perché a volte ho solo bisogno di riavviare, a volte mi piace ripristinare la mia sessione a uno stato precedente.
Come usare:
Scarica lo script , posizionalo sul PERCORSO e assicurati di concedergli le autorizzazioni eseguibili.
Per salvare la sessione corrente:
session save
Per ripristinare la sessione salvata:
session restore
Installazione su Ubuntu
Le istruzioni di installazione fornite nel post sul blog sono valide per Fedora. Su Ubuntu dovrai installare le seguenti dipendenze:
sudo apt-get install perl wmctrl xdotool x11-utils
Assicurati di controllare la sezione "Dettagli" del post originale del blog per saperne di più sui diversi livelli di ripristino della sessione.
Aggiornamento: un altro utente ha riferito che lo script ha funzionato solo con la prima riga #!/usr/bin/perl
anziché #!/bin/perl
.
dconf write /org/gnome/gnome-session/auto-save-session true
Dovrebbe abilitarlo per te.
Ho scritto una piccola libreria / strumento da riga di comando che consente di salvare e ripristinare sessioni e ha il supporto per diverse configurazioni di monitor e desktop virtuali.
npm install -g linux-window-session-manager
Salvare la sessione corrente in ~ / .lwsm / sessionData / DEFAULT.json
lwsm save
Salvare la sessione corrente in ~ / .lwsm / sessionData / my-session.json
lwsm save my-session
Ripristina la sessione da ~ / .lwsm / sessionData / DEFAULT.json
lwsm restore
Ripristina la sessione da ~ / .lwsm / sessionData / my-session.json
lwsm restore my-session
Chiudi con grazia tutte le app in esecuzione prima di iniziare la sessione
lwsm restore --closeAllOpenWindows
Dai un'occhiata: https://github.com/johannesjo/linux-window-session-manager