---
name: "apple2"
section: "6x"
platform: "linux"
package: "xscreensaver-data-extra"
version: "6.09+dfsg1-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/apple2/6x"
---

# apple2(6x)

Apple \]\[ display emulator

## NAME

apple2 - Apple \]\[ display emulator

## SYNOPSIS

**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\]

## DESCRIPTION

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.

## OPTIONS

*apple2* accepts the following options:

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

- **--mono**

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

- **--install**

  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.

- **--basic**

  Choose basic mode

- **--slideshow**

  Choose slideshow mode

- **--text**

  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)](/xterm/1.md) and [**gnome-terminal**(1)](/gnome-terminal/1.md) terminal emulators:

  ```

    apple2 -text -fast -program tcsh

  ```

- **--pty**

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

- **--pipe**

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

- **--esc**

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

- **--meta**

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

- **--del**

  Swap Backspace and Delete.  This is the default.

- **--bs**

  Do not swap Backspace and Delete.

- **--fast**

  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.

- **--fps**

  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)](/ioctl/2.md) to fetch information about terminal parameters and window size, which many programs (such as [**top**(1)](/top/1.md)) 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.)

## ENVIRONMENT

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

- **TERM**

  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.

## TRADEMARKS

Apple \]\[ and Applesoft are trademarks of Apple Computer.

## SEE ALSO

[**xscreensaver**(1)](/xscreensaver/1.md), [**bsod**(6x)](/bsod/6x.md), **xscreensaver-text**(6x), **fortune**(1), [**phosphor**(6x)](/phosphor/6x.md), [**starwars**(6x)](/starwars/6x.md), [**ljlatest**(6x)](/ljlatest/6x.md), [**dadadodo**(1)](/dadadodo/1.md), [**webcollage**(6x)](/webcollage/6x.md), [**driftnet**(1)](/driftnet/1.md) **EtherPEG**, **EtherPeek**, [**console\_codes**(4)](/console_codes/4.md).

## COPYRIGHT

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.

## AUTHOR

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