
Lead Image © Lucy Baldwin, 123RF.com
Next-generation terminal UI tools
Cursed Monitor
The venerable curses [1] library first enabled plotting graphics on a Unix terminal, allowing the emergence of dynamic, interactive tools such as top
[2] and its brood of descendants to improve greatly the ability to monitor a system's state continuously. The transition from static tables of numbers to charts and sometimes even dynamic data representations was followed by new implementations of terminal user interface (TUI) libraries, including Ncurses [3] and Newt [4]. Jeff Layton has previously graced these pages with a tutorial on how TUI tools are developed today [5], and yours truly followed in the next issue with a survey of network monitoring tools adopting in-terminal graphics [6]. Two years later, I revisit the subject to witness the impressive improvement of the state of the art taking place since.
Not Your Father's Curses
The bashtop
[7] utility is one of the most remarkable new entrants – so much so it has been featured by the likes of Forbes
magazine [8], hardly what I would call conventional treatment for a Linux utility. Originally written in Bash (hence its name), it was re-implemented in Python [9] last year, reducing its CPU consumption by two-thirds and simultaneously improving speed and extending functionality. A third rewrite, this time in C++, is in progress at the time of this writing. The performance enhancements are welcome for administrators who leave the
Buy this article as PDF
(incl. VAT)
Buy ADMIN Magazine
Subscribe to our ADMIN Newsletters
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Most Popular
Support Our Work
ADMIN content is made possible with support from readers like you. Please consider contributing when you've found an article to be beneficial.
