Гид по технологиям

Как отслеживать экранное время на Linux с помощью ActivityWatch

7 min read Productivity Обновлено 26 Dec 2025
ActivityWatch: экранное время на Linux
ActivityWatch: экранное время на Linux

Будильник рядом с ноутбуком и подставкой для ручек

Ключевые возможности ActivityWatch

Отслеживание активного экранного времени — один из надёжных способов повысить продуктивность. ActivityWatch делает это локально и гибко. Краткий список основных достоинств:

  • Группировка по категориям (например, Work > Programming).
  • Отслеживание по окнам и отдельным приложениям.
  • Мониторинг веб-активности с помощью браузерных расширений.
  • Экспорт данных в JSON и CSV для дальнейшего анализа.
  • Экспериментальная функция “Секундомер“ для ручного трекинга задач.
  • Кроссплатформенная архитектура: сервер и UI работают на Linux, Windows, macOS и Android-клиентах.
  • Данные хранятся локально (сервер запускается на машине пользователя), что повышает приватность.

Важно: ActivityWatch ориентирован на локальное использование. Если ваша цель — корпоративный централизованный сбор данных, потребуется отдельная архитектура и договорённости по приватности.

Когда ActivityWatch подходит, а когда — нет

Когда подходит:

  • Вы хотите понимать, на что уходит ваше рабочее время на компьютере.
  • Нужна автономная, локальная система (без облачного бэкапа третьей стороны).
  • Нужно экспортировать данные и строить собственные отчёты.

Когда может не подойти:

  • Если требуется отслеживание мобильного экрана без установки клиентского приложения для Android/iOS.
  • Если нужен корпоративный централизованный сбор и анализ данных с сотен пользователей “из коробки”.
  • Если нужно глубокое отслеживание содержимого (например, конкретный текст в окне) — ActivityWatch отслеживает процессы, названия окон и URL, но не содержимое.

Установка ActivityWatch на Linux

ActivityWatch обычно не включён в стандартные репозитории большинства дистрибутивов. Основной путь — скачать и распаковать официальные релизы с сайта проекта или воспользоваться AUR на Arch.

Скачайте последнюю версию с сайта ActivityWatch:

Скачать: ActivityWatch

Для Arch Linux (AUR) можно установить через yay:

yay -S activitywatch

Для общего случая (скачали ZIP в папку “Загрузки”) распакуйте и запустите:

# Перейдите в папку загрузок
cd ~/Загрузки
# Распакуйте архив (замените имя файла при необходимости)
unzip activitywatch-*.zip
# Перейдите в распакованную папку
cd activitywatch
# Запустите графический клиент
./aw-qt

Если вы видите ошибку “Permission denied”, сделайте файл исполняемым:

chmod +x aw-qt
./aw-qt

Автозапуск при входе в систему

Чтобы ActivityWatch запускался автоматически для пользователя, можно создать .desktop-файл в ~/.config/autostart/:

[Desktop Entry]
Type=Application
Name=ActivityWatch
Exec=/home/USERNAME/activitywatch/aw-qt
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Comment=Запуск ActivityWatch для сбора данных о времени на экране

Замените /home/USERNAME/… на путь к вашему исполняемому aw-qt.

Альтернативно — системный unit systemd для пользовательского запуска (user unit):

# Сохраните как ~/.config/systemd/user/activitywatch.service
[Unit]
Description=ActivityWatch user server
After=network.target

[Service]
Type=simple
ExecStart=/home/USERNAME/activitywatch/aw-qt
Restart=on-failure

[Install]
WantedBy=default.target

Затем включите и запустите:

systemctl --user enable --now activitywatch.service

(Подставьте правильный путь к aw-qt.)

Запуск и доступ к панели управления

ActivityWatch работает как локальный сервер и предоставляет веб-интерфейс. После запуска значок появится в системном трее — через меню можно открыть панель.

Иконка ActivityWatch в системном трее

Каждый запуск отправит вас на страницу “Welcome” с информацией о проекте и ссылками. Чтобы всегда открывать сразу вкладку “Activity” при старте, в настройках установите Landing Page -> Activity.

Основные представления: Activity и Timeline

Основная работа идёт в двух вкладках: Activity и Timeline.

Activity — группировка по приложениям и категориям

Вкладка Activity собирает экранное время по приложениям, заголовкам окон и группирует их по категориям. Доступны круговые и столбчатые диаграммы для визуализации.

Панель ActivityWatch с визуализациями активности

