web-dev-qa-db-ja.com

Xubuntuのセッションリストからいくつかのセッションを削除する方法

Xubuntuにログインすると、保存されたセッションの選択リストが表示されますが、それらのほとんどは古いものです。

私は陽気な方法で削除ボタンを押しました。左にクリックして、右にクリックするだけで、削除はできませんでした。

システムメニューとメニューセクション(およびメニューのシステムセクション)を確認しました。

注:関連なし: LightDMからセッションエントリを削除する方法? または ログイン画面のセッションリストの管理 リンク先-xubuntu vs. xfceなどのセッションクラスを処理します。 gnome、kde-異なるxfceセッションではありません。

注:すべてのセッションではなく、someセッションを削除します。セッションリストを無効にして開始したくありません。 5つのエントリがあり、そのうち3つを削除したい。

7
user unknown

Sagarchaliseは私を正しい軌道に乗せましたが、途中でした。

Xfceで見る場所は確かに

$HOME/.cache/sessions

空のThunar-ファイル、xfwm4-ファイル、およびxfce4-session-asux:0asuxはローカルマシンの名前、ホスト名)を含む多くのファイルを見つけました。

:0は、XServerがさまざまなインスタンスを列挙することを思い出します。これはめったに使用しませんでしたが、使用したため、xfce4-session-asux:1ファイルもあり、かなり古いですが、異なるセッションは保存されません異なるファイルですが、ファイル内の異なるセクションにあります。

そのようなセクションは次のようになります。

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

したがって、セッションの名前(この場合は「2010」)、一連のキーと値のペア、最後にこれらのペアとしてLastAccessキーを確認できます。 UTC 1.1.1970以降の秒を保存します。 dateまたはbash arithmeticで人間が読める日付に変換するのは短く簡単ではありません(またはコメントで教えてください)。しかし、少なくとも年の年齢は計算する価値があります:

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

したがって、1.1.1970の41年後(うるう年と夏時間を無視し、結果を年に切り捨てる)は2011年です。他のフィールドも同様に計算できます-scala沿って

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

そのため、セクション全体を削除し、再ログイン後、このセッションはセッションのリストから削除されます。

更新:

私は今、日付の問題のためのはるかに簡単な解決策を知っており、単にシェルに入れました:

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

したがって、これは簡単なスクリプトにできます。

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

$HOME/.cache/sessionsに移動し、xfce-session-yourdesktopnameという名前の最新のファイルをテキストエディターで開きます。

すべてのセッションは、この形式の名前でファイルにリストされます。

[Session: Default] 

または

[Session:somename]

[Session:somename]から次の空白行([Session:somename]行を含む)までの一連の行全体を選択して削除します。ファイルを保存します。

6
bdalzell

ほとんどのディスプレイマネージャーは、.desktopにある/usr/share/xsessionsファイルからのセッションを処理します。他の名前に変更すると、セッションエントリが削除されると思います。

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

xfceは$HOME/.cache/sessionsにセッションをキャッシュし、$HOME/.config/xfce4-sessionに構成をキャッシュします。これらのフォルダーも表示してみてください。 xubuntuには、独自のセッションマネージャーがあるため、xubuntuの代わりにxfceという名前のフォルダーがあると思います。

1
sagarchalise