Installing Osd_cat in Linux
To install osd_cat in Ubuntu, run the command below:
You can install osd_cat in other Linux distributions by searching for it in the package manager application.
Osd_cat comes with many command line options, it is not possible to cover all use cases here. You can access osd_cat man page by running the command below:
Osd_cat man page is also available online. A few examples are explained below, giving you some idea about usage of osd_cat and its various command line options.
Date and Time
To show a continuously updating date and time HUD, run the command below:
--pos middle --lines 1 --delay 1
The command runs a never ending “while” loop in a terminal and updates output of the “date” command every second. The pipe symbol “ | “ is used to feed output of “date” command into the osd_cat command. The “-lines” switch is used to define the number of lines to display in OSD and the “-delay” switch is used to define the duration of osd_cat command (1 second here). The “–align” and “–pos” switches are used to display the OSD at the horizontal and vertical center of the screen respectively.
To change the font size, use “–font” switch and change its value, as shown in the command below:
--lines 1 --delay 1 --font -*-*-*-*-*-*-28-*-*-*-*-*-*-*
To run an executable binary along with the osd_cat command, use another pipe symbol:
--lines 1 --delay 1 | ./executable_binary
Note that closing the executable binary will not end the “while” loop. You will have to manually end the loop by pressing the <CTRL + C> key in the terminal window where the command was first launched.
If you can see blinking text in OSD, try increasing the value of “–delay” to 2 or more.
CPU and Memory Usage
To display a HUD showing CPU usage every second, use the command below:
| osd_cat --align center --pos middle --lines 1 --delay 2 --font -*-*-*-*-*-*-28-*
-*-*-*-*-*-*
To display a HUD that shows RAM used by the system every second, use the command below:
--align center --pos middle --lines 1 --delay 2 --font -*-*-*-*-*-*-28-*-*-*-*-*-*-*
Crosshair in Games
You can display a small crosshair exactly at the center of the screen using osd_cat. By displaying a single letter exactly at the center of the screen, you can use it as a reticle in FPS Games. Most FPS games display a crosshair at the center of the screen. Whenever a player uses mouselook (moves camera through mouse), the crosshair remains at the center of the screen while the camera or scene moves around. An osd_cat HUD can be used to display a fixed, static reticle at the center of the display. Run the command below to show letter “o” as crosshair:
Note that the crosshair can be slightly off depending upon the game you are playing and the original crosshair style and size. However, it can be easily fixed using “offset” and “indent” switches explained in the “osd_cat” man page. These options can be also used to align crosshair in third person or over the shoulder games, where crosshair may not be exactly at the center.
DualShock Controller Battery Level
You can show the battery level of your DualShock controller as an overlay on any game using osd_cat. Pretty useful if you don’t want to constantly check remaining capacity while playing games. Run the command below to show remaining battery percentage in an osd_cat HUD:
| awk '{print $2}'; sleep 1; done | osd_cat --align center --pos middle --lines 1
--delay 2 --font -*-*-*-*-*-*-28-*-*-*-*-*-*-*
Conclusion
Osd_cat can be customized heavily and you can use it with any command that generates output in the terminal to create a HUD. For instance, you can continuously show an FPS counter in 3D games or you can show useful information in a minimal desktop environment that uses a lightweight window manager like openbox or a tiled window manager like XMonad.