BLINKENLIGHTS(1)
π BLINKENLIGHTS π
okay bestie, welcome to blinkenlights(1) β it's part of the User Contributed Perl Documentation squad, and it's genuinely one of the most iconic little tools in the DNSSEC-Tools universe. let's get into it π¦
β¨ NAME β¨
blinkenlights β the DNSSEC-Tools rollerd GUI. that's the whole vibe. π
β¨ SYNOPSIS β¨
blinkenlights <rollrec-file>
β¨ DESCRIPTION β¨
so blinkenlights is a GUI tool, and its whole job is helping you monitor and control the DNSSEC-Tools rollerd program. it shows you what's going on with the zones rollerd is managing, and you can also poke at some aspects of rollerd's execution using blinkenlights menu commands. it's giving β¨mission controlβ¨.
blinkenlights pops open a window and displays info about every zone rollerd is managing β and no cap, "every zone" here means the zones in rollerd's current rollrec file. when a zone's rollover status changes, blinkenlights updates that zone's display. and skipped zones β which are zones listed in the rollrec file but which are not in rollover or normal operation β do get displayed, but there's very little useful info to show for them, so don't expect much. π
you can also pick a set of zones to hide from the display. heads up though: if those zones are in the rolling state, they'll keep rolling regardless β you're just hiding their zone info, not stopping anything. and the display state for each zone persists across blinkenlights executions, so your hiding choices stick around. π«Ά
there are menu commands for controlling rollerd too. the commands that operate on a single zone can be fired off with keyboard shortcuts, and you select the zone either by clicking in its "zone stripe" or by choosing from a dialog box. display and execution options for blinkenlights also live in the menu commands. more deets on all of that are down in the MENU COMMANDS section.
π real talk:blinkenlightsis only intended to be started byrollerd, not directly by a user. there are exactly two ways to makerollerdstart it: first,rollctlmay be given the-displayoption. second, the-displayoption may be given onrollerd's command line. that's it, that's the door.
β¨ OPTIONS β¨
blinkenlights takes the following options, bestie:
-displayβ tellsrollerdto executeblinkenlightsas a child process. πΌ-maxzonesβ tellsblinkenlightshow many zones to display.-Versionβ displays the version information forblinkenlightsand the DNSSEC-Tools package. β-helpβ displays a usage message and exits. bye π
β¨ SCREEN LAYOUT β¨
the blinkenlights window is laid out as a series of "stripes". the top stripe has status info about rollerd, the second stripe has the column headers, and the bulk of the window is zone stripes. here's the breakdown, stripe by stripe:
π¨ check the WINDOW COLORS section for the whole discussion of the colors used for the zone stripes.
rollerdinformation stripe β this one holds five pieces of info:rollerd's current rollrec file, the count of rolling zones, the count of skipped zones, the count of zones to be displayed, and the amount of timerollerdwaits between processing its queue. and coincidentally π that last datum is also the amount of time betweenblinkenlightsscreen updates. two for one, slay.- column headers stripe β holds the column headers for the columns of each zone stripe.
- zone stripes β every zone managed by
rollerd(i.e., every zone in the current rollrec file) gets a zone stripe describing that zone's current state. each stripe is divided into three sections: zone identification, the current rollover state, and the zone's DNSSEC keys.- the zone identification section contains the name of the zone, the name of the zone's rollrec entry, and the zone's zonegroup.
- the rollover state section contains the rollover phase number, a text explanation of the phase, and the amount of time remaining in that rollover phase. when the zone isn't currently in rollover, that phase explanation is literally just
"normal operation". - the DNSSEC key section has two subsections β one for the zone's ZSK keys and another for the zone's KSK keys. each subsection contains the names of the signing sets active for the zone. the ZSK subsection lists the Current, Published, and New ZSK keys; the KSK subsection lists the Current and Published. π
π¨ again: see the WINDOW COLORS section for the colors used for the zone stripes.
β¨ WINDOW COLORS β¨
the default blinkenlights configuration uses window coloring to give you visual cues and to help you tell zone info apart at a glance. in the default behavior, each zone stripe gets its own color, and the rollover state section of each zone stripe is shaded to show the zone's phase. you can turn window coloring off (and back on) with configuration options and menu commands. π
π¨ Color Usage
the two window coloring behaviors, explained fully:
- zone stripe colors β each rolling zone's stripe gets one of three colors: blue, red, or green. the color is assigned on a top-down basis and the colors wrap if there are more than three zones. so the first zone is always blue, the second zone red, the third zone green, the fourth zone blue, etc. π
- the colors do not stay with a particular zone. if a rolling zone becomes a skipped zone, the zone stripes get reassigned new colors to account for that skipped zone.
- skipped zones are not colored with those three colors. their stripes are colored either grey or a color set in the configuration file. if you choose to use a non-standard color for skipped zones, you should make sure it's not one of the colors used for rolling zones' stripes. modifying the
skipcolorconfiguration field is how you change the skipped-zone color. - the
colorsconfiguration field can turn on or off the use of colors for zone stripes. if stripe coloring is turned off, then every stripe is displayed using theskipcolorcolor.
- rollover-state shading β the only portion of a zone stripe that changes color is the status column; the rest of the zone stripe stays the same color throughout. before a zone enters rollover, the status column is the same color as the rest of the stripe. when the zone enters rollover, the status column's color changes to a very light shade of the stripe's normal color. as the rollover phases progress toward rollover completion, the status column's shade darkens. once rollover completes, the status column returns to the same shade as the rest of that stripe. it's giving a lil glow-up that fades back down. π
- the
shadingconfiguration field turns on or off the use of shading in the rollover-state column. if shading is turned off, then the zone stripe is a solid color. - see the CONFIGURATION FILE section for info on setting the configuration fields.
- the
π¨ Colors Used
the color names come from the X11 rgb.txt file (X11 1.1.3 - XFree86 4.4.0 for MacOS X). if these aren't available in your rgb.txt file, similar names should be selected. the actual red/green/blue values used are given below to help you find suitable replacements β these values were taken from the rgb.txt file.
Blue Shades:
blue 0 0 255
lightblue2 178 223 238
darkslategray1 151 255 255
skyblue1 135 206 255
steelblue1 99 184 255
turquoise1 0 245 255
cornflower blue 100 149 237
dodger blue 30 144 255
Red Shades:
red 255 0 0
pink 255 192 203
lightsalmon1 255 160 122
tomato 255 99 71
indianred 205 92 92
violetred1 255 62 150
orangered1 255 69 0
firebrick1 255 48 48
Green Shades:
green 0 255 0
darkseagreen1 193 255 193
darkolivegreen1 202 255 112
lightgreen 144 238 144
seagreen1 84 255 159
spring green 0 255 127
greenyellow 173 255 47
lawngreen 124 252 0
β¨ MENU COMMANDS β¨
there are a bunch of menu commands for controlling blinkenlights' behavior and for sending commands to rollerd. let's go through them.
π File Menu
these are the basic GUI commands:
- Halt Rollerd After Current Operations β
rollerd's execution is halted after completing its current set of zone operations. and as a result,blinkenlights' execution is also halted. π - Halt Rollerd Now β
rollerd's execution is halted immediately. as a result,blinkenlights' execution is also halted. heads up: ifrollerd's command queue already contains a set of commands, they may be processed prior to this command. π - Quit β
blinkenlightswill stop execution. simple as that. π
βοΈ Options Menu
these commands control the appearance and behavior of blinkenlights:
- Row Colors (toggle) β a toggle to turn on or off the coloring of zone stripes. if row coloring is turned off, zone stripes will all be the same color. if row coloring is turned on, zone stripes will be displayed in varying colors. see the WINDOW COLORS section for the discussion of row coloring. π
- Status Column Shading (toggle) β a toggle to turn on or off the shading of the zone status column. if shading is turned off, the zone stripes present a solid, unchanging band of color for each zone. if shading is turned on, the color of the zone status column changes according to the zone's rollover state. π
- Skipped Zones Display (toggle) β a toggle to turn on or off the display of skipped zones. if display is turned off, zone stripes for skipped zones will not be displayed. if display is turned on, zone stripes for all zones will be displayed. π
- Status Times Display (toggle) β a toggle to turn on or off the display of status times. if display is turned off, the remaining time for a rollover phase will not be displayed in the
"Status"column. if display is turned on, the remaining times will be displayed. β³ - Modification Commands (toggle) β sometimes you might wanna turn off
blinkenlights' ability to send commands torollerd. this menu item is a toggle for exactly that. if the commands are turned off, then the"ZSK Control"and"KSK Control"menus and their keyboard shortcuts are disabled. if the commands are turned on, then the"ZSK Control"and"KSK Control"menus and their keyboard shortcuts are enabled. π - Font Size
- Font size β this menu item lets you pick the size of the text that shows up in the main window. Normally, changing the font size makes the window grow and shrink like it's supposed to. But on Mac OS X there's apparently a whole problem where if the size you pick makes the window bigger than your screen can hold, the window will justβ¦ not shrink back when you lower the font size again. π It's giving stuck. So yeah, noted, that's a real thing.
- Zones to Display β this menu item lets you choose how many zones get displayed in the main window. Simple as that.
π General Control Menu π
Okay bestie, the commands in this menu are GUI interfaces for the rollctl commands that deal with general zone management. So it's the same energy, just clickable. π«Ά
- Sign Selected Zone β
rollerdis told to sign the selected zone. Heads up: the zone will only be signed, no key rollover happens. That's it, that's the whole vibe. - Sign All Zones β
rollerdis told to sign all the zones it manages. Again, the zone will only be signed; no key rollover will occur. Periodt. - Sign Active Zones β
rollerdis told to sign all the zones it manages, except skipped zones will not be signed. And yep, once more: the zone will only be signed, no key rollover will occur. - Run the Queue β
rollerdgets woken up and runs through its queue of zones. The operation required for each zone then gets performed. Wake up babe, the queue is running. β¨ - Skip Selected Zone β the selected zone gets moved to the skipped state. This only does anything to rolling zones. You select a zone by clicking on its zone stripe. If you pick this command without having selected a zone, a dialog box pops up so you can choose one of the currently rolling zones.
- Skip All Zones β every zone gets moved to the skipped state. No effect on zones that are already skipped. They were already living that life. π
- Restart Selected Skipped Zone β the selected zone gets moved from the skipped state to the roll state. Big detail: the zone re-enters the roll state at the exact same point where it entered the skip state. It does not get moved back to the beginning of either KSK or ZSK rollover. This only does anything to skipped zones. Select a zone by clicking its zone stripe, and if you run this with nothing selected, a dialog box appears so you can pick a currently skipped zone.
- Restart All Skipped Zones β all zones get moved from the skipped state to the roll state. They re-enter the roll state at the same point from which they entered the skip state β not the beginning of either KSK or ZSK rollover. This has no effect on currently rolling zones.
π ZSK Control Menu π
These ones are GUI interfaces for the rollctl commands about ZSK-specific zone management. ZSK stans rise. π
- Roll Selected Zone's ZSK β the selected zone's ZSK gets moved to the rollover state. No effect on zones that are already in rollover. Select a zone by clicking its zone stripe. And if you select this command with no zone selected, a dialog box is displayed from which a currently skipped zone may be chosen.
- Roll All Zones' ZSKs β every zone's ZSK gets moved to the rollover state. No effect on currently rolling zones.
π KSK Control Menu π
And these are the GUI interfaces for the rollctl commands about KSK-specific zone management. KSK main character energy, honestly. π
- DS Published for Selected Zone β this command is how you tell blinkenlights that the selected zone's parent has published a new DS record for the zone. It moves the zone from phase 5 to phase 6 of KSK rollover. Slay.
- DS Published for All Zones β this is how you say that all the zones in KSK rollover phase 5 have new DS records published by their parents. It moves all of those zones from phase 5 to phase 6 of KSK rollover. Zones that aren't in KSK rollover phase 5? Not affected, not invited. π«
- Roll Selected Zone's KSK β the selected zone's KSK gets moved to the rollover state. No effect on zones already in rollover. Click the zone's stripe to select it. If you run this command without a zone selected, a dialog box is displayed from which a currently skipped zone may be chosen.
- Roll All Zones' KSKs β all zones' KSKs get moved to the rollover state. No effect on currently rolling zones.
π Display Menu π
Okay so the commands in this menu are all about controlling what's being displayed. There are commands for showing and hiding zone stripes, columns of key sets, columns of rollrec names, and columns of zonenames. Basically it's your display settings era. π
The zonestripe commands let you display all, some, or none of the zone stripes. Important though: undisplayed rolling zones will keep rolling, they'll just be doing it with zero blinkenlights window indication that it's happening. So like, the drama is still happening, you just can't see it. π
The data column commands let you hide or display individual columns of data. Two rules, no cap: the zone status column may not be hidden, and only one of the rollrec name and zonename columns may be hidden at a time.
- Zone Selection β a dialog box pops up holding a list of the zones
rollerdis currently managing. You click a zone's checkbox to pick whether it should be displayed. Checkbox selected = displayed, checkbox not selected = not displayed. Easy. - Display All Zones β all zones get displayed in the blinkenlights window.
- Hide All Zones β no zones get displayed in the blinkenlights window. Nobody's home. π
- Rollrec Name (toggle) β a toggle for turning the display of rollrec names on or off. Turn display off and the column holding the rollrec names gets removed from the display, and the display window shrinks. Turn display on and the column holding the rollrec names gets restored, and the display window expands.
When they're displayed, rollrec names will always be the leftmost columns.
- Zone Name (toggle) β a toggle for turning the display of the zone names in a rollrec entry on or off. Turn it off and the column holding the zone names gets removed from the display and the display window shrinks. Turn it on and the column holding the zone names gets restored and the display window expands.
When displayed, the zone name will always be the second-from-left or leftmost column, depending on whether the rollrec name is also being displayed.
- Zonegroup Name (toggle) β a toggle for turning the display of the zonegroup name in rollrec entries on or off. Turn display off and that column gets removed from the display and the display window shrinks. Turn display on and that column gets restored to the display and the display window expands.
When displayed, that column will always be in one of the first through third columns, depending on whether the rollrec name and zone name are also being displayed.
- KSK Sets (toggle) β a toggle for turning the display of KSK signing set names on or off. Turn it off and the columns holding the KSK signing set names and labels get removed from the display and the display window shrinks. Turn it on and the columns holding the KSK signing set names and labels get restored and the display window expands.
When displayed, KSK signing sets will always be the rightmost columns.
- ZSK Sets (toggle) β a toggle for turning the display of ZSK signing set names on or off. Turn it off and the columns holding the ZSK signing set names and labels get removed from the display and the display window shrinks. Turn it on and the columns holding the ZSK signing set names and labels get restored and the display window expands.
When displayed, ZSK signing sets will always be immediately to the right of the zone status column.
- Hide All Keysets β turns off the display of the KSK and ZSK signing set names.
- Show All Keysets β turns on the display of the KSK and ZSK signing set names.
- Refresh Display β refreshes the blinkenlights display. The display will automatically refresh after a certain number of updates, but this command forces it to happen immediately upon invocation. Instant gratification, we love her. β¨
π Help Menu π
The commands in this menu are here to help you out. Bestie support system fr fr.
- Help β displays a window containing help information.
- About Blinkenlights β displays a window containing version information on blinkenlights and DNSSEC-Tools.
π CONFIGURATION FILE π
ok so bestie, you can actually control a bunch of blinkenlights' behavior from configuration files π. Config values can live in the DNSSEC Tools configuration file, or in a more specific rc.blinkenlights. The system-wide blinkenlights config file sits in the DNSSEC-Tools configuration directory and it's named blinkenlights.conf. You can have multiple rc.blinkenlights files hanging around on a system, but only the one in the directory where blinkenlights is actually executed gets used. periodt.
Here's every config value you can set, no cap:
colorsβ turn on/off use of colors on zone stripes π¨fontsizeβ the size of the font in the output windowmaxzonesβ the number of zones to displaymodifyβ turn on/off execution of rollerd modification commandsnoshowβ turn off display of particular columnsshadingβ turn on/off shading of the status columnsshowskipβ turn on/off display of skipped zonesskipcolorβ the background color used for skipped zones
The rc.blinkenlights file is only searched for in the directory where blinkenlights is executed π«Ά. The potential problems that come with this whole setup might cause these blinkenlights-specific config files to get removed in the future. iykyk.
This file is in the "field value" format, where field says which output aspect it is and value defines the value for that field β¨.
Empty lines and comments are ignored π
. Comment lines are lines that start with an octothorpe ('#').
Spaces are not allowed in the configuration values. fr fr.
Choose your skipcolors carefully π. The only foreground color used is black, so your background colors must work well with black.
The noshow command controls display of the various data columns π. The valid values for the command are:
rollrecsβ turn off display of the rollrec names column. This value may not be used with"noshow zonenames".zonenamesβ turn off display of the zonenames column. This value may not be used with"noshow rollrecs".zonegroupsβ turn off display of the zonegroups column.ksksetβ turn off display of the KSK signing set columns.zsksetβ turn off display of the ZSK signing set columns.keysetsβ turn off display of the KSK and ZSK signing set columns.
β¨ REQUIREMENTS β¨
blinkenlights is implemented in Perl/Tk, so both Perl and Perl/Tk have to be installed on your system, bestie. no skipping that step π
π WARNINGS π
blinkenlights has several potential problems that you absolutely must take into account. not me being honest about my own flaws π
development environment
blinkenlights was developed and tested on a single-user system running X11 using a relatively small number of zones. It works fine in this environment, but it has not been run on a system with many users, and not in a situation where the system console hasn't been in use by the blinkenlights user. lowkey a humble-brag, highkey a caveat π«
long-term performance issues
In early tests, the longer blinkenlights runs, the slower the updates become π. This is probably a result of the Tk implementation or the way Tk interfaces with X11. This is pure supposition, though β I'm just guessing, don't quote me.
This performance impact is affected by a number of things, such as the number of zones managed by rollerd and the length of rollerd's sleep interval. Large numbers of zones or very short sleep intervals will increase the possibility of blinkenlights' performance degrading.
This appears to have been resolved by periodically performing a complete rebuild of the screen π§. blinkenlights keeps track of the number of screen updates it makes and rebuilds the screen when this count exceeds a threshold. The threshold is built into blinkenlights and stored in the $paintmax variable. This threshold may be adjusted if there are too many screen rebuilds or if blinkenlights' performance slows too much. Raising the number will reduce the screen rebuilds; lowering the number will (may) increase performance.
display irregularities
If the user modifies the number of zones to be displayed, then sometimes the blinkenlights window gets left in an irregular state π΅βπ«. The requested number of zones are displayed, but there's a large grey void above and below the zone display. This is an occasional problem and will be fixed as time allows. it's giving "we know, we know" π
π COPYRIGHT π
Copyright 2006-2014 SPARTA, Inc. All rights reserved. See the COPYING file included with the DNSSEC-Tools package for details.
πΈ AUTHOR πΈ
Wayne Morrison, tewok@tislabs.com
π SEE ALSO π
bubbles(8),rollctl(8),rollerd(8),zonesigner(8)Net::DNS::SEC::Tools::timetrans(3)Net::DNS::SEC::Tools::keyrec(5),Net::DNS::SEC::Tools::rollrec(5),
and that's a wrap on the whole page bestie π this one's perl v5.42.0, dated 2025-07-23, and it's BLINKENLIGHTS(1) β go forth and make those zone stripes β¨ iconic β¨ π¦π
π
π¦ where this page comes from
- fedora 43: dnssec-tools 2.2.3-30.fc43 Β· LicenseRef-Callaway-BSD
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms