У меня есть Perl-скрипт (точнее, этот скрипт ), который регистрирует активность пользователя в зависимости от времени простоя в MacOS X Snow Leopard System. Однако при включенном быстром переключении пользователей одновременно может быть зарегистрировано более одного пользователя. Я хочу, чтобы скрипт видел компьютер как «бездействующий», если другой пользователь активен (т.е. использует графический интерфейс) через быстрое переключение пользователей.
Существует множество способов выяснить, когда пользователь вошел в систему. Узнать, когда пользователь последний раз "переключался", кажется сложнее. Мое решение до сих пор было посмотреть на /var/log/secure.log
, где регистрируются события быстрого переключения пользователей:
tail -200 /var/log/secure.log | grep "User info context values set" | tail -1
Однако для пользователей, выполняющих сценарий Perl, которые не являются администраторами, secure.log
не будет доступен для чтения. Есть ли альтернативные способы узнать, какой пользователь в данный момент активно вошел в систему, или каким было последнее событие быстрого переключения пользователей?
Конечно, проблему можно было бы обойти, если бы у меня был метод определения времени простоя только для пользователя, выполняющего скрипт, а не общего времени простоя компьютера, который я сейчас получаю от ioreg
. Так что я тоже открыт для предложений.
Спасибо!