Re: Restaurer complètement l'environnement "graphique" du bureau après un redémarrage
Le 21 juin 2023 roger tarani a écrit : > A propos d'emacs, peux-tu donner un pointeur vers des ressources récentes pour > configurer emacs de manière à retrouver un environnement qui offre les mêmes > services que vscode (explorateur de fichiers, etc. etc. etc.). Après m'être > mis à emacs, j'ai écumé des tonnes de ressources sur le net pour récupérer > quelques recettes mais je suis tombé souvent sur des instructions > contradictoires et des modules qui se marchaient dessus. emacs à la base c'est un environnement complètement différent des environnements graphiques type vscode basés sur menus et souris. Il ne faut donc pas essayer de retrouver la même chose sinon tu seras déçu. Il faut partir de chaque tâche que tu fais et trouver la manière la plus efficace de la faire. Et là emacs surclasse tous les autres environnements grâce aux hook que tu peux développer à ton goût. Les seuls sites que je consulte c'est : https://www.emacswiki.org/emacs/PlanDuSite https://www.gnu.org/software/emacs/manual/ Voilà mes paquets debian installés : ii bbdb3 3.2.2b-1 all Reboot of the BBDB Insidious Big Brother Database for Emacs ii dh-elpa-helper2.0.16 all helper package for emacs lisp extensions ii elpa-notmuch 0.37-1 all thread-based email index, search and tagging (emacs interface) ii emacs 1:28.2+1-15 all GNU Emacs editor (metapackage) ii emacs-bin-common 1:28.2+1-15 amd64GNU Emacs editor's shared, architecture dependent files ii emacs-common 1:28.2+1-15 all GNU Emacs editor's shared, architecture independent infrastructure ii emacs-el 1:28.2+1-15 all GNU Emacs LISP (.el) files ii emacs-lucid 1:28.2+1-15 amd64GNU Emacs editor (with Lucid GUI support) ii emacsen-common3.0.5 all Common facilities for all emacsen Ensuite je charge des paquets emacs elpa et melpa mais pas pour la programmation : (setq package-archives '(("gnu" . "https://elpa.gnu.org/packages/";) ("melpa-stable" . "https://stable.melpa.org/packages/";))) Et là il faut regarder mode par mode ce que tu veux faire. En se plaçant sur une variable ou une fonction et en faisant respectivement ctrl-h v ou ctrl-h f on peut naviguer dans la doc intégrée pour voir les ajustements possibles. Et ctrl-h k pour voir l'action d'une touche (ou combinaison de). Et il y a bien sûr le menu Options/Customize emacs très précieux pour régler les choses. Voici mes modifications pour LaTeX et python : (add-hook 'LaTeX-mode-hook '(lambda () (local-set-key [f5] 'TeX-command-run-all))) (add-hook 'python-mode-hook (lambda () (add-to-list 'write-file-functions 'delete-trailing-whitespace) ;;(setq indent-tabs-mode t) ;; casse pylint (setq tab-width 4) (setq python-indent-offset 4) (whitespace-mode) (setq whitespace-style '(face tabs tab-mark trailing)) (custom-set-faces '(whitespace-tab ((t (:foreground "#636363") (setq whitespace-display-mappings '((tab-mark 9 [124 9] [92 9]))) )) Pour les (nombreux) autres langages je n'ai rien fait de particulier. Et à côté de ça j'utilise intensivement gnus pour les mails/news et orgmode pour le reste :) Mais là pour ces 2 modes on sortirait largement du sujet...
Re: Restaurer complètement l'environnement "graphique" du bureau après un redémarrage
Merci. Ça devrait intéresser Basile. PS : A propos d'emacs, peux-tu donner un pointeur vers des ressources récentes pour configurer emacs de manière à retrouver un environnement qui offre les mêmes services que vscode (explorateur de fichiers, etc. etc. etc.). Après m'être mis à emacs, j'ai écumé des tonnes de ressources sur le net pour récupérer quelques recettes mais je suis tombé souvent sur des instructions contradictoires et des modules qui se marchaient dessus. Merci. - Mail original - De: "Michel Verdier" À: "Liste Debian" Envoyé: Mercredi 21 Juin 2023 09:22:12 Objet: Re: Restaurer complètement l'environnement "graphique" du bureau après un redémarrage Le 21 juin 2023 roger tarani a écrit : > Il n'y a pas de besoin de restaurer une compilation en cours ou de telles > choses. S'il y a eu accident, alors je relancerai à la main. > Base Postgresql, serveur web, etc. : j'ai des scripts pour les relancer > automatiquement. > Emacs ? Je ne maîtrise pas assez pour savoir si on peut restaurer > fenêtres/fichiers. Apparemment pas facile. Il suffit de mettre dans .emacs la fonction qui fait ce qu'il faut : (defun my-start (&optional arg) "Custom startup function." (interactive "P") (org-caldav-sync) (gnus)) Et lancer emacs avec : emacs --eval '(my-start)'
Re: Restaurer complètement l'environnement "graphique" du bureau après un redémarrage
Le 21 juin 2023 roger tarani a écrit : > Il n'y a pas de besoin de restaurer une compilation en cours ou de telles > choses. S'il y a eu accident, alors je relancerai à la main. > Base Postgresql, serveur web, etc. : j'ai des scripts pour les relancer > automatiquement. > Emacs ? Je ne maîtrise pas assez pour savoir si on peut restaurer > fenêtres/fichiers. Apparemment pas facile. Il suffit de mettre dans .emacs la fonction qui fait ce qu'il faut : (defun my-start (&optional arg) "Custom startup function." (interactive "P") (org-caldav-sync) (gnus)) Et lancer emacs avec : emacs --eval '(my-start)'
Re: Restaurer complètement l'environnement "graphique" du bureau après un redémarrage
Merci à tous pour vos réponses. Il n'y a pas de besoin de restaurer une compilation en cours ou de telles choses. S'il y a eu accident, alors je relancerai à la main. Base Postgresql, serveur web, etc. : j'ai des scripts pour les relancer automatiquement. Emacs ? Je ne maîtrise pas assez pour savoir si on peut restaurer fenêtres/fichiers. Apparemment pas facile. Il s'agit "seulement" de restaurer l'essentiel des fenêtres de shell avec leur chemin prédéfini, avec ou sans tmux, les sessions ssh ou mosh vers les serveurs distants. Et queques applications. Si le système de configuration au démarrage à mettre au point ne fait pas tout mais seulement 90%, il me suffit d'afficher un fichier de rappel de ce qu'il me reste à faire à la main. systemd ? Bonne idée. Ça finit toujours par marcher mais, de mon expérience, c'est souvent compliqué à mettre au clair et en place ! Il fait lire la doc au calme et expérimenter. Pas vous ? - Mail original - De: "Basile Starynkevitch" À: "Michel Verdier" Cc: "Liste Debian" Envoyé: Lundi 19 Juin 2023 15:25:58 Objet: Re: Restaurer complètement l'environnement "graphique" du bureau après un redémarrage On 6/19/23 15:06, Michel Verdier wrote: > Le 19 juin 2023 Bernard Schoenacker a écrit : > >> Ce n'est pas une histoire de window desktop manager, mais simplement une >> histoire >> qui concerne le système freedesktop... >> >> Je vous invite à consulter le tutoriel concernant xdg-open, voici un exemple >> : > Je connais xdg, mais la demande initiale précise : > >> Après un redémarrage, j'ai besoin de retrouver mon poste de travail >> dans l'état où il était avant ce redémarrage. >> Chaque logiciel ouvert et ses fenêtres. >> >> Je peux m'arranger avec un environnement choisi/fixe. >> Car je n'ai pas encore besoin que l'environnement, dans son état >> quelconque obtenu en travaillant, soit automatiquement mémorisé et >> restauré au redémarrage. > C'est pourquoi un lancement automatique des applis à partir d'un window > manager suffit. En toute bonne logique via un .xsession ou autre script > de démarrage ça irait aussi. Et si le window manager est dynamique (comme > dwm entre autres) ça couvre les problèmes de fenêtrage cités. A mon sens, cette solution ne restaure pas un GNU emacs (avec tous ses fichiers précédemment ouverts et affichés) et ne restaure pas le contenu affiché dans un émulateur de terminal comme xfce4-terminal (et encore moins un éventuel programme, comme un make, qui y tournait au moment de l'arrêt précédent). Je me permets d'insister: la persistence (hors hibernation du système Linux entier en zone de swap) de tous les processus actifs à un instant T n'est pas facilement possible sur un Linux usuel. Si toutes les processus et applications actives sont graphiques (ce qui exclut un compilateur GCC, une base de donnée PostGreSQL, un serveur web comme lighttpd, un débogueur comme GDB, etc) et si elles sont toutes bien codées et conformes à https://tronche.com/gui/x/icccm/ on peut espérer que le gestionnaire de fenêtres communiquera élégamment avec elles. Mais dans le cas général, un Linux a aussi des processus en ligne de commandes, et ceux-là ne sont pas restaurés par le gestionnaire de fenêtre. Pour s'en convaincre, compiler un gros logiciel, par exemple http://gcc.gnu.org/ ... depuis son code source (ça prend des heures) et éteindre sa machine (proprement, par le menu ) pendant la compilation. Au redémarrage, cette grosse compilation ne reprendra pas. La preuve en est est la complexité de systemd qui a été inventé pour gérer ce genre de choses. Du point de vue du dévelopeur, chaque programme et chaque processus devrait traiter correctement le signal SIGTERM et SIGPWR. C'est complexe à coder. Voir https://man7.org/linux/man-pages/man7/signal.7.html et https://man7.org/linux/man-pages/man7/pthreads.7.html et https://man7.org/linux/man-pages/man7/signal-safety.7.html Dans la vraie vie, les administrateurs systèmes ont du boulot, et les onduleurs sont utiles sur des machines Debian dont on voudrait qu'elle gérent fiablement les coupures de courant. Librement. -- Basile Starynkevitch (only mine opinions / les opinions sont miennes uniquement) 92340 Bourg-la-Reine, France web page: starynkevitch.net/Basile/
Re: Restaurer complètement l'environnement "graphique" du bureau après un redémarrage
Parce qu'il s'agit de le redémarrer. - Mail original - De: "Jean Bernon" À: "Liste Debian" Envoyé: Mardi 20 Juin 2023 16:52:49 Objet: Re: Restaurer complètement l'environnement "graphique" du bureau après un redémarrage Et pourquoi ne pas tout simplement mettre le système en hibernation au lieu de l'arrêter ? - Mail original - > De: "roger tarani" > À: debian-user-french@lists.debian.org > Envoyé: Dimanche 18 Juin 2023 19:05:27 > Objet: Restaurer complètement l'environnement "graphique" du bureau > après un redémarrage > Bonjour, > Après un redémarrage, j'ai besoin de retrouver mon poste de travail > dans l'état où il était avant ce redémarrage. > Chaque logiciel ouvert et ses fenêtres. > Je peux m'arranger avec un environnement choisi/fixe. > Car je n'ai pas encore besoin que l'environnement, dans son état > quelconque obtenu en travaillant, soit automatiquement mémorisé et > restauré au redémarrage. > 1/ Pour les fenêtres de terminal (bash), j'utilise tmux et > tmux-resurrect. > A la main ça va vite et bien, mais c'est à la main ! > Avez-vous déjà automatiquement : > - ouvert plusieurs terminaux (une fenêtre avec onglets) avec une > disposition de la fenêtre > - puis réglé chaque répertoire habituel pour le terminal sans tmux > - puis lancé tmux > - puis restauré chaque "session" tmux (dont le nom est connu). Je > dois encore lancer manuellement tmux et saisir "Préfixe + ctrl r" > pour restaurer l'env tmux, puis attacher une session tmux. > ? > 2/ Toutefois, bizaremment, depuis quelques mois, la fenêtre de Gnome > terminal grandit un peu en hauteur et son pied se retrouve masqué > par la barre des icônes (bureau gnome). > Une simple mise en veille/sortie de veille suffit à déclencher ce pb. > Je ne sais pas du tout où chercher pour régler ça ! > 3/ Pour le navigateur FF, il suffit de le lancer au démarrage. Il est > configuré pour garder en mémoire les onglets ouverts. > RAS > 4/ Certains logiciels installés, utilisant java, dont l'icône > apparaît pourtant (Applications ou touche Meta) sont bizaremment > inaccessibles par ces menus. > Il faut faire `nom_programme &` dans un terminal. > Configurées dans Tweaks/Startup Applications", elles ne se lancent > pas. > La question est : comment réparer ce genre de pépin ? (bureau > Gnome/Tweaks) > 5/ Qu'y a-t-il d'autre ? (à part les services qui sont gérés par > systemd -> enabled ) > Ah, si ! La portabilité. > On doit pouvoir dupliquer son environnement sur une autre machine. Ce > qui suppose d'y avoir aussi installé tous les services/programmes > appelés (autre script, qu'il serait astucieux de coupler avec le > système de restauration discuté). > De manière générale, qu'y a-t-il d'autre à considérer pour atteindre > cet objectif de définir son environnement de bureau pour qu'il soit > restauré complètement au démarrage ? > Je crois que pouvoir faire ça doit intéresser beaucoup de monde. > Merci.
Re: Restaurer complètement l'environnement "graphique" du bureau après un redémarrage
Et pourquoi ne pas tout simplement mettre le système en hibernation au lieu de l'arrêter ? - Mail original - > De: "roger tarani" > À: debian-user-french@lists.debian.org > Envoyé: Dimanche 18 Juin 2023 19:05:27 > Objet: Restaurer complètement l'environnement "graphique" du bureau > après un redémarrage > Bonjour, > Après un redémarrage, j'ai besoin de retrouver mon poste de travail > dans l'état où il était avant ce redémarrage. > Chaque logiciel ouvert et ses fenêtres. > Je peux m'arranger avec un environnement choisi/fixe. > Car je n'ai pas encore besoin que l'environnement, dans son état > quelconque obtenu en travaillant, soit automatiquement mémorisé et > restauré au redémarrage. > 1/ Pour les fenêtres de terminal (bash), j'utilise tmux et > tmux-resurrect. > A la main ça va vite et bien, mais c'est à la main ! > Avez-vous déjà automatiquement : > - ouvert plusieurs terminaux (une fenêtre avec onglets) avec une > disposition de la fenêtre > - puis réglé chaque répertoire habituel pour le terminal sans tmux > - puis lancé tmux > - puis restauré chaque "session" tmux (dont le nom est connu). Je > dois encore lancer manuellement tmux et saisir "Préfixe + ctrl r" > pour restaurer l'env tmux, puis attacher une session tmux. > ? > 2/ Toutefois, bizaremment, depuis quelques mois, la fenêtre de Gnome > terminal grandit un peu en hauteur et son pied se retrouve masqué > par la barre des icônes (bureau gnome). > Une simple mise en veille/sortie de veille suffit à déclencher ce pb. > Je ne sais pas du tout où chercher pour régler ça ! > 3/ Pour le navigateur FF, il suffit de le lancer au démarrage. Il est > configuré pour garder en mémoire les onglets ouverts. > RAS > 4/ Certains logiciels installés, utilisant java, dont l'icône > apparaît pourtant (Applications ou touche Meta) sont bizaremment > inaccessibles par ces menus. > Il faut faire `nom_programme &` dans un terminal. > Configurées dans Tweaks/Startup Applications", elles ne se lancent > pas. > La question est : comment réparer ce genre de pépin ? (bureau > Gnome/Tweaks) > 5/ Qu'y a-t-il d'autre ? (à part les services qui sont gérés par > systemd -> enabled ) > Ah, si ! La portabilité. > On doit pouvoir dupliquer son environnement sur une autre machine. Ce > qui suppose d'y avoir aussi installé tous les services/programmes > appelés (autre script, qu'il serait astucieux de coupler avec le > système de restauration discuté). > De manière générale, qu'y a-t-il d'autre à considérer pour atteindre > cet objectif de définir son environnement de bureau pour qu'il soit > restauré complètement au démarrage ? > Je crois que pouvoir faire ça doit intéresser beaucoup de monde. > Merci.
Re: Restaurer complètement l'environnement "graphique" du bureau après un redémarrage
On 6/19/23 15:06, Michel Verdier wrote: Le 19 juin 2023 Bernard Schoenacker a écrit : Ce n'est pas une histoire de window desktop manager, mais simplement une histoire qui concerne le système freedesktop... Je vous invite à consulter le tutoriel concernant xdg-open, voici un exemple : Je connais xdg, mais la demande initiale précise : Après un redémarrage, j'ai besoin de retrouver mon poste de travail dans l'état où il était avant ce redémarrage. Chaque logiciel ouvert et ses fenêtres. Je peux m'arranger avec un environnement choisi/fixe. Car je n'ai pas encore besoin que l'environnement, dans son état quelconque obtenu en travaillant, soit automatiquement mémorisé et restauré au redémarrage. C'est pourquoi un lancement automatique des applis à partir d'un window manager suffit. En toute bonne logique via un .xsession ou autre script de démarrage ça irait aussi. Et si le window manager est dynamique (comme dwm entre autres) ça couvre les problèmes de fenêtrage cités. A mon sens, cette solution ne restaure pas un GNU emacs (avec tous ses fichiers précédemment ouverts et affichés) et ne restaure pas le contenu affiché dans un émulateur de terminal comme xfce4-terminal (et encore moins un éventuel programme, comme un make, qui y tournait au moment de l'arrêt précédent). Je me permets d'insister: la persistence (hors hibernation du système Linux entier en zone de swap) de tous les processus actifs à un instant T n'est pas facilement possible sur un Linux usuel. Si toutes les processus et applications actives sont graphiques (ce qui exclut un compilateur GCC, une base de donnée PostGreSQL, un serveur web comme lighttpd, un débogueur comme GDB, etc) et si elles sont toutes bien codées et conformes à https://tronche.com/gui/x/icccm/ on peut espérer que le gestionnaire de fenêtres communiquera élégamment avec elles. Mais dans le cas général, un Linux a aussi des processus en ligne de commandes, et ceux-là ne sont pas restaurés par le gestionnaire de fenêtre. Pour s'en convaincre, compiler un gros logiciel, par exemple http://gcc.gnu.org/ ... depuis son code source (ça prend des heures) et éteindre sa machine (proprement, par le menu ) pendant la compilation. Au redémarrage, cette grosse compilation ne reprendra pas. La preuve en est est la complexité de systemd qui a été inventé pour gérer ce genre de choses. Du point de vue du dévelopeur, chaque programme et chaque processus devrait traiter correctement le signal SIGTERM et SIGPWR. C'est complexe à coder. Voir https://man7.org/linux/man-pages/man7/signal.7.html et https://man7.org/linux/man-pages/man7/pthreads.7.html et https://man7.org/linux/man-pages/man7/signal-safety.7.html Dans la vraie vie, les administrateurs systèmes ont du boulot, et les onduleurs sont utiles sur des machines Debian dont on voudrait qu'elle gérent fiablement les coupures de courant. Librement. -- Basile Starynkevitch (only mine opinions / les opinions sont miennes uniquement) 92340 Bourg-la-Reine, France web page: starynkevitch.net/Basile/
Re: Restaurer complètement l'environnement "graphique" du bureau après un redémarrage
Le 19 juin 2023 Bernard Schoenacker a écrit : > Ce n'est pas une histoire de window desktop manager, mais simplement une > histoire > qui concerne le système freedesktop... > > Je vous invite à consulter le tutoriel concernant xdg-open, voici un exemple : Je connais xdg, mais la demande initiale précise : > Après un redémarrage, j'ai besoin de retrouver mon poste de travail > dans l'état où il était avant ce redémarrage. > Chaque logiciel ouvert et ses fenêtres. > > Je peux m'arranger avec un environnement choisi/fixe. > Car je n'ai pas encore besoin que l'environnement, dans son état > quelconque obtenu en travaillant, soit automatiquement mémorisé et > restauré au redémarrage. C'est pourquoi un lancement automatique des applis à partir d'un window manager suffit. En toute bonne logique via un .xsession ou autre script de démarrage ça irait aussi. Et si le window manager est dynamique (comme dwm entre autres) ça couvre les problèmes de fenêtrage cités.
Re: Restaurer complètement l'environnement "graphique" du bureau après un redémarrage
- Mail original - De: "Michel Verdier" À: debian-user-french@lists.debian.org Envoyé: Dimanche 18 Juin 2023 19:46:18 Objet: Re: Restaurer complètement l'environnement "graphique" du bureau après un redémarrage Le 18 juin 2023 roger tarani a écrit : > Après un redémarrage, j'ai besoin de retrouver mon poste de travail dans > l'état où il était avant ce redémarrage. > Chaque logiciel ouvert et ses fenêtres. Je fais ça avec mon window manager dwm, mais en partie car je préfère avoir un état défini au démarrage quelque soit l'état à la fermeture. Mais je crois qu'il y a un patch qui permet d'enregistrer dynamiquement l'état complet à la fermeture. Il y a un autre window manager qui sait le faire nativement. Bonjour, Ce n'est pas une histoire de window desktop manager, mais simplement une histoire qui concerne le système freedesktop... Je vous invite à consulter le tutoriel concernant xdg-open, voici un exemple : https://doc.ubuntu-fr.org/xdg-open https://unix.stackexchange.com/questions/74605/use-xdg-open-to-open-a-url-with-a-new-process#74609 Merci @+ Bernard
Re: Restaurer complètement l'environnement "graphique" du bureau après un redémarrage
Le 18 juin 2023 roger tarani a écrit : > Après un redémarrage, j'ai besoin de retrouver mon poste de travail dans > l'état où il était avant ce redémarrage. > Chaque logiciel ouvert et ses fenêtres. Je fais ça avec mon window manager dwm, mais en partie car je préfère avoir un état défini au démarrage quelque soit l'état à la fermeture. Mais je crois qu'il y a un patch qui permet d'enregistrer dynamiquement l'état complet à la fermeture. Il y a un autre window manager qui sait le faire nativement.
Re: Restaurer complètement l'environnement "graphique" du bureau après un redémarrage
On 6/18/23 19:05, roger.tar...@free.fr wrote: Bonjour, Après un redémarrage, j'ai besoin de retrouver mon poste de travail dans l'état où il était avant ce redémarrage. Chaque logiciel ouvert et ses fenêtres. Pour les logiciels graphiques utilisant Qt (ou KDE) - voir https://qt.io ça ne peut se faire que si ces logiciels gèrent la notion (complexe) de session. https://doc.qt.io/qt-6/qsessionmanager.html Et encore, l'utilisateur peut avoir branché un nouvel écran d'une session à une autre. PAr exemple si il quitte son poste de travail un vendredi soir, et reviens le lundi matin avec un écran supplémentaire! Dans le détail, c'est donc extrêmement complexe. Mon éditeur favori (GNU emacs, que je recompile depuis ses sources tous les jours) ne le permet pas vraiment. Même s'il sait dumper son état dans des fichiers. Dans le moteur d'inférence RefPerSys en cours de développement (voir http://refpersys.org/ et https://github.com/RefPerSys/RefPerSys/ ...) la persistence orthogonale est incomplète et a demandé près de quatre mille ligne de code C++ (sans interface graphique). Donc le souhait de retrouver, tel qu'il est, l’environnent graphique, est compliqué, et à mon sens au delà de l'état de l'art. On peut évidemment passer par l'hibernation du système en zone de swap (qui ne marche que partiellement, et sur une machine qui n'évolue pas du tout) Il a existé des systèmes d'exploitation académiques entièrement persistants. https://ieeexplore.ieee.org/document/699447 (et aussi Grasshoper https://archive.cs.st-andrews.ac.uk/gh/ ou FullPliant https://www.fullpliant.org/ ) Librement -- Basile Starynkevitch (only mine opinions / les opinions sont miennes uniquement) 92340 Bourg-la-Reine, France web page: starynkevitch.net/Basile/