Sagarchalise brachte mich auf den richtigen Weg, aber nur auf halbem Weg.
Der Ort, an dem man in Xfce suchen kann, ist in der Tat
$HOME/.cache/sessions
Ich fand es eine Menge von Dateien, darunter einige leere Thunar- Dateien, xfwm4- Dateien und interessant für uns, xfce4-session-asux:0
wo asux
ist der Name meiner lokalen Maschine, den Hostnamen.
: 0 erinnert an die Art und Weise, wie der XServer verschiedene Instanzen auflistet, die ich selten verwendet habe, aber ich habe sie verwendet, also habe ich auch eine xfce4-session-asux:1
Datei, und sie ist ziemlich alt, aber verschiedene Sitzungen werden nicht in verschiedenen Dateien gespeichert, sondern in verschiedene Abschnitte innerhalb der Datei.
Ein solcher Abschnitt sieht folgendermaßen aus:
[Session: 2010]
key1=value1
key2=value2
...
LastAccess=1315125649
Sie können also den Namen (in diesem Fall "2010") der Sitzung, eine Reihe von Schlüssel-Wert-Paaren und zuletzt diese LastAccess-Schlüssel sehen. Es speichert die Sekunden seit dem 1.1.1970 UTC. Es ist nicht kurz und einfach, es mit date
oder in ein von Menschen lesbares Datum zu übersetzen bash arithmetic
(oder mir in den Kommentaren zu sagen, wie). Aber zumindest das Alter in Jahren ist eine Berechnung wert:
echo $((1315125649/(365*24*60*60)))
41
So ist es 41 Jahre nach dem 1.1.1970 (ohne Berücksichtigung von Schaltjahren und Sommerzeit, und das Ergebnis auf ganze Jahre Schneiden) , die 2011 Die anderen Felder ist , kann auch berechnet werden - ich lieber , es zu tun mit scala
von
scala> val d = new java.util.Date (1315125649*1000L)
d: java.util.Date = Sun Sep 04 10:40:49 CEST 2011
Also entferne ich den gesamten Abschnitt und nach dem erneuten Anmelden wird diese Sitzung aus meiner Sitzungsliste entfernt.
aktualisieren:
Ich kenne jetzt die viel einfachere Lösung für das Datumsproblem, einfach in die Shell gestellt:
date -d @1315125649
So 4. Sep 10:40:49 CEST 2011
Dies kann also in ein einfaches Skript umgewandelt werden:
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
AFAIK Die meisten Display-Manager verarbeiten Sitzungen aus
.desktop
Dateien, die in vorhanden sind/usr/share/xsessions
. Ich denke, wenn Sie es in etwas anderes umbenennen, werden Sitzungseinträge entfernt.Z.B
xfce speichert seine Sitzung im Cache
$HOME/.cache/sessions
und verfügt über Konfigurationen in$HOME/.config/xfce4-session
. Sie können auch versuchen, diese Ordner anzuzeigen. Ich denke, xubuntu hat Ordner mit Namenxubuntu
anstelle von,xfce
da es einen eigenen Sitzungsmanager hat.quelle
/usr/share/xsession
und seine Unterordner. gnome.desktop ist natürlich völlig unangebracht.$HOME/.cache/sessions
scheint das Richtige zu sein: ältere und jüngere Einträgexfce4-session-*
undxfwm4-*
-Dateien liegen herum. Nach dem Umbenennen und erneuten Anmelden (was einige Zeit dauern kann) wird möglicherweise das Flag "Akzeptiert" angezeigt, aber der Teil / usr / share sollte wirklich entfernt werden. Das$HOME/.config/xfce4-session
Verzeichnis enthält nur eine 2 und 4 Jahre alte Datei - dies scheint auch nicht in Beziehung zu stehen.So läuft es:
xfce4-settings-manager
von einem Terminal ausquelle