who -u
およびw
コマンドを使用すると、どのsshセッションが何時間アイドル状態であるかを確認できます。しかし、これらのコマンドはx2goセッションをキャプチャしません。ただし、x2goはsshで動作します。
x2goセッションの 'who u
'と同等のものを探しているので、指定された期間の後にアイドルセッションを終了できます。
ありがとう
X2golistsessions_rootを参照してください
ここに私が書いたスクリプトがあります:
LIMIT_DAYS=12
for ll in `x2golistsessions_root`; do
#Get the date of last use of the session
lastd=`echo $ll | awk -F \| '{print $11}' | awk -F T '{print $1}';`
#Date in seconds
lastsec=`date -d "$lastd" +%s`
#Current date in seconds
now=`date +%s`
days=`echo $(( ($now - $lastsec) /60/60/24 ))`
if [[ $days -gt $LIMIT_DAYS ]]; then
sid=`echo $ll | awk -F \| '{print $2}'`
echo "terminating session: $sid, $days days old, lastd: $lastd, lastsec: $lastsec, now: $now"
x2goterminate-session $sid
fi
done