twin(1)                                                                  twin(1)

       twin - a Textmode WINdow environment

       twin [OPTION [...]]

       This manual page uses some parts of /usr/local/share/doc/twin/Tutorial.
       you should look at this file if you need further info.

       Twin creates, draws and manages windows inside a text display.  It
       implements in text mode the same concepts that X11 does in graphics:

       a. draw on some kind of screen (tipically a computer monitor).

       b. allow multiple windows to coexist on the same screen, and draw
       independently on each of them.

       c. talk to external programs (even on other machines) so that the
       programs receive keystrokes, mouse movements, etc. and can send back
       drawing commands.

       Twin runs on the linux console, inside itself, in a twin terminal and on
       X11: it creates a window and draws in it, does not run inside an xterm or
       similar. It can also run on generic text terminals (ttys) using the
       termcap/ncurses driver, but it will work far from optimal.

       -h, --help
              display this help and exit

       -V, --version
              output version information and exit

       -x, --excl
              start display as exclusive

       --nohw start in background without display

              start with the given display (multiple -hw=... allowed)

       Currently known display methods:
               tty[@<tty device>]
               ggi[@<ggi display>]

       ~/.twinrc configuration file for the Twin user interface
       ~/.TwinAuth holds some magic data that clients use to answer the
       challenge received from twin. See Security section.

              Specifies the Twin server to be used.  Twin can create a window on
              another twin server and use it as display.

              Specifies the X11 server to be used.  Twin can create a window on
              an X11 server and use it as display.

       The authorization method currently used vaguely resembles Xauthority: the
       file .TwinAuth in your home directory holds some magic data that clients
       use to answer the challenge received from twin.  If that data is wrong or
       the file doesn't exist, clients can connect to twin only using the unix
       socket (TWDISPLAY=:<something>) so they must run on the same machine as
       twin; remote programs won't be able to connect.  Also, the unix socket is
       set to permissions 600, so only the owner can connect to it (at least on
       Linux it works this way).  The `challenge' is actually an MD5 checksum
       verification: server sends 256 bytes of random data; client does MD5 of
       that data + .TwinAuth and sends MD5 back. If server agrees on MD5, it
       grants connection. This challenge method has an important feature: The
       contents of your .TwinAuth is NEVER transmitted through any socket. So,
       unless your home directory resides on an NFS filesystem, you can be sure
       that noone will be able to find the data contained in your .TwinAuth by
       spying the network between twin and the clients you start. On the other
       hand, the connection between twin and clients is NOT encrypted, so it is
       easy to find out what you type and what you see in the client windows by
       spying the network as above.

       run a twin server, and let it try to autodetect the type of display (X11,
       tty or twin):


       run a twin server, specifying to create an X11 window to use as display:

       twin --hw=X

       Massimiliano Ghilardi <>

                                      0.5.0                              twin(1)