Come faccio a salvare / ricordare la posizione e le dimensioni della finestra utilizzate per ultimo per le applicazioni?

56

Quando accedo ad Ubuntu, vorrei che tutte le finestre aperte alla sessione precedente (principalmente per terminale e Firefox) fossero riaperte automaticamente alla stessa dimensione e posizione.

Come procedere?

    
posta Eric 22.10.2010 - 10:55

10 risposte

18

Per 12.04 (e 11.10)

La risposta breve è: ibernazione è l'opzione migliore perché la funzionalità gnome-session-save è stata rimossa dopo la 11.04 da quando era bacata e il tweak ufficiale da manualmente riattivare questa funzionalità non sembra funzionare. La parte B di questa risposta descrive come utilizzare un metodo di ibernazione alternativo, TuxOnIce , che al momento è più compatibile e affidabile rispetto alla sospensione incorporata.

A. Cercando di abilitare la vecchia funzionalità di salvataggio della sessione Gnome

  • Nota: come descritto alla fine, questo tweet ufficiale non sembra funzionare - potresti saltare direttamente a B. Ibernazione con TuxOnIce
  • Questo bug del Launchpad parla del ripristino della funzionalità "salva sessione". Attualmente è contrassegnato come "corretto", poiché nel mese di aprile 2012 è stata introdotta una patch nel pacchetto gnome-session , che consente agli utenti di riattivare manualmente questa funzionalità. La patch si descrive come:

    • 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)
  • Puoi abilitare questo impostando la variabile GNOME_SESSION_SAVE su un valore non nullo. Ecco come:

    • Premi Alt+F2 , digita gedit ~/.pam_environment e premi invio.
    • Aggiungi la riga GNOME_SESSION_SAVE=1 alla fine del file come mostrato di seguito:

    • Premi Ctrl+S per salvare e Ctrl+Q per uscire dall'editor.

    • Ora riavvia (il logout dovrebbe funzionare, ma per sicurezza)
  • Ciò che la patch ( source ) fa è disabilitare la scheda Opzioni in Applicazioni di avvio, che conteneva l'opzione Ricorda l'esecuzione delle applicazioni quando si disconnette . MA controlla la variabile GNOME_SESSION_SAVE , e se impostata (non nulla), dovrebbe abilitare il salvataggio della sessione proprio come se esistesse la casella Ricorda ... controllato. Ecco perché il bug è etichettato come "risolto"
    • if (g_getenv ("GNOME_SESSION_SAVE") != NULL)
                      maybe_load_saved_session_apps (manager);
    • Purtroppo, non sembra funzionare, come confermato da commento 32 nel bug tracker.
    • Ho persino provato a disattivare la patch e a ricostruire gnome-session dalla sorgente. Questo fa apparire la casella di controllo Opzioni , ma non fa nulla.
    • Ma hey, potrebbe funzionare in qualche modo per te !! :)

