web-dev-qa-db-fra.com

Comment enregistrer / mémoriser la dernière position et la dernière taille de la fenêtre utilisée pour les applications?

Lorsque je me connecte à Ubuntu, je souhaite que toutes les fenêtres ouvertes lors de la session précédente (principalement le terminal et Firefox) soient rouvertes automatiquement à la même taille et à la même position.

La façon de procéder?

58
Eric

Pour 12.04 (et 11.10)

La réponse courte est: la mise en veille prolongée est la meilleure option car la fonctionnalité de gnome-session-save a été supprimée après 11.04. comme il était bogué, et le Tweak officiel pour réactiver manuellement cette fonctionnalité ne semble pas fonctionner. La partie B de cette réponse explique comment utiliser une autre méthode d'hibernation, TuxOnIce , qui est plus compatible et plus fiable. maintenant que l'hibernation intégrée.

A. Essayer d’activer l’ancienne fonctionnalité d’enregistrement de session Gnome

  • Remarque: comme décrit à la fin, ce tweak officiel ne semble pas fonctionner - vous souhaiterez peut-être passez directement à B. Hibernation avec TuxOnIce
  • Ce bug du Launchpad traite de la restauration de la fonctionnalité "sauvegarde de session" Il est actuellement marqué "réparé", car un correctif a été introduit dans le package gnome-session en avril 2012, permettant aux utilisateurs de réactiver manuellement cette fonctionnalité. Le patch se décrit comme:

    • ajoutez la variable d'environnement GNOME_SESSION_SAVE pour les personnes souhaitant utiliser 
       toujours en utilisant la session de sauvegarde, sachant qu'elle peut endommager votre système 
       si elle était utilisée sans précaution (LP: # 771896)
  • Vous pouvez l'activer en définissant la variable GNOME_SESSION_SAVE sur une valeur non nulle. Voici comment:

    • Appuyez sur Alt+F2, tapez gedit ~/.pam_environment et appuyez sur entrée.
    • Ajoutez la ligne GNOME_SESSION_SAVE=1 à la fin du fichier, comme indiqué ci-dessous:

    • enter image description here

    • Appuyez sur Ctrl+S pour enregistrer et sur Ctrl+Q pour quitter l'éditeur.

    • Maintenant, redémarrez (la déconnexion devrait également fonctionner, mais juste pour être sûr)
  • Le correctif ( source ) désactive l'onglet Options dans les applications de démarrage, qui contenait le Rappel des applications en cours lors de la déconnexion option. MAIS il vérifie la variable GNOME_SESSION_SAVE et, s'il est défini (non nul), il devrait permettre l'enregistrement de session comme si le Rappelez-vous ... la case existait et était cochée. C'est pourquoi le bogue est étiqueté comme "corrigé"
    • if (g_getenv ("GNOME_SESSION_SAVE")! = NULL) 
       may_load_saved_session_apps (gestionnaire);
    • Malheureusement, cela ne semble pas fonctionner, comme le confirme commentaire 32 dans le gestionnaire de bogues.
    • J'ai même essayé de désactiver le correctif et de reconstruire gnome-session à partir des sources. Cela fait réapparaître la case à cocher Options , mais cela ne fait rien.
    • Mais bon, ça peut marcher pour vous !! :)

