Я хотел бы, чтобы легкое считало журнал того, когда конкретное приложение было запущено. Журнал должен включать метку времени и записывать меры, которые я принял, например, когда я запустил браузер или запустил игру.
Bash записывает историю всех команд, которые Вы выполняете, и у Вас может быть он, записывают метку времени также - см. http://larsmichelsen.com/open-source/bash-timestamp-in-bash-history/ для больше.
Но история удара не бродит вокруг навсегда, и она все еще только записывает вещи, которые Вы выполняете из командной строки.
Ваше собственное предложение не плохо вообще. Такой сценарий мог быть чем-то вроде формы
#!/bin/bash
# Get the program you wish to launch from arguments
PROGNAME="$1"
# Shift script arguments to use the remaining ones later
shift
# Check that a PROGNAME was provided
if [ -z "$PROGNAME" ]; then
echo "Usage: $0 <program> [program options]"
exit 1
fi
# Log in your home directory, one directory per program
LOGDIR="$HOME/logs/$PROGNAME"
# Create log directory if it doesn't exist yet
if [ ! -d "$LOGDIR" ]; then
mkdir -p "$LOGDIR"
fi
# Get the date now
DATE=$(date +'%Y%m%d%H%M%S')
# Start program with it's options and log into the logdir
eval "$PROGNAME" $@ >"${LOGDIR}/${PROGNAME}_${DATE}.log" 2>"${LOGDIR}/${PROGNAME}_${DATE}.err"
Теперь Вы могли очень хорошо отредактировать записи в своем настольном меню запуска для использования обертки каждый раз, Вы запускаете определенную программу.
Другая опция состояла бы в том, чтобы использовать sudo, который регистрируется к auth.log автоматически, но используйте его таким способом, которым это не запускает программы как корень, который является:
sudo -u $USER firefox
который запустит Firefox как самостоятельно, с помощью sudo.
Например:
$ sudo -u $USER ksnapshot
# I kill the program
$ tail -1 /var/log/auth.log
Dec 28 08:20:07 jonah sudo: raphink : TTY=pts/1 ; PWD=/home/raphink ; USER=raphink ; COMMAND=/usr/bin/ksnapshot
Одна возможность состояла бы в том, чтобы записать маленький сценарий удара формы
$ myLogging firefox
это зарегистрировало бы время когда, в этом примере, запущенный Firefox и затем затем запускать Firefox.
Это потребовало бы, однако, чтобы я сделал все свои действия, такие как запущение приложения, из командной строки. Кроме того, что, если я хотел запустить Firefox с некоторых собственных аргументов?
Я не знаю, доступно ли 'излишне любопытный' для Ubuntu, но на Debian она регистрирует каждую команду, которую Вы выполнили к /var/log/auth.log.