B. Ciò che funziona per ora: Enhanced Hibernation con TuxOnIce

  • Ibernazione salva il tuo attuale stato del sistema (compresa la sessione, le applicazioni aperte, ecc.) sul disco rigido e spegne il computer. Quando lo avvii di nuovo, legge lo stato salvato e lo ripristina, proprio come se non avessi mai spento il computer. Questa tecnologia è utilizzata principalmente dagli utenti di laptop per risparmiare sulla batteria, ma non c'è motivo per cui non possa essere utilizzata anche sui desktop.
  • Il supporto per l'ibernazione è disponibile in Ubuntu / Linux, ma era disabilitato in 12.04 perché non funzionava correttamente su un numero di sistemi. Vedi questa domanda e questo bugreport se vuoi maggiori informazioni.

    Un'alternativa più compatibile: TuxOnIce

  • TuxOnIce ( wiki | homepage ) è un'alternativa alla tecnologia di ibernazione integrata del kernel e dovrebbe essere più compatibile, più affidabile e più flessibile.

  • È facilmente installabile, e se non funziona per te, come facilmente rimosso.
  • Richiede l'installazione del kernel personalizzato di TuxOnIce , ma le istruzioni che seguono dovrebbero renderlo semplice. Se non hai mai aperto il terminale prima, potresti voler ora: -)

    0. Requisiti

    L'unico requisito per TuxOnIce è che la tua partizione di swap sia almeno grande quanto la quantità di memoria (RAM) che hai. Puoi controllare questo:

  • Avvia il terminale con Ctrl + Alt + T

  • Digita free -m , e dovresti vedere qualcosa del tipo:

                 total       used       free     shared    buffers     cached
    Mem:          1024        731        260          0          0        190
    -/+ buffers/cache:        540        451
    Swap:         1536          6       1530
    
  • Il numero dopo Swap: (ad es. 1536) dovrebbe essere più del numero dopo Mem: (ad es. 1024)

  • Se questo non è il tuo caso, e il tuo scambio è più piccolo della tua memoria, devi ridimensionare e aumentare la dimensione della tua partizione di swap, o configurare TuxOnIce utilizzare un file di scambio speciale. Questo va oltre lo scopo di questa risposta, ma se chiedi un'altra domanda e la menzioni nei commenti, risponderò e spiegherò come.

    1.Installazione del kernel TuxOnIce

  • Avvia il terminale con Ctrl + Alt + T

  • Copia e incolla quanto segue nel terminale. Questo aggiunge il

    TuxOnIce PPA e installa il kernel e le intestazioni personalizzati.

    • sudo apt-add-repository ppa:tuxonice/ppa -y
      e una volta aggiunto il ppa:
    • sudo apt-get update
      sudo apt-get install tuxonice-userui linux-generic-tuxonice -y 
      sudo apt-get install linux-headers-generic-tuxonice -y
  • Ora riavvia.
  • Ubuntu dovrebbe ora avviarsi con il kernel TuxOnIce . Se ci sono problemi, tieni premuto Shift all'avvio e otterrai il menu Grub. Usa i tasti freccia per andare a Previous Linux Versions , premi invio e premi di nuovo enter per tornare al kernel funzionante.

    2. Verifica della funzionalità di ibernazione.

  • Apri alcune delle applicazioni che usi normalmente, ad es. Firefox, Thunderbird, LibreOffice, ecc.

  • Apri di nuovo il terminale, con Ctrl + Alt + T .
  • Digita sudo pm-hibernate , premi invio, inserisci la password.
  • Dovresti vedere la schermata di blocco per un secondo, e poi la schermata di avanzamento di ibernazione TuxOnIce, come quella seguente:

    • Se TuxOnIce funziona, il computer si spegnerà.
    • Avvia di nuovo e aspetta. TuxOnIce dovrebbe riprendere dal punto in cui sei ibernato, comprese tutte le finestre che hai aperto nella posizione che hai aperto.
  • Se tutto ciò ha funzionato, vai al passaggio 3, che ti consente di abilitare l'ibernazione dalla dashboard.

    3. Abilitazione della modalità di sospensione dalla dashboard

  • Premi Alt + F2 , digita quanto segue e quindi premi invio:

    gksudo gedit /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
  • Incolla il seguente, premi Ctrl + S per salvare e Ctrl + Q per uscire dall'editor:

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

  • Riavvia, e dovresti vedere l'opzione Sospensione come mostrato di seguito:

    4. Rimozione di TuxOnIce

    • Se TuxOnIce non funziona per te, o semplicemente desideri rimuoverlo, avvia il terminale e inserisci:

       sudo apt-get remove tuxonice-userui linux-generic-tuxonice linux-headers-generic-tuxonice -y
    • e ricorda di disabilitare l'opzione Ibernazione nel menu con:

      sudo rm /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
    • Quindi riavvia.

risposta data ish 29.05.2012 - 11:47
11

Per 11.04 e precedenti

Prova questo

Sistema & gt; Avvia applicazioni & gt; Opzioni e seleziona Ricorda automaticamente le applicazioni in esecuzione al momento del logout e fai clic su ricorda le applicazioni correnti.

    
risposta data Open Help 22.10.2010 - 11:40
5

Come salvare una sessione su Ubuntu 11.04 o successivo:

  1. Scarica e installa DConf-Editor.

  2. Digita dconf sul trattino ed eseguilo.

Apri le etichette successive nell'ordine: org - & gt; gnome

Quindi seleziona gnome-session

Ora dovresti vedere l'opzione auto-save-session come la seguente immagine, attivarla .

è fatto!

Ora, quando spegni il computer, la sessione corrente verrà salvata automaticamente. La prossima volta che lo giri sarà esattamente come lo avevi lasciato.

    
risposta data Lucio 11.08.2012 - 23:04
5

Non sembra possibile che tutte le applicazioni ricordino la loro posizione e dimensione dell'ultima finestra. Questo comportamento sembra essere stato rimosso molto tempo fa. La mia comprensione è che è la responsabilità della applicazione a ricordare la propria posizione e dimensione. E qui in menzogna lo sfregamento.

Una ricerca nel bug tracker produce molti rapporti che in qualche modo sono rilevanti per questo problema.

Quindi quali applicazioni ricordano la posizione e l'amp; dimensione e quali versioni di Ubuntu fanno le applicazioni hanno questo functionaility?

Nota: ti preghiamo di modificare e compilare le applicazioni e le versioni di Ubuntu che hai testato per questo functionaility. l'applicazione ricorda la posizione e / o la dimensione della finestra.

Sepecify la versione di Ubuntu che hai testato e se una o entrambe le postazioni e dimensioni della finestra sono state memorizzate.

13.04

posizione della finestra | dimensione

  • Y, Y - Nautilus
  • N, Y - Firefox posizionamenti errati di monitor multipli
  • N, N - Terminale Il terminale ha impostazioni personalizzate per ricordare ogni volta una dimensione specifica, ma non ricorderà l'ultima posizione
  • N, Y - Chromium
  • Y, Y - Banshee
  • N, - - Calcolatrice non è ridimensionabile *
  • N, Y - Gedit

Esempi di segnalazioni di errori

Ecco alcuni rapporti di bug casuali da alcune semplici ricerche nel bug tracker, ad es. " ricorda la posizione della finestra ".

2013 2012 2011 2009 2008 2007
risposta data Gerard Roche 16.08.2013 - 20:48
4

12.04

Per risolvere il problema, puoi riattivare la modalità di sospensione in 12.04 e utilizzarlo per spegnere il PC e riattivarlo con tutte le applicazioni ancora in uso.

Inserisci terminale:

  

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

e quindi aggiungi questa stringa al file di testo:

  

[Riattivare Hibernate]
  Identità = unix-utente: *   Action = org.freedesktop.upower.hibernate
  ResultActive = yes

In questo modo:

Quindi l'opzione di ibernazione verrà nuovamente visualizzata nel menu di spegnimento:

Spero che ti aiuti.

    
risposta data neonboy 08.05.2012 - 19:25
3

L'attuale credenza è che la funzione di salvataggio / ripristino della sessione corretta sia l'uso di sospensione o ibernazione. Sono d'accordo anche se il fatto che ibernare e sospendere può essere un problema per lavorare se non fossero fuori dalla scatola ...

Ma dai un'occhiata a ...

CryoPID

  

CryoPID consente di acquisire lo stato di un processo in esecuzione in Linux e salvarlo in un file. Questo file può quindi essere utilizzato per riprendere il processo in un secondo momento, dopo un riavvio o anche su un altro computer.

     

CryoPID è stato generato da una discussione sul software sospende la mailing list sulla complessità di sospendere e riprendere i singoli processi.

     

CryoPID consiste in un programma chiamato freeze che cattura lo stato di un processo in esecuzione e lo scrive in un file. Il file è auto-eseguibile e autoestraente, quindi per riprendere un processo, è sufficiente eseguire quel file. Vedi la tabella seguente per maggiori dettagli su cosa è supportato.

Caratteristiche

  • Può essere eseguito come un utente normale! (non sono necessari privilegi di root)
  • Funziona sia su 2.4 che su 2.6.
  • Funziona su x86 e AMD64.
  • Può iniziare & amp; interrompere un processo più volte
  • Può migrare processi tra macchine e tra versioni del kernel (testati tra 2.4 e 2.6 e 2.6 a 2.4).

Tuttavia non è molto ben documentato e l'ultima versione di DEB rilasciata è per Heron e il sito web è stato aggiornato l'ultima volta nel 2005, quindi potrebbe essere inutile. Ecco i tarball:

  • tarball i386
  • tarball x86_64

E dai anche un'occhiata a Tuxonice

  

TuxOnIce è più facilmente descritto come l'equivalente di Linux della funzionalità di ibernazione di Windows, ma migliore. Salva il contenuto della memoria su disco e si spegne. Quando il computer viene riavviato, ricarica i contenuti e l'utente può continuare dal punto in cui era stato interrotto. Nessun documento deve essere ricaricato o le applicazioni riaperte e il processo è molto più veloce di un normale arresto e avvio.

ppa:tuxonice/ppa 

Il PPA ha precompilato i kernel di Ubuntu con TuxOnIce già compilato, il binario userui e lo script di ibernazione. Quindi potrebbe non essere per i deboli di cuore.

