Working in the Linux terminal can be immersive, and constantly switching windows to check the time disrupts your workflow. Whether you're a developer, system administrator, or Linux enthusiast, having a live clock directly in your terminal keeps you focused and productive. This comprehensive guide covers five practical methods to display a persistent clock in your Linux or macOS terminal, from simple one-liners to customizable CLI applications.
Why Display a Clock in Your Terminal?
Before diving into the methods, let's understand the benefits:
- Improved productivity: No need to switch windows or check your phone
- Time tracking: Perfect for pomodoro techniques and time-boxing tasks
- Terminal aesthetics: Adds a professional, customized look to your workspace
- Multitasking: Keep track of time while running long processes or scripts
Prerequisites
Most methods work on any Unix-based system (Linux, macOS). You'll need:
- A terminal emulator (GNOME Terminal, iTerm2, Alacritty, etc.)
- Basic command-line knowledge
- Package manager access (apt, dnf, pacman, or homebrew)
Method 1: Using the Watch Command (Simplest Approach)
The watch command executes a program repeatedly at specified intervals, making it perfect for displaying real-time information.
Basic Time Display
watch -n 1 -t date +%T
What this does:
-n 1: Updates every 1 second-t: Removes the header for a cleaner lookdate +%T: Shows time in HH:MM:SS format
Enhanced Format with Date
watch -n 1 -t "date '+%A, %B %d, %Y - %r'"
This displays: "Friday, January 02, 2026 - 02:45:30 PM"
Pros:
- No installation required
- Works on all Unix systems
- Highly customizable with date formatting
Cons:
- Takes over your terminal window
- Cannot type commands while running
- Requires Ctrl+C to exit
Method 2: Background Loop with Title Bar Display
This method runs a background process that updates your terminal's title bar, allowing you to continue working normally.
Implementation
while true; do echo -ne "\033]0;$(date +%T)\007"; sleep 1; done &
Breaking it down:
while true; do ... done: Creates an infinite loop\033]0;...\007: ANSI escape sequence for terminal title&: Runs the process in the background
Verify It's Running
jobs
Stop the Clock
kill %1
Replace 1 with the job number if you have multiple background processes.
Persistent Setup
To make this permanent, add to your ~/.bashrc or ~/.zshrc:
# Add live clock to terminal title
(while true; do echo -ne "\033]0;$(date +%T)\007"; sleep 1; done &) 2>/dev/null
Pros:
- Non-intrusive, appears in title bar
- Terminal remains fully functional
- Persistent across sessions when added to shell config
Cons:
- Only visible in terminal title bar
- May not work with all terminal emulators
- Consumes a small amount of background resources
Method 3: Tty-clock (Classic Terminal Clock)
Tty-clock is a popular, minimalist terminal clock application that displays large, digital-style numbers.
Installation
Ubuntu/Debian:
sudo apt install tty-clock
Fedora:
sudo dnf install tty-clock
Arch Linux:
sudo pacman -S tty-clock
macOS (Homebrew):
brew install tty-clock
Basic Usage
tty-clock
Customization Options
Center the clock:
tty-clock -c
Change color (0-7):
tty-clock -C 2
Show seconds:
tty-clock -s
12-hour format:
tty-clock -t
Add a box border:
tty-clock -b
Combine multiple options:
tty-clock -c -s -C 4 -b
Interactive Controls
While tty-clock is running:
- K/J/H/L: Move the clock (vi-style)
- 0-7: Change color
- S: Toggle seconds
- T: Toggle 12/24-hour format
- B: Toggle box border
- Q: Quit
Screensaver Mode
tty-clock -S
Exits when any key is pressed, perfect for screensaver usage.
Pros:
- Visually appealing, large digits
- Highly customizable
- Interactive controls
- Lightweight and fast
Cons:
- Requires installation
- Takes over the terminal window
- Cannot use terminal for other tasks simultaneously
Method 4: Clock-tui (Modern Rust-Based Clock)
Clock-tui is a newer, Rust-powered terminal clock with modern features and smooth rendering.
Installation
First, install Rust and Cargo if not already installed:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Install clock-tui:
cargo install clock-tui
Basic Usage
tclock
Customization
Change color:
tclock -c Red
Available colors: Red, Green, Blue, Yellow, Magenta, Cyan, White
Adjust size:
tclock -s 2
Combine options:
tclock -s 2 -c Blue
Pros:
- Modern, smooth rendering
- Written in Rust (fast and efficient)
- Customizable colors and sizes
- Active development
Cons:
- Requires Rust toolchain installation
- Takes over terminal window
- Larger installation footprint than tty-clock
Method 5: Custom Bash Script with Loop
For maximum control, create a custom script that runs a clock in a corner of your terminal.
Create the Script
nano ~/bin/termclock.sh
Add the following content:
#!/bin/bash
# Terminal clock that displays in top-right corner
while true; do
# Save cursor position
tput sc
# Move to top-right corner
tput cup 0 $(($(tput cols)-11))
# Display time in green
echo -e "\e[32m$(date +%r)\e[39m"
# Restore cursor position
tput rc
sleep 1
done
Make It Executable
chmod +x ~/bin/termclock.sh
Run It
~/bin/termclock.sh &
Auto-start on Terminal Launch
Add to ~/.bashrc or ~/.zshrc:
# Start terminal clock in background
~/bin/termclock.sh &
Pros:
- Fully customizable
- Doesn't block terminal usage
- Can be positioned anywhere
- No external dependencies
Cons:
- Requires shell scripting knowledge
- May interfere with full-screen terminal applications
- More complex setup
Comparison Table
| Method | Installation | Complexity | Visual Appeal | Terminal Usability |
|---|---|---|---|---|
| Watch Command | None | Easy | Basic | Blocked |
| Background Loop | None | Easy | Minimal | Full |
| Tty-clock | Required | Easy | High | Blocked |
| Clock-tui | Required | Medium | High | Blocked |
| Custom Script | None | Medium | Customizable | Full |
Advanced Tips and Tricks
Combine with Tmux Status Bar
If you use tmux, add the time to your status bar in ~/.tmux.conf:
set -g status-right '#[fg=yellow]%Y-%m-%d %H:%M:%S'
Use Figlet for ASCII Art Clock
Install figlet:
sudo apt install figlet
Display large ASCII time:
watch -t -n1 "date +%T | figlet -f big"
Color Customization
Most methods support color codes. Common ANSI color codes:
\e[31m- Red\e[32m- Green\e[33m- Yellow\e[34m- Blue\e[35m- Magenta\e[36m- Cyan\e[39m- Default
Create an Alias
Add to your shell configuration:
alias clock='watch -n 1 -t date +%T'
alias bigclock='tty-clock -c -s -C 2'
Troubleshooting Common Issues
Clock Not Updating
Problem: The clock displays but doesn't update.
Solution: Check if the sleep interval is set correctly. Ensure your system's date command is functioning:
date
Background Process Won't Stop
Problem: Cannot kill the background clock process.
Solution: Find and kill the process:
ps aux | grep "while true"
kill -9 [PID]
Terminal Title Not Showing Clock
Problem: Title bar clock doesn't appear.
Solution: Some terminal emulators don't support ANSI escape sequences. Try a different emulator or use an alternative method.
Tty-clock Not Installing
Problem: Package not found in repository.
Solution: On older distributions, compile from source:
git clone https://github.com/xorg62/tty-clock.git
cd tty-clock
make
sudo make install
Performance Considerations
Running a continuous clock process uses minimal system resources, but here's what to expect:
- CPU Usage: Typically less than 0.1% on modern systems
- Memory: Usually under 2MB for simple loops, 5-10MB for GUI clocks
- Battery Impact: Negligible on laptops
For maximum efficiency, use the background loop method rather than full-screen clock applications.
Security and Privacy Notes
When adding scripts to your shell configuration, always:
- Review the code before execution
- Use trusted sources for installation
- Avoid running clock scripts with sudo privileges
- Be cautious with scripts that access network time servers
Conclusion
Adding a live clock to your terminal is a simple yet effective way to enhance your command-line experience. Whether you prefer the minimalist approach of the watch command, the visual appeal of tty-clock, or the flexibility of custom scripts, there's a solution for every workflow.
Quick Recommendations:
- For beginners: Start with the watch command
- For aesthetics: Use tty-clock or clock-tui
- For productivity: Implement the background loop in title bar
- For customization: Create your own bash script
Try different methods to find what works best for your setup. Most importantly, enjoy your more efficient and stylish terminal environment!
Frequently Asked Questions
A: Yes, use the TZ environment variable:
watch -n 1 "echo 'Local: $(date +%T)'; TZ='America/New_York' date '+EST: %T'; TZ='Europe/London' date '+GMT: %T'"
A: For Windows, use WSL (Windows Subsystem for Linux) or Git Bash. Native cmd.exe and PowerShell have different implementations.
A: The impact is negligible. A simple clock loop uses minimal CPU and memory resources.
A: Yes, add your preferred method to ~/.bashrc (Bash) or ~/.zshrc (Zsh) to auto-start on every new terminal.
A: Set the TZ environment variable:
TZ='UTC' date
