Назад | Перейти на главную страницу

Ubuntu: определите, вошли ли вы в систему сегодня

Мне было интересно, есть ли в ubuntu (желательно 9.04) что-то, что может определить, входит ли пользователь в систему на свой компьютер в первый раз или более одного раза в тот же день.

Причина, по которой мне это нужно, - создать сценарий bash, который запустит приложение (например, Firefox), если он впервые зашел в систему в тот день. Но если он снова зашел в систему в тот же день, приложение не запустится снова.

Кто-нибудь знает, есть ли у Ubuntu такая функция в командной строке?

Вот как это работает для меня на Linux-машине, отличной от ubuntu, которая сейчас удобна.

last | grep "$(date | cut -c -10)" | grep $(whoami) | wc -l

Можете немного подправить и получить результат - замените $(whoami) с именем пользователя interst.


Обновление с очисткой на основе комментариев.

last username | grep "$(date '+%a %b %e')" | wc -l | sed 's/ //g'

В sed фильтр в конце очищает лишние пробелы форматирования в результирующем количестве.

В last команда покажет запись каждого входа в оболочку.

Что-то вроде этого, вероятно, сработает:

#!/bin/sh

CMD=`last -2 $USER | awk '{print $3,$4,$5}'`
THIS_DATE=`echo $CMD | head -1`
LAST_DATE=`echo $CMD | tail -1`

if [[ $THIS_DATE == $LAST_DATE ]]; then
        /usr/bin/firefox &
else
        # Do something else
fi
exit 0