C'è una soluzione che potrebbe valere la pena di esaminare:

  • Crea uno script con tutti i programmi che tendi ad aprire. Oppure crea 2,3,4,5,6 di quegli script e associa una chiave a questo script. Come control + alt + 1 | 2 | 3 | 4 | 5 | 6 o se è in uso qualcos'altro. Premi la chiave e lascia che lo script apra tutti i programmi da quello script.

  • E puoi usare qualcosa come come spostare le applicazioni dallo spazio di lavoro 1 al 2 usando il comando per lanciarle su altri spazi di lavoro, se li vuoi raggruppati.

Non è quello che hai chiesto, ma sembra che siamo considerati per cercare soluzioni alternative:)

    
risposta data Rinzwind 05.05.2012 - 15:47
1

È possibile abilitare una funzione simile a questa. Puoi farlo facendo in modo che Ubuntu ricordi le posizioni e le applicazioni in esecuzione su log off / shut down. Per farlo, vai a Sistema & gt; Startup Applications e nella scheda Options seleziona "Memorizza automaticamente le applicazioni in esecuzione al momento della disconnessione" e premi il pulsante "Ricorda le applicazioni correnti".

    
risposta data Marco Ceppi 03.01.2011 - 18:30
1

Devi abilitare la visualizzazione di tutte le aplicazioni all'avvio-aplication. Esegui questo comando bash su un terminale: sudo sed -i / NoDisplay = true / NoDisplay = false / g '/ etc / xdg / autostart / *. desktop Dopodiché vedrai tutte le applicazioni in Startup Applications.

Prendo questo suggerimento da questo link link , forse ti interesserà.

Mi dispiace foy my english!

Saludos!

    
risposta data ali3n 01.05.2012 - 23:59
0

In CCSM, utilizza i plug-in Posiziona Windows e Ridimensiona finestra.

    
risposta data jasmines 22.05.2012 - 17:27
-1

1.

CryoPID Ma non è molto ben documentato e l'ultimo rilascio di DEB è stato per Heron e il sito web è stato aggiornato l'ultima volta nel 2005, quindi potrebbe essere inutile.
  

CryoPID consente di acquisire lo stato di un processo in esecuzione in Linux e salvarlo in un file. Questo file può quindi essere utilizzato per riprendere il processo in un secondo momento, dopo un riavvio o anche su un altro computer.

     

CryoPID consiste in un programma chiamato freeze che cattura lo stato di un processo in esecuzione e lo scrive in un file. Il file è auto-eseguibile e autoestraente, quindi per riprendere un processo, è sufficiente eseguire quel file. Vedi la tabella seguente per maggiori dettagli su cosa è supportato.

Caratteristiche

  • Può essere eseguito come un utente normale! (non sono necessari privilegi di root)
  • Funziona sia su 2.4 che su 2.6.
  • Funziona su x86 e AMD64.
  • Può iniziare & amp; interrompere un processo più volte
  • Può migrare processi tra macchine e tra versioni del kernel (testati tra 2.4 e 2.6 e 2.6 a 2.4).

Ecco i tarball:

  • tarball i386
  • tarball x86_64

2.

Tuxonice probabilmente questa è la tua migliore scommessa e potrebbe funzionare.
  

TuxOnIce è più facilmente descritto come l'equivalente di Linux della funzionalità di ibernazione di Windows, ma migliore. Salva il contenuto della memoria su disco e si spegne. Quando il computer viene riavviato, ricarica i contenuti e l'utente può continuare dal punto in cui era stato interrotto. Nessun documento deve essere ricaricato o le applicazioni riaperte e il processo è molto più veloce di un normale arresto e avvio.

sudo add-apt-repository ppa:tuxonice/ppa

Il PPA ha precompilato i kernel di Ubuntu con TuxOnIce già compilato, il binario userui e lo script di ibernazione. Quindi potrebbe non essere per i deboli di cuore.

C'è una soluzione che potrebbe valere la pena di esaminare:

  • Crea uno script con tutti i programmi che tendi ad aprire. Oppure crea 2,3,4,5,6 di quegli script e associa una chiave a questo script. Come control + alt + 1 | 2 | 3 | 4 | 5 | 6 o se è in uso qualcos'altro. Premi la chiave e lascia che lo script apra tutti i programmi da quello script.

  • E puoi usare qualcosa come come spostare le applicazioni dallo spazio di lavoro 1 al 2 usando il comando per lanciarle su altri spazi di lavoro, se li vuoi raggruppati.

Non sono autorizzato a copiare la risposta di qualcuno, quindi fonte .

    
risposta data virpara 28.05.2012 - 04:36

Leggi altre domande sui tag