B. Ce qui fonctionne pour le moment: Hibernation améliorée avec TuxOnIce

  • La veille prolongée enregistre l'état actuel de votre système (y compris votre session, vos applications ouvertes, etc.) sur le disque dur et arrête l'ordinateur. Lorsque vous le redémarrez, il enregistre l'état enregistré et le restaure, comme si vous n'aviez jamais éteint l'ordinateur. Cette technologie est principalement utilisée par les utilisateurs d’ordinateurs portables pour économiser la batterie, mais rien n’empêche de l’utiliser également sur les ordinateurs de bureau.
  • La prise en charge de la mise en veille prolongée est disponible sous Ubuntu/Linux mais a été désactivée dans 12.04 car elle ne fonctionnait pas correctement sur plusieurs systèmes. Voir cette question et ce rapport de bogue si vous souhaitez plus d'informations.

    Une alternative plus compatible: TuxOnIce

  • TuxOnIce ( wiki | page d'accueil ) est une alternative à la technologie de veille prolongée du noyau, et est supposé être plus compatible, plus fiable et plus flexible.

  • Il s’installe facilement, et s’il ne fonctionne pas, s’enlève facilement.
  • Il nécessite l’installation du noyau personnalisé de TuxOnIce , mais les instructions qui suivent devraient vous faciliter la tâche. Si vous n'avez jamais ouvert le terminal auparavant, vous voudrez peut-être maintenant :-)

    0. Conditions requises

    La seule exigence pour TuxOnIce est que votre partition de swap soit au moins à la taille de la mémoire (RAM) dont vous disposez. Vous pouvez vérifier cela par:

  • Démarrer le terminal avec Ctrl+Alt+T

  • Tapez free -m et vous devriez voir quelque chose comme ceci:

                 nombre total de tampons partagés libres utilisés en cache 
     Mem: 1024 731 260 0 0 190 
     -/+ tampons/cache: 540 451 
     Permutation: 1536 6 1530 
    
  • Le nombre après Swap: (par exemple 1536) doit être plus que le nombre après Mem: (par exemple 1024)

  • Si ce n'est pas le cas et que votre swap est plus petit que votre mémoire, vous devez redimensionner et augmenter la taille de votre partition de swap ou configurer TuxOnIce pour utiliser un fichier d'échange spécial. Cela dépasse la portée de cette réponse, mais si vous posez une autre question et que vous en faites mention dans les commentaires, je vais vous expliquer comment.

    1. Installer le noyau TuxOnIce

  • Démarrer le terminal avec Ctrl+Alt+T

  • Copiez et collez le texte suivant dans le terminal. Cela ajoute le TuxOnIce PPA et installe le noyau personnalisé et les en-têtes.
    •  Sudo apt-add-repository ppa: tuxonice/ppa -y
      et une fois le ppa ajouté:
    • Sudo apt-get update 
       Sudo apt-get install tuxonice-userui linux-generic-tuxonice -y 
       Sudo apt-get install linux-headers-generic-tuxonice -y
  • Maintenant, redémarrez.
  • Ubuntu devrait maintenant démarrer avec le noyau TuxOnIce . S'il y a des problèmes, gardez le Shift pressé au démarrage et vous obtiendrez le menu Grub. Utilisez les touches fléchées pour aller à Previous Linux Versions, appuyez sur entrée, puis appuyez de nouveau sur entrée pour revenir au noyau actif.

    2. Test de la fonctionnalité d'hibernation.

  • Ouvrez certaines des applications que vous utilisez normalement, par exemple Firefox, Thunderbird, LibreOffice, etc.

  • Ouvrez à nouveau le terminal avec Ctrl+Alt+T.
  • Tapez Sudo pm-hibernate, appuyez sur entrée, entrez votre mot de passe.
  • Vous devriez voir l'écran de verrouillage pendant une seconde, puis l'écran de progression de l'hibernation TuxOnIce, comme celui ci-dessous:

    enter image description here

    • Si TuxOnIce fonctionne, votre ordinateur s’arrête.
    • Recommencez et attendez. TuxOnIce devrait reprendre à partir du point où vous avez hiberné, y compris toutes les fenêtres que vous avez ouvertes à la position que vous avez ouverte.
  • Si tout cela fonctionne, passez à l'étape 3, qui vous permet d'activer Hibernate à partir du tableau de bord.

    3. Activation de l'hibernation à partir du tableau de bord

  • Presse Alt+F2, tapez ce qui suit et appuyez sur Entrée:

    gksudo gedit /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
  • Collez le ci-dessous, appuyez sur Ctrl+S pour sauver et Ctrl+Q pour quitter l'éditeur:

    [Réactiver la veille prolongée par défaut] 
     Identité = utilisateur-unix: * 
     Action = org.freedesktop.upower.hibernate 
     ResultActive = yes

    enter image description here

  • Redémarrez et vous devriez voir l'option Hibernate comme indiqué ci-dessous:

    enter image description here

    4. Supprimer TuxOnIce

    • Si TuxOnIce ne fonctionne pas pour vous ou si vous souhaitez simplement le supprimer, démarrez le terminal et entrez:

       Sudo apt-get remove tuxonice-userui linux-generic-tuxonice linux-headers-generic-tuxonice -y
    • et n'oubliez pas de désactiver l'option Veille prolongée dans le menu avec:

      Sudo rm /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
    • Puis redémarrez.

18
ish

Pour 11.04 et les versions antérieures

Essaye ça

Système> Démarrer les applications> Options et cochez la case rappelez-vous automatiquement des applications en cours lors de la fermeture de session et cliquez sur rappelez les applications en cours.

11
Open Help

Il ne semble pas possible que toutes les applications se souviennent de leur dernière position et de la dernière taille de la fenêtre. Ce comportement semble avoir été supprimé il y a très longtemps. D'après ce que j'ai compris, il incombe à l'application de se rappeler sa position et sa taille. Et c'est là que réside le problème.

Une recherche dans l'outil de suivi des bogues génère de nombreux rapports pertinents pour ce problème.

Alors quelles applications se souviennent de leur position et de leur taille et quelles versions d’Ubuntu ont cette fonction?

Remarque: Veuillez éditer et renseigner les applications et les versions d'Ubuntu que vous avez testées pour cette fonctionnalité. c'est-à-dire que l'application se souvient de la position et/ou de la taille de la fenêtre.

Sepecifiez la version d'Ubuntu que vous avez testée et si une ou les deux positions et tailles de fenêtre sont mémorisées.

13.04

position de la fenêtre | Taille

  • Y, Y - Nautilus
  • N, Y - Firefox placements multiples sur un moniteur erratiques
  • N, N - Terminal Le terminal a des paramètres personnalisés permettant de mémoriser une taille spécifique à chaque fois, mais il ne se souvient pas de la dernière position.
  • N, Y - Chrome
  • Y, Y - Banshee
  • N, - - Calculatrice n'est pas redimensionnable *
  • N, Y - Gedit

Exemples de rapports de bugs

Voici quelques rapports de bugs aléatoires issus d'une recherche simple dans le traqueur de bogues, par exemple: "rappelez la position de la fenêtre" .

7
Gerard Roche

Comment enregistrer une session sur Ubuntu 11.04 ou une version ultérieure:

  1. Téléchargez et installez DConf-Editor.

  2. Tapez dconf sur le tiret et exécutez-le.

DASH-IMG

Ouvrez les étiquettes suivantes dans l'ordre: org -> gnome

Puis sélectionnez gnome-session

Maintenant, vous devriez voir l’option auto-save-session comme l’image suivante, , activez-la .

APP-IMG

TERMINÉ!

Désormais, lorsque vous éteignez votre ordinateur, la session en cours est enregistrée automatiquement. La prochaine fois que vous tournez, ce sera exactement comme vous êtes parti.

5
Lucio

12.04

Comme solution de contournement, vous pouvez réactiver l'hibernation dans 12.04 et l'utiliser pour éteindre votre ordinateur, puis le réactiver avec toute votre application encore utilisée.

Tapez le terminal:

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

puis ajoutez cette chaîne au fichier texte:

[Réactiver Hibernate]
Identity = utilisateur-unix: * Action = org.freedesktop.upower.hibernate
ResultActive = yes

Par ici :

enter image description here

Puis l'option d'hibernation sera affichée à nouveau dans le menu d'arrêt:

enter image description here

J'espère que ça va aider.

3
neonboy

L’opinion actuelle est que la fonction de sauvegarde/restauration de session appropriée consiste à utiliser suspendre ou hiberner. Je suis d'accord que hiberner et suspendre peut être une douleur pour se faire travailler s'ils ne sont pas sortis de la boîte ...

Mais jetez un oeil à ...

CryoPID

CryoPID vous permet de capturer l'état d'un processus en cours d'exécution sous Linux et de l'enregistrer dans un fichier. Ce fichier peut ensuite être utilisé pour reprendre le processus ultérieurement, soit après un redémarrage, soit même sur un autre ordinateur.

CryoPID a été créé à partir d'une discussion sur la liste de diffusion Software suspend sur la complexité de la suspension et de la reprise de processus individuels.

CryoPID consiste en un programme appelé freeze qui capture l'état d'un processus en cours d'exécution et l'écrit dans un fichier. Le fichier est auto-exécutable et auto-extractible, aussi, pour reprendre un processus, exécutez-le simplement. Voir le tableau ci-dessous pour plus de détails sur ce qui est supporté.

Caractéristiques

  • Peut fonctionner en tant qu'utilisateur ordinaire! (aucun privilège root requis)
  • Fonctionne à la fois sur les versions 2.4 et 2.6.
  • Fonctionne sur x86 et AMD64.
  • Peut démarrer et arrêter un processus plusieurs fois
  • Peut migrer les processus entre les machines et entre les versions du noyau (testé entre 2.4 et 2.6 et 2.6 à 2.4).

Cependant, il n’est pas très bien documenté et le dernier DEB publié était pour Heron et le site Web a été mis à jour pour la dernière fois en 2005, de sorte qu’il pourrait être inutile. Voici les tarballs:

Et aussi jeter un oeil à Tuxonice

TuxOnIce est décrit comme l’équivalent Linux de la fonctionnalité de veille prolongée de Windows, mais en mieux. Il enregistre le contenu de la mémoire sur le disque et s'éteint. Lorsque l'ordinateur est redémarré, le contenu est rechargé et l'utilisateur peut continuer là où il s'est arrêté. Aucun document ne doit être rechargé ou les applications rouvertes et le processus est beaucoup plus rapide qu'un arrêt et un démarrage normaux.

ppa:tuxonice/ppa 

Le PPA a précompilé les noyaux Ubuntu avec TuxOnIce déjà compilé, le binaire userui et le script hibernate. Donc, cela pourrait ne pas être pour les impatients.


Il existe une solution de contournement qui pourrait être utile:

  • Créez un script contenant tous les programmes que vous avez tendance à ouvrir. Ou créez 2,3,4,5,6 de ces scripts et liez une clé à ce script. Comme control + alt + 1|2|3|4|5|6 ou si cela est utilisé autre chose. Appuyez sur la touche et laissez le script ouvrir tous les programmes de ce script.

  • Et vous pouvez utiliser quelque chose comme ceci comment déplacer des applications de l’espace de travail 1 à 2 à l’aide de la commande pour les lancer sur un autre espace de travail si vous souhaitez les regrouper.

Ce n'est pas ce que vous avez demandé, mais il semble que nous sommes censés chercher des solutions de contournement :)

3
Rinzwind

Vous devez activer pour voir toutes les applications sur l'application de démarrage. Exécutez cette commande bash sur un terminal: Sudo sed -i '/ s NoDisplay = true/NoDisplay = false/g' /etc/xdg/autostart/*.desktop Après cela, vous verrez toutes les applications dans les applications de démarrage.

Je tire ce conseil de ce lien http://www.webupd8.org/2012/04/things-to-Tweak-after-installing-ubuntu.html , peut-être que cela vous intéressera.

Désolé foy mon anglais!

Saludos!

1
ali3n

Vous pouvez activer une fonctionnalité similaire à celle-ci. Vous pouvez le faire en demandant à Ubuntu de se souvenir des emplacements et d'exécuter des applications lors de la fermeture/fermeture de session. Pour ce faire, accédez à Système> Applications de démarrage et, dans l'onglet Options, cochez la case "Se souvenir automatiquement des applications en cours d'exécution à la fermeture de session" et cliquez sur le bouton "Mémoriser les applications en cours".

img

1
Marco Ceppi

Dans CCSM, utilisez les plugins Place Windows et Resize Window.

0
jasmines