web-dev-qa-db-fra.com

Comment supprimer des sessions de la liste de sessions dans Xubuntu

Lorsque je me connecte à Xubuntu, je reçois une liste de sélection des sessions enregistrées, la plupart d’entre elles étant obsolètes.

J'appuie sur le bouton de suppression de manière sportive. J'ai essayé un clic à gauche, et juste un clic à droite - aucune suppression possible.

J'ai parcouru les menus du système et les sections de menu (et la section système du menu).

Remarque: Non lié: Comment supprimer les entrées de session de LightDM? ou Gestion de la liste des sessions de l'écran de connexion avec leurs liens - ils gèrent les classes de session telles que xubuntu vs xfce, gnome, kde - pas de sessions xfce différentes.

Remarque: je souhaite supprimer certaines sessions , mais pas toutes. Je ne veux pas commencer avec la liste de sessions désactivée. J'ai 5 entrées et je veux enlever 3 d'entre elles.

7
user unknown

Sagarchalise m'a amené sur la bonne voie, mais seulement la moitié du chemin.

Le lieu où regarder à Xfce est en effet

$HOME/.cache/sessions

J'y ai trouvé beaucoup de fichiers, y compris des fichiers Thunar-vide, xfwm4- et intéressant pour nous, xfce4-session-asux:0, où asux est le nom de ma machine locale, le nom d'hôte.

: 0 rappelle le chemin, le XServer énumère différentes instances, que j’utilisais rarement, mais j’ai utilisé, j’ai donc un fichier xfce4-session-asux:1 également, et il est plutôt ancien, mais les différentes sessions ne sont pas stockées dans des fichiers différents, mais dans différentes sections à l'intérieur du fichier.

Une telle section ressemble à ceci:

[Session: 2010]
key1=value1
key2=value2
...
LastAccess=1315125649

Ainsi, vous pouvez voir le nom ("2010" dans ce cas) de la session, un groupe de paires clé-valeur et, en dernier lieu, une clé LastAccess. Il enregistre les secondes depuis le 1.1.1970 UTC. Ce n'est pas facile et court de le traduire en une date lisible par l'homme avec date ou bash arithmetic (ou dites-moi comment dans les commentaires). Mais au moins l’âge en années mérite d’être calculé:

echo $((1315125649/(365*24*60*60)))
41

C'est donc 41 ans après le 1.1.1970 (sans tenir compte des années bissextiles et de l'heure d'été, et en coupant le résultat en années entières), ce qui correspond à 2011. Les autres champs peuvent également être calculés - j'ai préféré le faire avec scala de

scala> val d = new Java.util.Date (1315125649*1000L)
d: Java.util.Date = Sun Sep 04 10:40:49 CEST 2011

Je supprime donc toute la section et, après relogin, cette session est supprimée de ma liste de sessions.

mettre à jour:

Je connais maintenant la solution beaucoup plus simple pour le problème de la date, simplement dans Shell:

date -d @1315125649
So 4. Sep 10:40:49 CEST 2011

Cela peut donc être transformé en un script simple:

for f in  ~/.cache/sessions/xfce4-session-* 
do
   la=$(sed -n -r 's/LastAccess=(.*)/\1/p' "$f")
   echo -e $(date -d @$la) "\t$f"
done 

Fr 9. Mär 07:17:13 CET 2018     /home/stefan/.cache/sessions/xfce4-session-Tux201t:0
Fr 9. Mär 07:16:03 CET 2018     /home/stefan/.cache/sessions/xfce4-session-Tux201t:0.bak
5
user unknown

Accédez à $HOME/.cache/sessions et ouvrez le dernier fichier portant le nom xfce-session-yourdesktopname dans un éditeur de texte.

Toutes vos sessions sont répertoriées dans le fichier par nom dans ce format:

[Session: Default] 

ou

[Session:somename]

Sélectionnez l'ensemble des lignes de [Session:somename] à la ligne vierge suivante (y compris la ligne [Session: somename] et supprimez-les. Enregistrez le fichier.

6
bdalzell

Autant que je sache, la plupart des gestionnaires d’affichage gèrent les sessions à partir des fichiers .desktop présents dans /usr/share/xsessions. Je suppose que le renommer en quelque chose d'autre supprimera les entrées de session.

E.g.

cd /usr/share/xsessions
mv gnome.desktop gnome.desktop.backup

xfce met en cache sa session dans $HOME/.cache/sessions ainsi que des configurations dans $HOME/.config/xfce4-session. Vous pouvez également consulter ces dossiers. Je pense que xubuntu a des dossiers avec les noms xubuntu au lieu de xfce car il a son propre gestionnaire de session.

1
sagarchalise