Time-tracking software records the time you spend on tasks. The time-tracking helps you create billing reports, prepare invoices, and analyze your workflow for better efficiency.
This week’s Linux Picks and Pans product review highlights some of the best free time-tracking applications for Linux. The apps included in this roundup are not presented in any quality order. Also, they are not individually rated.
Most of these apps offer basic time-tracking functionality and little else. Some have some very useful additional features. A few are strictly old school Linux with only command line and/or text-based input and display.
However, your skill sets won’t be taxed with a majority of these software options, and you likely will find a suitable solution in one or more of them to meet your particular needs.
Project Hamster: Basic Tracking Treadmill With Limited Steps
Project Hamster is a workable solution for individuals who do not mind a little fiddling to keep current with a time-tracking process. It is fairly simple to use, it’s light on features, and it has a classic minimalist design.
Project Hamster is all about three things: It tracks the time you spend on tasks throughout the day; it calculates totals; and it exports time-tracking data into an HTML report.
Everything happens in a simple Activity window. Enter a new task and add an optional tag to refine report generations later. Or click on an existing task from the displayed list. Click the “Start Tracking” button. Then go about your task.
Tagging your activities makes it easier to search through your historical data. Tags serve as a category marker. The results will be split by tags and shown in the Statistics section.
Adding descriptions to the activities helps keep track of specific parts of work in the overall progress. To track time expenditures in Hamster, change your activity in the program when switching from one task to another. The program counts time totals and shows them in the interface.
Hamster is available in .deb package format for Ubuntu Linux and its derivatives. If your flavor of Linux does not provide Hamster in its repositories, you will have to forget about using it. The link on Github no longer takes you to a download page for other installation options.
Rachota: Flexible Filtering of Data
Rachota is a portable time-tracking application for Linux. The portability is a nice feature. You can run it from the USB drive in most Linux distros and can store updated time-tracking data there as well.
Besides collecting your time-tracking data, this app analyzes what you do and suggests how to use your time more efficiently. It is even more helpful if you use its customizable reporting and invoicing functionality.
Rachota displays time data in diagram form. The user interface is built around a three-step process. All of the tasks are displayed in the center of the Activities window. The display shows three tabs: Day, History, Analytics. However, you need to set up what you want Rachota to track before you can get down to business.
Step one is planning your tasks. Rachota excels in cataloging regular tasks that repeat on a daily or weekly basis. You enter the tasks in the Settings dialog before you can track them.
To do that, click the Add button. The Task settings dialog shows up. The entry or setup screen has each data point labeled. All you have to do is enter a brief description or select from a drop-down list.
Step Two is working your plan. Start working on a task by highlighting it and clicking the Select button. This sets the task as current. Then click the Work button to have Rachota start measuring the time you spent on the task.
You can pause the measuring log by clicking the Relax button. When you finish a task, click the Done button. Rachota continues to measure time spent until you tell it to stop or switch tasks.
Step Three is analyzing your time data. You can generate reports that display your time data by switching to the History tab and selecting the period of time you want in the report or working hours by switching to the Times tab. Rachota provides three types of graphs and allows you to highlight tasks based on certain criteria.
You can customize reports by specifying tasks during the selected period. The Report generation wizard lets you specify properties like format (TXT, CSV, HTML), file name, description and content.
You can switch to the Projects tab to view your projects in terms of their timeshare, tasks, state or priority.
KTimeTracker: Outdated, but Flexible and Simple
KTimeTracker is the time-tracking app that is part of Kontact, the personal information manager for the KDE desktop environment. You can run it in most Linux distros, regardless of the desktop environment you use.
It does not have much in the way of fancy features. It is ideal for keeping track of billable time spent on a task. It also is a simple and effective way to track how much time you spend doing whatever you do at the computer.
KTimeTracker provides basic to-do management and timekeeping features. This lets you create task lists and track time spent on the tasks. The data is summarized and stored in a journal where you can review the results.
Use KTimeTracker to maintain a list of projects and tasks. It is especially handy if you spend your working time at the keyboard bouncing from task to task.
Whenever you switch your activity, double-click on the respective task and see how its time gets tracked. At the end of the day (or month), you can obtain a journal showing how much time you spent on what task.
This time-tracking component works fairly well as a standalone application. Its only real weakness is its age. It has not been maintained since 2013.
KTimeTracker is easy to use. Its configuration options include idle time detection, time-saving frequency and displayed details. It calculates time expenses automatically. You merely start and stop the timer as needed. You can edit already-recorded time, if necessary.
Its design makes it easy to organize tasks into sub-tasks and organize your work like a to-do list. With the ability to create up to 1,000 levels of sub-tasks, KTimeTracker can also serve as a makeshift project manager.
GnoTime: Tracking Tool Plus
The GnoTime Tracking Tool, formerly known as GTT, offers simple interfaces and basic time-tracking and billing functionality.
You can use this app to keep to-do tasks on target. Its multifaceted functions let you organize your ideas and track your projects. If that is not enough, it also can serve as your diary or work journal.
What GnoTime does best, however, is keep tabs on how much time you spend on projects. It also generates reports and invoices based on that time log.
A unique feature in this app is auto-merging short time intervals recorded for one task. You can define the length of the intervals to be merged. Another useful feature is the ability to vary billing rates and flag entries as billable or non-billable.
GnoTime displays recorded information in various HTML reports. They can show tasks performed throughout the given day, billable amounts, and statuses of projects.
The app also shows a running timer with time totals for each project/task.
You start the timer by clicking on a task. The timer function measures the amount of time that you are at the computer. It detects idle time on the keyboard and mouse and stops the clock accordingly. If the clock stays stopped for too long, it will nag you to start it up again. You can view time totals by day, week, month or year.
ARBTT: Automatically Gets Out of Your Way
ARBTT takes the manual labor out of tracking your time at the computer. That is how it got its name: “Automatic Rule-Based Time-Tracker.”
The program recognizes active windows and tracks how long they are open. It calculates that time interval.
Like other open source productivity projects, the developer has not released updates since 2014. ARBTT is not readily available for all Linux distros, either.
You can download it for distros that support Debian and Ubuntu repositories. The most direct way is with the terminal command: sudo apt-get install arbtt
You also can get ARBTT installed from source, either via cabal install or from the source repository. Check the developer’s website for all installation options.
ARBTT’s core component is a desktop daemon (arbtt-capture) that captures data about what you are doing autonomously and continuously stores it in a log file. A separate component, a built-in command-line statistics generator (arbtt-stats), lets you inspect the data by using simple text-based rules.
The rules are specified as a simple text-based format in a file called “categorize.cfg”. The big advantage is that you do not have to preconfigure how you select the data to record.
The program applies rules in real-time as you evaluate your data, rather than when recording it. This keeps your raw data intact. You can add more rules and forgotten special cases later. Plus, you can customize the simple rules, sort through the raw data, and reveal patterns and relevant information.
The rules may be simple to construct. Using ARBTT is a bit challenging, however, because it lacks a GUI in favor of a command line. That involves poring over a document to learn the command syntax.
JTimeSched: Lean Design Meets Intuitive Style
jTimeSched is a simple, lightweight time-tracking application with a minimalist interface and portability.
The portability comes from its ability to run from a USB stick and its coding that is stored in a single .jar file. jTimeSched stores it configuration data per directory, a design that supports multiple configurations.
Despite its minimalist interface, this specialty app seemingly does it all. The basic interface is very intuitive, and capable of providing all the necessary functionality.
jTimeSched can track elapsed time for tasks and projects. It can use the data for the recording of time worked.
This app suits those who need a simple time-tracker without advanced features, fancy interfaces, and a detailed task hierarchy.
jTimeSched lets you create as many tasks/projects as you want with one single click. It tracks elapsed time for a working day and displays overall time.
Despite a lean design, this app lets you manually set a task and start it with a single click on the start/pause icon. You can remove a task with a double click.
Other features include categorizing and sorting tasks by color title, category, date created, time overall, time today or current state. You can highlight tasks by keyword.
GTime: Covert Work Routine Logging
GTimeLog, a small time-tracking application for GNOME, is designed for tracking without overly intruding on your daily work routine.
Start the app and type in “arrived.” After finishing each activity throughout the workday, enter the name of the activity in the GTimeLog prompt.
Naming the activity at the end of working on the task is a key principle. Activities, in general, are categorized as two types. One type is tasks that count as billable work.
The other type does not. To indicate which activities are not billable, add two asterisks to the activity name. The program calculates your time expenditures and creates an activity report that shows how much time you have spent working and taking breaks.
GTimeLog is loaded with high-end features. For instance, it stores the time log in a simple plain text file.
You can edit it by choosing Edit log from the menu (or pressing Ctrl-E). Every line contains a timestamp and the name of the activity that ended at the time. All other lines are ignored, so you can add comments.
The application uses simple configuration options. These include commands to flag specific activities as not related to work, and the option to omit them completely in daily reports.
The display involves three basic views. The first shows all the activities in chronological order, with starting and ending times.
The second view groups all entries with the same title into one activity and just shows the total duration. The third view groups all entries from the same categories into one line with the total duration.
GTimeLog lacks a built-in sync system between multiple machines. The workaround is to put its files into Dropbox and create a symlink.
Download GTimeLog from the Python Package Index using this terminal command: pip install gtimelogPackages are available in Debian and Ubuntu formats. The released version is notably outdated.
TimeSlotTracker: Unconventional Yet Useful
TimeSlotTracker records your work in time slots against tasks in a hierarchical tree. It combines time-tracking and task management.
It is a simple app that is not complicated to use. It is useful, but a bit unusual in its design.
The biggest challenge in learning to use this app is understanding how the user interface works. A more detailed documentation file would solve that problem.
TimeSlotTracker integrates with Jira and iCalendar. It runs predefined and custom reports based on the collected time-tracking data, and exports them into CSV, HTML and TXT formats.
The app collects tasks and time slots in a hierarchical tree. It has a very intuitive set of keyboard shortcuts. This is a feature most of the other apps in this roundup do not have.
This is a very worthwhile application and is worth the time to learn it, but installation might not work, depending on your distro’s repository. Some of the dependencies are outdated and may not be easy to locate elsewhere.
Most of the time-tracking apps in this Linux roundup are abandoned or in need of updating. The growing convenience and accessibility of Web-based time-tracking services make standalone software less necessary and in lower demand. Thus, developers spend little or no time releasing newer versions.
The eight applications for Linux users included in this roundup are solid performers. Other than the outdated packages and lack of support for a wide variety of Linux distros, these apps deliver on productivity and reliability.
Want to Suggest a Review?
Is there a Linux software application or distro you’d like to suggest for review? Something you love or would like to get to know?
Pleaseemail your ideas to me, and I’ll consider them for a future Linux Picks and Pans column.
And use the Reader Comments feature below to provide your input!