Your company here — click to reach over 10,000 unique daily visitors

apple2 - Man Page

Apple ][ display emulator


apple2 [--display host:display.screen] [--foreground color] [--background color] [--window] [--root] [--window-id number][--mono] [--install] [--visual visual] [--program command to run] [--basic] [--slideshow] [--text] [--meta] [--esc] [--bs] [--del] [--fast] [--fps]


The apple2 program simulates an original Apple ][ Plus computer in all its 1979 glory. It also reproduces the appearance of display on a color television set of the period.

There are 3 modes: basic, slideshow, and text. Normally it chooses a mode randomly, but you can override with the --basic, --slideshow, or --text options.

In basic mode a simulated user types in a Basic program and runs it.

In slideshow mode it chooses a number of images from the image source you configured into XScreenSaver and displays them within the limitations of the Apple ][ display hardware. With only 6 available colors, you can only make out the general shape of the pictures.

In text mode it displays the output of a command or the contents of a file or URL (via the default xscreensaver-text(6x) program, which can be overridden with --program).

In text mode, it is also a fully functional (if anachronistic) vt100 terminal emulator.


apple2 accepts the following options:


Draw on a newly-created window.  This is the default.


Draw on the root window.

--window-id number

Draw on the specified window.


If on a color display, pretend we're on a monochrome display.


Install a private colormap for the window.

--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.


Choose basic mode


Choose slideshow mode


Choose text mode

--program sh-command

In text mode, the command to run to generate the text to display. This option may be any string acceptable to /bin/sh. The program will be run at the end of a pipe, and any characters that it prints to stdout will be printed on the Apple ][ display. If the program exits, it will be launched again after 3 seconds.  Default: xscreensaver-text(6x).

In text mode, apple2 emulates a vt100 terminal running on a 40x24 uppercase-only screen.

For example:

  apple2 --text --program 'ping apple.com'
  apple2 --text --program 'ps -e'
  apple2 --text --program 'od -txCz -w7 /dev/urandom'
  apple2 --text --program 'cat /dev/random'
  apple2 --text --fast --program 'emacs -nw -q -f life'
  apple2 --text --fast \
         --program 'emacs -nw -q --eval "(hanoi 5)"'

You can also use apple2 as an extremely lo-fi replacement for the xterm(1) and gnome-terminal(1) terminal emulators:

  apple2 -text -fast -program tcsh

In --text mode, launch the sub-program under a pty so that it can address the screen directly.  This is the default.


In --text mode, launch the sub-program at the end of a pipe:  do not let it address the screen directly.


When the user types a key with the Alt or Meta keys held down, send an ESC character first.  This is the default.


When Meta or Alt are held down, set the high bit on the character instead.


Swap Backspace and Delete.  This is the default.


Do not swap Backspace and Delete.


Normally, characters are printed at the speed of an original Apple][ computer; however, when using this program as a terminal emulator, the novelty of those 300 baud characters might wear off.  You can use the --fast option to speed things up a bit.


Display the current frame rate and CPU load.

Terminal Emulation

By default, apple2 allocates a pseudo-tty for the --text-mode sub-process to run under.  This has the desirable side effect that the program will be able to use ioctl(2) to fetch information about terminal parameters and window size, which many programs (such as top(1)) need to run properly. apple2 will also set the environment variable TERM to vt100 in the child process.

Any characters typed on the apple2 window will be passed along to the sub-process.  (Note that this only works when running in "window" mode, not when running in --root mode under xscreensaver.)



to get the default host and display number.


to get the name of a resource file that overrides the global resources stored in the RESOURCE_MANAGER property.


The window ID to use with --root.


to inform the sub-process of the type of terminal emulation.

X Resources

Notable X resources supported include the following which correspond to standard TV controls: analogTVTint, analogTVColor, analogTVBrightness, and analogTVContrast which correspond to standard TV controls. They range from 0 to 100,except for tint which is an angle between -180 and +180.


Apple ][ and Applesoft are trademarks of Apple Computer.

See Also

xscreensaver(1), bsod(6x), xscreensaver-text(6x), fortune(1), phosphor(6x), starwars(6x), ljlatest(6x), dadadodo(1), webcollage(6x), driftnet(1) EtherPEG, EtherPeek, console_codes(4).


Television and Apple ][ emulation by Trevor Blackwell <tlb@tlb.org>. Slideshow and text mode by Jamie Zawinski <jwz@jwz.org>. Pty and vt100 emulation by Fredrik Tolf <fredrik@dolda2000.com>.


6.09-1.fc41 (11-Jun-2024) X Version 11 XScreenSaver manual