Вверху — фильтры по дате и времени. Нажмите “Filters”, чтобы исключить AFK (время отсутствия) или отфильтровать отдельные категории.

ActivityWatch автоматически предлагает категорию на основе имени окна/процесса. Например, Visual Studio Code обычно попадает в Work > Programming.

Добавление визуализаций: нажмите “Edit view” → “Add visualization” → выберите тип в Settings → “Save”.

Добавление новой визуализации в ActivityWatch

Экспорт данных: открыв раздел Raw Data, используйте меню “More” рядом с бакетом и выберите “Export” (JSON/CSV).

Экспорт данных ActivityWatch в JSON/CSV

Timeline — горизонтальная история активности

Вкладка Timeline показывает последовательность событий: строка AFK (время отсутствия) и строка Window Watcher (окна и приложения).

Линейка времени (Timeline) в ActivityWatch с отслеживанием AFK и окон

Фильтры над таймлайном позволяют отобрать интересующие приложения, категории или временные промежутки.

Экспериментальная функция: Секундомер

ActivityWatch предоставляет секцию “Stopwatch” для ручного времени задач. Эта функция экспериментальная, но полезна для контроля отрезков времени, которые система не может распознать автоматически (встречи, телефонные звонки и т. п.).

Экспериментальная функция 'Секундомер' в ActivityWatch

Работа простая: введите название активности → Start → по окончании — Stop. Не забудьте останавливать секундомер после завершения задачи.

Работа с данными: экспорт и базовый анализ

Экспортируйте JSON для гибкой обработки. Пример: получить топ приложений за день с помощью jq (требуется jq установлен):

# Предположим, что файл export.json — это экспорт ActivityWatch
jq '.buckets[] | select(.name=="aw-watcher-window") | .events[] | {app: .data.app, title: .data.title, duration: .duration}' export.json

Пример извлечения уникальных приложений:

jq -r '.buckets[] | .events[] | .data.app' export.json | sort | uniq -c | sort -rn

Если вы предпочитаете таблицы, экспорт CSV удобно открыть в Excel/LibreOffice для сводных отчётов.

Практическая методология: как использовать ActivityWatch для повышения продуктивности

Мини-методология (несколько шагов):

  1. Базовая съёмка: оставьте ActivityWatch работать 7 дней без изменений — получите исходные данные.
  2. Анализ: экспортируйте и проанализируйте 3–5 основных источников потерь времени (соцсети, развлекательные сайты, нерелевантные окна).
  3. Гипотезы: сформулируйте 1–3 конкретные гипотезы (например, “сократить время на соцсети на 50% в рабочие часы”).
  4. Эксперимент: введите правила (таймеры, блокировки, расписание) и трекуйте изменения неделю.
  5. Оценка: сравните показатели до/после и закрепите изменения, если есть улучшение.

Ментальная модель: цель — не “полностью исключить” ненужные активности, а уменьшить их частоту и длительность, чтобы сохранить поток (flow).

Чек-листы по ролям

Для родителей:

  • Установите ActivityWatch на семейный компьютер.
  • Включите фильтрацию URL и следите за категориями Web.
  • Обсудите с ребёнком правила использования и приватность.

Для менеджеров:

  • Запустите пилот для небольшой команды (добровольно).
  • Настройте шаблоны категорий и делитесь методологией анализа.
  • Убедитесь в соблюдении прав сотрудников и конфиденциальности.

Для разработчиков/фрилансеров:

  • Используйте Stopwatch для трекинга оплачиваемых задач.
  • Экспортируйте CSV для выставления счётов и учёта времени.

SOP для развёртывания в малой команде

  1. Оценка: определите цель (персональная продуктивность / учёт рабочего времени).
  2. Пилот: 5–10 добровольцев на 2 недели.
  3. Категоризация: согласуйте стандарт категорий (Work, Admin, Communication, Distract).
  4. Приватность: храните данные локально и предоставляйте доступ только владельцу.
  5. Обучение: короткая сессия 30 минут — интерфейс, экспорт, отчёты.
  6. Ретроспектива: через 2 недели — оценка выгоды и решение о дальнейшем применении.

Примеры команд и сниппеты

Запуск клиента из домашней папки:

~/activitywatch/aw-qt &

Простейший .desktop для меню приложений:

[Desktop Entry]
Type=Application
Name=ActivityWatch
Exec=/home/USERNAME/activitywatch/aw-qt
Icon=/home/USERNAME/activitywatch/resources/icon.png
Categories=Utility;

