sonar - 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:
- simulation
- Run in simulation mode instead of pinging real hosts.
- hostname
- Ping the given host.
- A.B.C.D
- Ping the given IPv4 address.
- subnet
- Ping the local subnet. On systems where we can determine the local network
mask, we use that; otherwise, we assume Class C (254 hosts).
- subnet/NN
- Ping 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.
- A.B.C.D/NN
- 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).
- filename
- 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.
X(1), xscreensaver(1), ping(8),
ping6(8)
Copyright © 2000-2022 by Jamie Zawinski <jwz@jwz.org>
Copyright © 1998 by Stephen Martin. <smartin@canada.com>
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted without
fee, provided that the above copyright notice appear in all copies and that
both that copyright notice and this permission notice appear in supporting
documentation. No representations are made about the suitability of this
software for any purpose. It is provided "as is" without express
or implied warranty.
Stephen Martin <smartin@canada.com>, 3-nov-1998.
Subnet support, etc. added by Jamie Zawinski, 17-Jul-2000.
Rewritten using OpenGL instead of X11 by Jamie Zawinski,
12-Aug-2008.