Linux Blog


Section: XScreenSaver manual (6)
Updated: 5.04 (13-Nov-2007)
Index Return to Main Contents


apple2 - Apple ][ display emulator  


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


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(1) 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.
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(1).

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

For example:

apple2 -text \
       -program 'cat /usr/src/linux*/README | fold -sw40'
apple2 -text -program 'ping'
apple2 -text -program 'ps -e'
apple2 -text -program 'od -txCz -w7 /dev/urandom'
apple2 -text -program 'cat /dev/random'
apple2 -text -fast -program 'xemacs -nw -q -f life'
apple2 -text -fast \
       -program 'xemacs -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.


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.
to inform the sub-process of the type of terminal emulation.


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.



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


Copyright © 2002-2003 by Trevor Blackwell. 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.  


Television and Apple ][ emulation by Trevor Blackwell <>. Slideshow and text mode by Jamie Zawinski <>. Pty and vt100 emulation by Fredrik Tolf <>.




Random Man Pages: