µTimer (pronounced "micro-timer") is a command-line multifunction timer for Linux.
It supports four modes: timer, countdown, stopwatch, and clock (with optional milliseconds), with flexible time input and scripting support.
Originally created by Arnaud Soyez, this project is now maintained and modernized by Artur Ladka to support modern Linux systems (GCC 14, GLib 2.84+, etc).
- Timer: count up to a specified time
- Countdown: count down from a time to zero
- Stopwatch: run indefinitely until stopped
- Clock: display current system time in HH:MM:SS format, optionally with milliseconds
- Flexible CLI time input (e.g.
1h30m45s300ms) - Quiet mode, test mode, and script-friendly
- Clean autotools build system with out-of-tree build support
- Modern GCC and GLib compatibility (GCC 14+, GLib 2.84+)
You can install the latest release from the maintainer's Launchpad PPA:
sudo add-apt-repository ppa:sarsolot/utimer
sudo apt update
sudo apt install utimerRequirements:
glib-2.0(withgobjectandgthread)gio-unix-2.0autoconfautomakelibtoolintltoolgettext
sudo apt install build-essential autoconf automake libtool intltool libglib2.0-dev gettextsudo pacman -S base-devel autoconf automake libtool intltool gettext glib2Option 1: Quick build (recommended)
# Prepare, configure, and build in one step
./build.sh
# The binary will be at: build/src/utimer
./build/src/utimer --version
# To install
cd build && sudo make install
# To clean
./build.sh cleanOption 2: Manual build
# Generate the build system
./autogen.sh
# Out-of-tree build (recommended)
mkdir build
cd build
../configure
make -j$(nproc)
# Or in-tree build
./configure
make -j$(nproc)
# Install
sudo make installTo run tests:
# After building with ./build.sh or make
make check
# Or run tests directly
cd build/src/tests && ./maintestsThis project uses a minimal source approach:
- Only source files are tracked in git
- Generated files (configure, Makefile.in, etc.) are excluded via
.gitignore - Developers run
./autogen.shto generate the build system - Release tarballs include all generated files for end users
# 1. Generate build system (first time only)
./autogen.sh
# 2. Build and test
./build.sh
# 3. Run tests
make check
# 4. Make changes to source files
# 5. Rebuild
make -C build
# 6. Test changes
cd build/src/tests && ./maintests# Generate distribution tarball (includes all generated files)
./release.sh
# This runs:
# - ./autogen.sh
# - ./configure
# - make distcheck (builds, tests, and packages)The release tarball can be distributed to end users who don't need autotools installed.
utimer --timer 10m30sutimer --countdown 2m15sutimer --stopwatchutimer --clock # Shows: 10:21:00
utimer --clock --milliseconds # Shows: 10:21:09.405
# Or use short form:
utimer -k -m # Shows: 10:21:09.405Valid time suffixes:
ms: millisecondss: secondsm: minutesh: hoursd: days
Use it in scripts:
utimer -t 10m && echo "Time's up!"Please report bugs or issues via GitHub:
🔗 https://github.com/sarsolot/utimer/issues
-
Arnaud Soyez [email protected] Original author (2008–2009)
-
Artur Ladka [email protected] Maintainer (2025–present) — modernization and Ubuntu packaging
GitHub: @sarsolot
This project is licensed under the terms of the GNU General Public License v3 or later.
This is free software: you are free to use, modify, and redistribute it under the same terms.
- GitHub Repo: https://github.com/sarsolot/utimer
- PPA for Ubuntu: https://launchpad.net/~sarsolot/+archive/ubuntu/utimer