web-dev-qa-db-ja.com

x2goアイドルセッションを検出する方法は?

who -uおよびwコマンドを使用すると、どのsshセッションが何時間アイドル状態であるかを確認できます。しかし、これらのコマンドはx2goセッションをキャプチャしません。ただし、x2goはsshで動作します。

x2goセッションの 'who u'と同等のものを探しているので、指定された期間の後にアイドルセッションを終了できます。

ありがとう

2
user2436428

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
3
michael