jq-утилита для подсчёта общего времени по приложениям:

jq -r '.buckets[] | select(.name=="aw-watcher-window") | .events[] | [.data.app, .duration] | @tsv' export.json | awk -F"\t" '{arr[$1]+=$2} END{for(i in arr)print arr[i], i}' | sort -rn

Сравнение с альтернативами (качественная матрица)

  • ActivityWatch: локальные данные, open-source, гибкие экспорты и кастомизация.
  • RescueTime: облачное решение, более готовые отчёты, платные планы; подходит тем, кто готов доверять облаку.
  • ManicTime: локальное трекинговое приложение для Windows с мощной аналитикой, коммерческое ПО.
  • WakaTime: ориентирован на разработчиков, интегрируется с редакторами кода.

Выбор зависит от требований к приватности, платформе и готовности к облачным решениям.

Частые проблемы и как их решать (runbook)

Проблема: ActivityWatch не запускается.

  • Проверьте права на aw-qt: chmod +x aw-qt.
  • Запустите из терминала и смотрите логи на stderr.

Проблема: в панели нет данных.

  • Убедитесь, что фоновые watcher’ы запущены (aw-qt обычно стартует и регистрирует watcher’ы).
  • Проверьте, не включён ли фильтр “Exclude AFK” и не выбран ли другой интервал.

Проблема: высокое потребление CPU.

  • Закройте лишние watcher’ы или уменьшите частоту опроса (если вы настраивали их вручную).
  • Обновите до последней версии — возможны оптимизации.

Приватность и безопасность

ActivityWatch хранит данные локально по умолчанию. Советы по защите:

  • Доступ к веб-интерфейсу обычно локальный; не меняйте настройки сетевого доступа без надобности.
  • Если вы делаете удалённый доступ, используйте SSH-туннелирование или защищённый VPN.
  • Регулярно делайте бэкап экспортированных данных (если нужны копии).

Важно: при развёртывании у нескольких пользователей обсудите политику хранения и доступа к данным и получите согласие.

Когда ActivityWatch “ошибается” — ограничители и кейсы

  • AFK может ошибочно засчитываться, если ваша система блокирует ввод или при работе с внешними устройствами.
  • Удалённый рабочий стол и виртуальные машины усложняют интерпретацию: активность внутри VM может быть зафиксирована как активность хоста или наоборот.
  • Распознавание категории зависит от названия окна/процесса — для нестандартных приложений потребуется ручная настройка правил категорий.

Полезные советы и эвристики

  • Снимайте базовую метрику не менее 7 дней, чтобы учесть рабочие и выходные.
  • Настройте одну метрику-цель (например, время эффективной работы в категории “Work”).
  • Используйте Stopwatch для задач, которые сложно распознать автоматически.

Маленькая справка (глоссарий)

  • AFK — время отсутствия у клавиатуры.
  • Watcher — модуль, который наблюдает за окнами, браузером или системой.
  • Bucket — контейнер данных в ActivityWatch (тип источника, напр. aw-watcher-window).

Итог и следующие шаги

ActivityWatch — удобный инструмент для личного и небольшого командного мониторинга экранного времени на Linux. Он даёт гибкие экспорты и локальное хранение данных, что особенно важно для приватности. Начните с базовой установки, дайте приложению собирать данные неделю, затем экспортируйте и анализируйте — внедряйте небольшие гипотезы по улучшению продуктивности и повторно измеряйте изменения.

Важно: прежде чем вводить трекинг в командной среде, детально обсудите политику приватности и получите согласие сотрудников.


Краткий чек-лист перед началом использования:

  • Скачали релиз для вашей системы.
  • Настроили автозапуск (если нужно).
  • Оставили трекер работать 7 дней для базовой выборки.
  • Экспортировали данные и сравнили до/после изменений.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Как установить RPM в Fedora и RHEL
Linux

Как установить RPM в Fedora и RHEL

Ограничение учётных записей в Windows 10
Windows 10

Ограничение учётных записей в Windows 10

Острова вкладок в Opera One — руководство
Браузеры

Острова вкладок в Opera One — руководство

Trello: просто и эффективно управлять проектами
Продуктивность

Trello: просто и эффективно управлять проектами

Автоматическое переключение AirPods — как включить и отключить
How-to

Автоматическое переключение AirPods — как включить и отключить

Отключить сглаживание движения на телевизоре
Гайды

Отключить сглаживание движения на телевизоре