DISPLAY
to get the default host and display number.
Display a sonar scope
sonar [--display
host:display.screen]
[--visual
visual]
[--window]
[--root]
[--window-id
number]
[--ping
hosts-or-subnets]
[--ping-timeout
int]
[--delay
usecs]
[--speed
ratio]
[--sweep-size
ratio]
[--font-size
points]
[--team-a-name
string]
[--team-b-name
string]
[--team-a-count
int]
[--team-b-count
int]
[--no-dns]
[--no-times]
[--no-wobble]
[--debug]
[--fps]
This draws a sonar screen that pings (get it?) the hosts on your local network, and plots their distance (response time) from you. The three rings represent ping times of approximately 2.5, 70 and 2,000 milliseconds respectively.
Alternately, it can run a simulation that doesn't involve hosts.
sonar understands the following options:
--visual visual
Specify which visual to use. Legal values are the name of a visual class, or the id number (decimal or hex) of a specific visual.
--window
Draw on a newly-created window. This is the default.
--root
Draw on the root window.
--window-id number
Draw on the specified window.
--ping hosts-or-subnets
The list of things to ping, separated by commas or spaces. Elements of this list may be:
simulationRun in simulation mode instead of pinging real hosts.
Ping the given host.
Ping the given IPv4 address.
subnetPing the local subnet. On systems where we can determine the local network mask, we use that; otherwise, we assume Class C (254 hosts).
subnet/NNPing a different-sized local subnet: e.g., subnet/28 would ping a 4-bit subnet (the nearest 14 addresses). On systems where we can determine the local network mask, we always use that.
Ping an arbitrary other IPv4 subnet. The address specifies the base address, and the part after the slash is how wide the subnet is. Typical values are /24 (for 254 addresses) and /28 (for 14 addresses).
Ping the hosts listed in the given file. This file can be in the format used by /etc/hosts, or it can be any file that has host names as the first or second element on each line. If you use ssh, try this:
sonar -ping $HOME/.ssh/known_hosts
--ping-timeout int
The amount of time in milliseconds the program will wait for an answer to a ping.
--delay int
Delay between frames, in microseconds. Default 20000.
--speed ratio
Less than 1 for slower, greater than 1 for faster. Default 1.
--sweep-size ratio
How big the glowing sweep area should be. Default 0.3.
--font-size points
How large the text should be. Default 10 points.
--no-wobble
Keep the display stationary instead of very slowly wobbling back and forth.
--no-dns
Do not attempt to resolve IP addresses to hostnames.
--no-times
Do not display ping times beneath the host names.
--team-a-name string
In simulation mode, the name of team A.
--team-b-name string
In simulation mode, the name of team B.
--team-a-count int
In simulation mode, the number of bogies on team A.
--team-b-count int
In simulation mode, the number of bogies on team B.
--fps
Display the current frame rate, polygon count, and CPU load.
In ping-mode, the display is a logarithmic scale, calibrated so that the three rings represent ping times of approximately 2.5, 70 and 2,000 milliseconds respectively.
This means that if any the hosts you are pinging take longer than 2 seconds to respond, they won't show up; and if you are pinging several hosts with very fast response times, they will all appear close to the center of the screen (making their names hard to read.)
For this program to be able to ping other hosts, it must have the ability to open ICMP sockets, which requires that it be setuid root. Privileges are disavowed shortly after startup (just after connecting to the X server) so this is believed to be safe:
chown root:root sonar chmod u+s sonar
DISPLAY
to get the default host and display number.
XENVIRONMENT
to get the name of a resource file that overrides the global resources stored in the RESOURCE_MANAGER property.
XSCREENSAVER_WINDOW
The window ID to use with --root.