Hack 6 Get Your Daily Dose of Trivia


figs/beginner.gif figs/hack6.gif

Brighten your day with some terminal eye candy.

As the saying goes, all work and no play makes Jack a dull boy. But what's a poor Jack or Jill to do if your days include spending inordinate amounts of time in front of a computer screen? Well, you could head over to http://www.thinkgeek.net/ to stock up on cube goodies and caffeine. Or, you could take advantage of some of the entertainments built into your operating system.

1.7.1 A Fortune a Day

Let's start by configuring some terminal eye candy. Does your system quote you a cheery, witty, or downright strange bit of wisdom every time you log into your terminal? If so, you're receiving a fortune:

login: dru Password: Last login: Thu Nov 27 10:10:16 on ttyv7 "You can't have everything. Where would you put it?"                 -- Steven Wright

If you're not receiving a fortune, as the superuser type /stand/sysinstall. Choose Configure, then Distributions, and select games with your spacebar. Press Tab to select OK, then exit out of sysinstall when it is finished.

Then, look for the line that runs /usr/games/fortune in your ~/.cshrc file:

% grep fortune ~/.cshrc /usr/games/fortune

If for some reason it isn't there, add it:

% echo '/usr/games/fortune' >> ~/.cshrc

Don't forget to use both greater-than signs; you don't want to erase the contents of your .cshrc file! To test your change, use the source shell command, which re-executes the contents of the file. This can come in handy if you've updated an alias and want to take advantage of it immediately:

% source ~/.cshrc Indifference will be the downfall of mankind, but who cares?

If you'd also like to receive a fortune when you log out of your terminal, add this line to the end of your .logout file. If you don't have one, and there isn't one by default, you can create it and add this line in one step:

% echo '/usr/games/fortune' > ~/.logout

Note that this time I used only one greater-than sign, as I was creating the file from scratch. If the file already exists, use two greater-than signs to append your new line to the end of the existing file.

Believe it or not, fortune comes with switches, some of which are more amusing than others. I'll leave it to you to peruse man fortune.

1.7.2 Pursuing Trivia

I'm a trivia buff, so I love using the calendar command. Contrary to logic, typing calendar won't show me this month's calendar (that's the job of cal). However, I will get an instant dose of trivia, related to the current date:

% calendar Nov 27         Alfred Nobel establishes Nobel Prize, 1895 Nov 27         Friction match invented, England, 1826 Nov 27         Hoosac Railroad Tunnel completed, 1873, in NW Massachusetts Nov 28         Independence Day in Albania and Mauritania Nov 28         Independence from Spain in Panama Nov 28         Proclamation of the Republic in Chad Nov 27         Jimi Hendrix (Johnny Allen Hendrix) is born in Seattle, 1942

Cool. I had forgotten it was the anniversary of the Hoosac tunnel, an event that put my hometown on the map.

It's an easy matter to automate the output provided by calendar. If you want to see your trivia when you log in or log out, simply add a line to your .cshrc or .logout file. Because the line you add is really just a path to the program, use the output of the which command to add that line for you:

% echo `which calendar` >> .cshrc

Again, don't forget to append with >>, or have noclobber set in your .cshrc file [Hack #2].

1.7.3 Sundry Amusements

Of course, there are several other date and time related mini-hacks at your disposal. Here are two you might enjoy.

1.7.3.1 The current time

Ever wonder what time it is while you're working on the terminal? Sure, you could use date, but the output is so small and boring. Try this the next time you want to know what time it is:

% grdc

Whoa, you can see that one from across the room. That's not a bad idea if you want to send your cubicle buddy a hint.

I've been known to add /usr/games/grdc to my ~/.logout. When I log out, my terminal displays the time until I press Ctrl-c and log in again. That's sort of a built-in password protected screen saver for the terminal.

1.7.3.2 The phase of the moon

Have you ever read man pom? It has one of the more useful descriptions I've seen:

The pom utility displays the current phase of the moon. Useful for selecting software completion target dates and predicting managerial behavior.

Sounds like Dilbert had a hand in that one. If I add the line /usr/games/pom to my ~/.cshrc, I'll learn a bit about astronomy when I log in:

% pom The Moon is Waxing Gibbous (53% of Full)

There's a one-liner to promote water cooler conversation.

1.7.4 Adding Some Color to Your Terminal

Have you ever tried this command?

% vidcontrol show          0                  8 grey                1 blue             9 lightblue 2 green           10 lightgreen 3 cyan            11 lightcyan 4 red             12 lightred 5 magenta         13 lightmagenta 6 brown           14 yellow 7 white           15 lightwhite

Gee, that reminds me of my old DOS days when I discovered ansi.sys. Yes, your terminal is capable of color and you're looking at your possible color schemes! (It likely looks much more exciting on your terminal, since it's not in color in this book.)

If you see some colors that appeal to you, add them to your terminal. For example, this command will set the foreground color to yellow and the background color as blue:

% vidcontrol yellow blue

Note that you can use only colors 1 through 7 as background colors; you'll receive a syntax error if you try to use colors 8-15 in your background. Try out the various combinations until you find one that appeals to your sense of taste. You can even add a border if you like:

% vidcontrol -b red

These settings affect only your own terminal. If you want, add the desired vidcontrol lines to your ~/.cshrc file so your settings are available when you log into your terminal.

If you have problems finding your cursor, try:

% vidcontrol -c blink

or:

% vidcontrol -c destructive

Changing the cursor affects all virtual terminals on the system. If other users complain about your improvement, this will bring things back to normal:

% vidcontrol -c normal

1.7.5 See Also

  • man fortune

  • man calendar

  • man vidcontrol

  • The games packages, in NetBSD and OpenBSD



BSD Hacks
BSD Hacks
ISBN: 0596006799
EAN: 2147483647
Year: 2006
Pages: 160
Authors: Lavigne

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net