Application for time tracking?

I’m looking for an app that can monitor and tell how much every executable is running for to track how much I spend slacking off :wink:

@darkhog:

Yes, it would be nice to have a totally powerful graphical application to do just this but, the best thing I’ve found is the good old UNIX® CLI command “ps” –

 > ps -u xxx -o stime,etime,time,%cpu,%mem,class,tty,fname,command
STIME     ELAPSED     TIME %CPU %MEM CLS TT       COMMAND  COMMAND
15:45    01:55:32 00:00:00  0.0  0.0 TS  ?        systemd  /usr/lib/systemd/systemd --user
15:45    01:55:32 00:00:00  0.0  0.0 TS  ?        (sd-pam) (sd-pam)
15:45    01:55:31 00:00:00  0.0  0.3 TS  ?        kwalletd /usr/bin/kwalletd5 --pam-login 13 14
15:45    01:55:31 00:00:00  0.0  0.1 TS  ?        startpla /usr/bin/startplasma-x11
15:45    01:55:31 00:00:07  0.1  0.0 TS  ?        dbus-dae /usr/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
15:45    01:55:31 00:00:00  0.0  0.0 TS  ?        xbindkey /usr/bin/xbindkeys
15:45    01:55:31 00:00:00  0.0  0.0 TS  ?        gpg-agen /usr/bin/gpg-agent --supervised
15:45    01:55:31 00:00:00  0.0  0.0 TS  ?        ssh-agen /usr/bin/ssh-agent /etc/X11/xinit/xinitrc
15:45    01:55:31 00:00:03  0.0  0.1 B   ?        baloo_fi /usr/lib/baloo_file
15:45    01:55:31 00:00:00  0.0  0.0 TS  ?        xdg-desk /usr/lib/xdg-desktop-portal
15:45    01:55:31 00:00:00  0.0  0.0 TS  ?        xdg-docu /usr/lib/xdg-document-portal
15:45    01:55:31 00:00:00  0.0  0.0 TS  ?        xdg-perm /usr/lib/xdg-permission-store
15:45    01:55:30 00:00:01  0.0  0.3 TS  ?        ksmserve /usr/bin/ksmserver
15:45    01:55:30 00:00:02  0.0  0.4 TS  ?        kded5    /usr/bin/kded5
15:45    01:55:30 00:02:29  2.1  0.6 TS  ?        kwin_x11 /usr/bin/kwin_x11 --replace
15:45    01:55:30 00:00:00  0.0  0.0 TS  ?        kdeinit5 kdeinit5: Running...
15:45    01:55:30 00:00:00  0.0  0.3 TS  ?        klaunche /usr/lib/kf5/klauncher --fd=8
15:45    01:55:30 00:00:00  0.0  0.0 TS  ?        kglobala /usr/bin/kglobalaccel5
15:45    01:55:30 00:00:00  0.0  0.0 TS  ?        dconf-se /usr/lib/dconf-service
15:45    01:55:30 00:01:24  1.2  1.4 TS  ?        plasmash /usr/bin/plasmashell --no-respawn
15:45    01:55:30 00:00:02  0.0  0.4 TS  ?        kwalletm /usr/bin/kwalletmanager5 --kwalletd
15:45    01:55:30 00:00:08  0.1  0.1 TS  ?        kactivit /usr/lib/kactivitymanagerd
15:45    01:55:30 00:00:00  0.0  0.0 TS  ?        gmenudbu /usr/bin/gmenudbusmenuproxy
15:45    01:55:30 00:00:00  0.0  0.3 TS  ?        polkit-k /usr/lib/polkit-kde-authentication-agent-1
15:45    01:55:30 00:00:01  0.0  0.1 TS  ?        org_kde_ /usr/lib/org_kde_powerdevil
15:45    01:55:30 00:00:02  0.0  0.4 TS  ?        xdg-desk /usr/lib/xdg-desktop-portal-kde
15:45    01:55:30 00:00:00  0.0  0.0 TS  ?        xembedsn /usr/bin/xembedsniproxy
15:45    01:55:30 00:00:00  0.0  0.0 TS  ?        xsetting /usr/bin/xsettingsd
15:45    01:55:30 00:00:00  0.0  0.0 TS  ?        kscreen_ /usr/lib/kf5/kscreen_backend_launcher
15:45    01:55:29 00:00:00  0.0  0.2 TS  ?        xdg-desk /usr/lib/xdg-desktop-portal-gtk
15:45    01:55:29 00:00:01  0.0  0.4 TS  ?        kdeconne /usr/lib/kdeconnectd
15:45    01:55:29 00:00:00  0.0  0.3 TS  ?        kaccess  /usr/bin/kaccess
15:45    01:55:29 00:00:08  0.1  0.5 TS  ?        kalendar /usr/bin/kalendarac
15:45    01:55:29 00:00:00  0.0  0.0 TS  ?        gvfsd    /usr/lib/gvfs/gvfsd
15:45    01:55:29 00:00:00  0.0  0.0 TS  ?        gvfsd-fu /usr/lib/gvfs/gvfsd-fuse /run/user/1000/gvfs -f
15:45    01:55:29 00:00:00  0.0  0.0 TS  ?        at-spi-b /usr/lib/at-spi2/at-spi-bus-launcher
15:45    01:55:29 00:00:00  0.0  0.0 TS  ?        dbus-dae /usr/bin/dbus-daemon --config-file=/usr/share/defaults/at-spi2/accessibility.conf --nofork --print-address 11 --address=unix:path=/run/user/1000/at-spi/bus_0
15:45    01:55:29 00:00:00  0.0  0.0 TS  ?        at-spi2- /usr/lib/at-spi2/at-spi2-registryd --use-gnome-session
15:45    01:55:29 00:00:00  0.0  0.0 TS  ?        pipewire /usr/bin/pipewire
15:45    01:55:29 00:00:00  0.0  0.0 TS  ?        wireplum /usr/bin/wireplumber
15:45    01:55:28 00:00:04  0.0  0.3 TS  ?        akonadi_ /usr/bin/akonadi_control
15:45    01:55:28 00:00:20  0.2  0.3 TS  ?        akonadis /usr/bin/akonadiserver
15:45    01:55:28 00:00:00  0.0  0.0 TS  ?        pipewire /usr/bin/pipewire-pulse
15:45    01:55:28 00:00:30  0.4  0.7 TS  ?        mysqld   /usr/sbin/mysqld --defaults-file=/home/Users/xxx/.local/share/akonadi/mysql.conf --datadir=/home/Users/xxx/.local/share/akonadi/db_data/ --socket=/run/user/1000/akonadi/mysql.socket --pid-file=/run/user/1000/akonadi/mysql.pid
15:45    01:55:28 00:00:02  0.0  0.5 TS  ?        akonadi_ /usr/bin/akonadi_archivemail_agent --identifier akonadi_archivemail_agent
15:45    01:55:27 00:00:01  0.0  0.3 TS  ?        akonadi_ /usr/bin/akonadi_birthdays_resource --identifier akonadi_birthdays_resource
15:45    01:55:27 00:00:01  0.0  0.3 TS  ?        akonadi_ /usr/bin/akonadi_contacts_resource --identifier akonadi_contacts_resource_0
15:45    01:55:27 00:00:02  0.0  0.3 TS  ?        akonadi_ /usr/bin/akonadi_followupreminder_agent --identifier akonadi_followupreminder_agent
15:45    01:55:27 00:00:01  0.0  0.3 TS  ?        akonadi_ /usr/bin/akonadi_icaldir_resource --identifier akonadi_icaldir_resource_0
15:45    01:55:27 00:00:03  0.0  0.3 TS  ?        akonadi_ /usr/bin/akonadi_icaldir_resource --identifier akonadi_icaldir_resource_1
15:45    01:55:27 00:00:03  0.0  0.3 TS  ?        akonadi_ /usr/bin/akonadi_icaldir_resource --identifier akonadi_icaldir_resource_10
15:45    01:55:27 00:00:03  0.0  0.4 TS  ?        akonadi_ /usr/bin/akonadi_icaldir_resource --identifier akonadi_icaldir_resource_11
15:45    01:55:27 00:00:04  0.0  0.3 TS  ?        akonadi_ /usr/bin/akonadi_icaldir_resource --identifier akonadi_icaldir_resource_12
15:45    01:55:27 00:00:02  0.0  0.3 TS  ?        akonadi_ /usr/bin/akonadi_icaldir_resource --identifier akonadi_icaldir_resource_13
15:45    01:55:27 00:00:01  0.0  0.3 TS  ?        akonadi_ /usr/bin/akonadi_icaldir_resource --identifier akonadi_icaldir_resource_14
15:45    01:55:27 00:00:01  0.0  0.3 TS  ?        akonadi_ /usr/bin/akonadi_icaldir_resource --identifier akonadi_icaldir_resource_15
15:45    01:55:27 00:00:01  0.0  0.3 TS  ?        akonadi_ /usr/bin/akonadi_icaldir_resource --identifier akonadi_icaldir_resource_16
15:45    01:55:27 00:00:01  0.0  0.3 TS  ?        akonadi_ /usr/bin/akonadi_icaldir_resource --identifier akonadi_icaldir_resource_17
15:45    01:55:27 00:00:03  0.0  0.3 TS  ?        akonadi_ /usr/bin/akonadi_icaldir_resource --identifier akonadi_icaldir_resource_2
15:45    01:55:27 00:00:03  0.0  0.3 TS  ?        akonadi_ /usr/bin/akonadi_icaldir_resource --identifier akonadi_icaldir_resource_3
15:45    01:55:27 00:00:03  0.0  0.3 TS  ?        akonadi_ /usr/bin/akonadi_icaldir_resource --identifier akonadi_icaldir_resource_4
15:45    01:55:27 00:00:02  0.0  0.3 TS  ?        akonadi_ /usr/bin/akonadi_icaldir_resource --identifier akonadi_icaldir_resource_5
15:45    01:55:27 00:00:02  0.0  0.3 TS  ?        akonadi_ /usr/bin/akonadi_icaldir_resource --identifier akonadi_icaldir_resource_6
15:45    01:55:27 00:00:02  0.0  0.3 TS  ?        akonadi_ /usr/bin/akonadi_icaldir_resource --identifier akonadi_icaldir_resource_7
15:45    01:55:27 00:00:02  0.0  0.3 TS  ?        akonadi_ /usr/bin/akonadi_icaldir_resource --identifier akonadi_icaldir_resource_8
15:45    01:55:27 00:00:02  0.0  0.3 TS  ?        akonadi_ /usr/bin/akonadi_icaldir_resource --identifier akonadi_icaldir_resource_9
15:45    01:55:27 00:00:03  0.0  0.4 TS  ?        akonadi_ /usr/bin/akonadi_imap_resource --identifier akonadi_imap_resource_0
15:45    01:55:27 00:00:03  0.0  0.4 TS  ?        akonadi_ /usr/bin/akonadi_imap_resource --identifier akonadi_imap_resource_2
15:45    01:55:27 00:00:03  0.0  0.4 TS  ?        akonadi_ /usr/bin/akonadi_imap_resource --identifier akonadi_imap_resource_3
15:45    01:55:27 00:00:04  0.0  0.4 TS  ?        akonadi_ /usr/bin/akonadi_imap_resource --identifier akonadi_imap_resource_4
15:45    01:55:27 00:00:02  0.0  0.4 TS  ?        akonadi_ /usr/bin/akonadi_imap_resource --identifier akonadi_imap_resource_5
15:45    01:55:27 00:00:02  0.0  0.4 TS  ?        akonadi_ /usr/bin/akonadi_imap_resource --identifier akonadi_imap_resource_6
15:45    01:55:27 00:00:02  0.0  0.4 TS  ?        akonadi_ /usr/bin/akonadi_imap_resource --identifier akonadi_imap_resource_7
15:45    01:55:27 00:00:02  0.0  0.4 TS  ?        akonadi_ /usr/bin/akonadi_imap_resource --identifier akonadi_imap_resource_8
15:45    01:55:27 00:00:01  0.0  0.4 B   ?        akonadi_ /usr/bin/akonadi_indexing_agent --identifier akonadi_indexing_agent
15:45    01:55:27 00:00:05  0.0  0.3 TS  ?        akonadi_ /usr/bin/akonadi_maildir_resource --identifier akonadi_maildir_resource_0
15:45    01:55:27 00:00:01  0.0  0.3 TS  ?        akonadi_ /usr/bin/akonadi_maildir_resource --identifier akonadi_maildir_resource_1
15:45    01:55:27 00:00:01  0.0  0.3 TS  ?        akonadi_ /usr/bin/akonadi_maildir_resource --identifier akonadi_maildir_resource_2
15:45    01:55:27 00:00:02  0.0  0.3 TS  ?        akonadi_ /usr/bin/akonadi_maildispatcher_agent --identifier akonadi_maildispatcher_agent
15:45    01:55:27 00:00:02  0.0  0.5 TS  ?        akonadi_ /usr/bin/akonadi_mailfilter_agent --identifier akonadi_mailfilter_agent
15:45    01:55:27 00:00:02  0.0  0.3 TS  ?        akonadi_ /usr/bin/akonadi_mailmerge_agent --identifier akonadi_mailmerge_agent
15:45    01:55:27 00:00:01  0.0  0.3 TS  ?        akonadi_ /usr/bin/akonadi_migration_agent --identifier akonadi_migration_agent
15:45    01:55:27 00:00:01  0.0  0.3 TS  ?        akonadi_ /usr/bin/akonadi_newmailnotifier_agent --identifier akonadi_newmailnotifier_agent
15:45    01:55:27 00:00:02  0.0  0.5 TS  ?        akonadi_ /usr/bin/akonadi_sendlater_agent --identifier akonadi_sendlater_agent
15:45    01:55:27 00:00:02  0.0  0.5 TS  ?        akonadi_ /usr/bin/akonadi_unifiedmailbox_agent --identifier akonadi_unifiedmailbox_agent
15:45    01:55:20 00:00:02  0.0  0.6 TS  ?        krunner  /usr/bin/krunner
15:45    01:55:18 00:00:00  0.0  0.3 TS  ?        baloorun /usr/lib/baloorunner
15:46    01:54:10 00:01:02  0.9  1.5 TS  ?        kontact  /usr/bin/kontact
15:46    01:54:10 00:00:00  0.0  0.2 TS  ?        QtWebEng /usr/lib/qt5/QtWebEngineProcess --type=zygote --no-zygote-sandbox --disable-in-process-stack-traces --application-name=kontact --webengine-schemes=cid:slLC;qrc:sLV --lang=de
15:46    01:54:10 00:00:00  0.0  0.2 TS  ?        QtWebEng /usr/lib/qt5/QtWebEngineProcess --type=zygote --disable-in-process-stack-traces --application-name=kontact --webengine-schemes=cid:slLC;qrc:sLV --lang=de
15:46    01:54:10 00:00:00  0.0  0.0 TS  ?        QtWebEng /usr/lib/qt5/QtWebEngineProcess --type=zygote --disable-in-process-stack-traces --application-name=kontact --webengine-schemes=cid:slLC;qrc:sLV --lang=de
15:46    01:54:09 00:00:00  0.0  0.2 TS  ?        QtWebEng /usr/lib/qt5/QtWebEngineProcess --type=renderer --disable-in-process-stack-traces --disable-speech-api --enable-threaded-compositing --enable-features=AllowContentInitiatedDataUrlNavigations,NetworkServiceInProcess,TracingServiceInPro
15:46    01:54:09 00:00:01  0.0  0.3 TS  ?        QtWebEng /usr/lib/qt5/QtWebEngineProcess --type=renderer --disable-in-process-stack-traces --disable-speech-api --enable-threaded-compositing --enable-features=AllowContentInitiatedDataUrlNavigations,NetworkServiceInProcess,TracingServiceInPro
15:46    01:53:52 00:00:01  0.0  0.3 TS  ?        QtWebEng /usr/lib/qt5/QtWebEngineProcess --type=renderer --disable-in-process-stack-traces --disable-speech-api --enable-threaded-compositing --enable-features=AllowContentInitiatedDataUrlNavigations,NetworkServiceInProcess,TracingServiceInPro
15:46    01:53:52 00:00:08  0.1  0.0 TS  ?        kio_http /usr/lib/kf5/kio_http_cache_cleaner
16:21    01:18:58 00:00:00  0.0  0.0 TS  ?        gvfs-udi /usr/lib/gvfs/gvfs-udisks2-volume-monitor
16:21    01:18:58 00:00:00  0.0  0.0 TS  ?        gvfs-goa /usr/lib/gvfs/gvfs-goa-volume-monitor
16:21    01:18:58 00:00:00  0.0  0.1 TS  ?        goa-daem /usr/lib/goa-daemon
16:21    01:18:58 00:00:00  0.0  0.0 TS  ?        goa-iden /usr/lib/goa-identity-service
16:21    01:18:58 00:00:00  0.0  0.0 TS  ?        gvfs-afc /usr/lib/gvfs/gvfs-afc-volume-monitor
16:21    01:18:58 00:00:00  0.0  0.0 TS  ?        gvfs-gph /usr/lib/gvfs/gvfs-gphoto2-volume-monitor
16:21    01:18:58 00:00:00  0.0  0.0 TS  ?        gvfs-mtp /usr/lib/gvfs/gvfs-mtp-volume-monitor
16:21    01:18:58 00:00:00  0.0  0.0 TS  ?        gvfsd-tr /usr/lib/gvfs/gvfsd-trash --spawner :1.33 /org/gtk/gvfs/exec_spaw/0
16:21    01:18:58 00:00:00  0.0  0.0 TS  ?        gvfsd-ne /usr/lib/gvfs/gvfsd-network --spawner :1.33 /org/gtk/gvfs/exec_spaw/1
16:21    01:18:57 00:00:00  0.0  0.0 TS  ?        gvfsd-dn /usr/lib/gvfs/gvfsd-dnssd --spawner :1.33 /org/gtk/gvfs/exec_spaw/3
16:46       54:08 00:00:00  0.0  0.0 TS  ?        scdaemon scdaemon --multi-server
17:21       18:44 00:01:06  5.9  1.8 TS  ?        firefox  /usr/lib64/firefox/firefox
17:21       18:43 00:00:00  0.0  0.1 TS  ?        Socket P /usr/lib64/firefox/firefox -contentproc -parentBuildID 20241110231641 -prefsLen 34298 -prefMapSize 260651 -appDir /usr/lib64/firefox/browser {0a579229-94a7-43bd-84a0-f4ae25a0c27b} 10591 true 1 socket
17:21       18:42 00:00:01  0.0  0.3 TS  ?        WebExten /usr/lib64/firefox/firefox -contentproc -isForBrowser -prefsLen 40717 -prefMapSize 260651 -jsInitLen 234660 -parentBuildID 20241110231641 -greomni /usr/lib64/firefox/omni.ja -appomni /usr/lib64/firefox/browser/omni.ja -appDir /usr/lib
17:21       18:42 00:00:00  0.0  0.1 TS  ?        Utility  /usr/lib64/firefox/firefox -contentproc -parentBuildID 20241110231641 -sandboxingKind 0 -prefsLen 40766 -prefMapSize 260651 -appDir /usr/lib64/firefox/browser {0284d4ed-3ef3-4c4c-af42-d0af4366145d} 10591 true 3 utility
17:21       18:42 00:00:00  0.0  0.3 TS  ?        plasma-b /usr/bin/plasma-browser-integration-host /usr/lib64/mozilla/native-messaging-hosts/org.kde.plasma.browser_integration.json plasma-browser-integration@kde.org
17:21       18:42 00:00:01  0.1  0.4 TS  ?        Privileg /usr/lib64/firefox/firefox -contentproc -isForBrowser -prefsLen 40818 -prefMapSize 260651 -jsInitLen 234660 -parentBuildID 20241110231641 -greomni /usr/lib64/firefox/omni.ja -appomni /usr/lib64/firefox/browser/omni.ja -appDir /usr/lib
17:21       18:41 00:00:13  1.1  0.7 TS  ?        Isolated /usr/lib64/firefox/firefox -contentproc -isForBrowser -prefsLen 35588 -prefMapSize 260651 -jsInitLen 234660 -parentBuildID 20241110231641 -greomni /usr/lib64/firefox/omni.ja -appomni /usr/lib64/firefox/browser/omni.ja -appDir /usr/lib
17:21       18:41 00:00:18  1.6  0.7 TS  ?        Isolated /usr/lib64/firefox/firefox -contentproc -isForBrowser -prefsLen 35588 -prefMapSize 260651 -jsInitLen 234660 -parentBuildID 20241110231641 -greomni /usr/lib64/firefox/omni.ja -appomni /usr/lib64/firefox/browser/omni.ja -appDir /usr/lib
17:22       18:38 00:00:05  0.4  0.5 TS  ?        Isolated /usr/lib64/firefox/firefox -contentproc -isForBrowser -prefsLen 35645 -prefMapSize 260651 -jsInitLen 234660 -parentBuildID 20241110231641 -greomni /usr/lib64/firefox/omni.ja -appomni /usr/lib64/firefox/browser/omni.ja -appDir /usr/lib
17:22       18:38 00:00:09  0.8  0.6 TS  ?        Isolated /usr/lib64/firefox/firefox -contentproc -isForBrowser -prefsLen 35645 -prefMapSize 260651 -jsInitLen 234660 -parentBuildID 20241110231641 -greomni /usr/lib64/firefox/omni.ja -appomni /usr/lib64/firefox/browser/omni.ja -appDir /usr/lib
17:23       17:05 00:00:09  0.9  0.5 TS  ?        Isolated /usr/lib64/firefox/firefox -contentproc -isForBrowser -prefsLen 35645 -prefMapSize 260651 -jsInitLen 234660 -parentBuildID 20241110231641 -greomni /usr/lib64/firefox/omni.ja -appomni /usr/lib64/firefox/browser/omni.ja -appDir /usr/lib
17:23       16:43 00:00:01  0.1  0.4 TS  ?        Isolated /usr/lib64/firefox/firefox -contentproc -isForBrowser -prefsLen 35645 -prefMapSize 260651 -jsInitLen 234660 -parentBuildID 20241110231641 -greomni /usr/lib64/firefox/omni.ja -appomni /usr/lib64/firefox/browser/omni.ja -appDir /usr/lib
17:23       16:43 00:00:00  0.0  0.0 TS  ?        sd_dummy /usr/lib/speech-dispatcher-modules/sd_dummy
17:23       16:43 00:00:00  0.0  0.0 TS  ?        speech-d /usr/bin/speech-dispatcher --spawn --communication-method unix_socket --socket-path /run/user/1000/speech-dispatcher/speechd.sock
17:24       15:53 00:00:08  0.8  0.5 TS  ?        konsole  /usr/bin/konsole
17:24       15:52 00:00:00  0.0  0.0 TS  pts/1    bash     /usr/bin/bash
17:25       14:42 00:00:00  0.0  0.0 TS  pts/2    bash     /usr/bin/bash
17:26       14:39 00:00:00  0.0  0.0 TS  pts/2    man      man ps
17:26       14:36 00:00:00  0.0  0.0 TS  pts/2    less     less
17:27       13:40 00:00:00  0.0  0.2 TS  ?        Web Cont /usr/lib64/firefox/firefox -contentproc -isForBrowser -prefsLen 35645 -prefMapSize 260651 -jsInitLen 234660 -parentBuildID 20241110231641 -greomni /usr/lib64/firefox/omni.ja -appomni /usr/lib64/firefox/browser/omni.ja -appDir /usr/lib
17:27       13:38 00:00:00  0.0  0.2 TS  ?        Web Cont /usr/lib64/firefox/firefox -contentproc -isForBrowser -prefsLen 35645 -prefMapSize 260651 -jsInitLen 234660 -parentBuildID 20241110231641 -greomni /usr/lib64/firefox/omni.ja -appomni /usr/lib64/firefox/browser/omni.ja -appDir /usr/lib
17:27       13:35 00:00:00  0.0  0.2 TS  ?        Web Cont /usr/lib64/firefox/firefox -contentproc -isForBrowser -prefsLen 35645 -prefMapSize 260651 -jsInitLen 234660 -parentBuildID 20241110231641 -greomni /usr/lib64/firefox/omni.ja -appomni /usr/lib64/firefox/browser/omni.ja -appDir /usr/lib
17:40       00:00 00:00:00  0.0  0.0 TS  pts/1    ps       ps -u xxx -o stime,etime,time,%cpu,%mem,class,tty,fname,command
 >

I would suggest: ActivityWatch.
Available for computers (Linux, Mac, Win) and smartphones