Provided by: detachtty_11.0.0-2_amd64 bug

NAME

       detachtty, attachtty - run an interactive program with io to a unix-domain socket

SYNOPSIS

       detachtty    [--no-detach]    [--dribble-file  dribblename]   [--log-file  name]   [--pid-
       file  pidname] socket-path command [arguments-to-command]...
       attachtty socket-path [command] [timeout]
       attachtty username@host:socket-path [command]

DESCRIPTION

       detachtty lets you  run  interactive  programs  non-interactively,  and  connect  to  them
       (optionally over the network) when you do need to interact with them.  command is run on a
       pseudo-terminal, and data is copied between it and a unix(7)-domain socket  named  socket-
       path.  command runs with the current user's permissions and environment variables.

       attachtty  is  used  to  connect  to a process running under detachtty.  It copies between
       socket-path and stdin/out.  It also catches SIGINT and arranges for it to be forwarded  to
       the command, so the user may use Control-C in the usual fashion.

       If you've used screen, it's a similar concept.  Compared to screen, detachtty has

        * no capability to swap between different screens (it doesn't co-opt C-a)

        * no tty emulation (you can sanely use it in emacs comint modes)

        * no features (less to go wrong)

        * no configuration file

        * ability to spawn ssh to securely connect across the network

OPTIONS

       These  programs approximately follow the usual GNU command line syntax, using long options
       that start with two dashes (`--').

       For detachtty, the options are:

       --no-detach
              Don't fork into the background.  Useful if you  wish  to  start  the  program  from
              inittab(5).

       --dribble-file  dribblename
              All  input  from  and  to  the  program  being  run  is copied into dribblename (if
              unspecified, it is discarded).

       --log-file  name
              Status messages (client  connects,  disconnects,  errors)  are  sent  to  name  (if
              unspecified, they go to standard error).

       --pid-file  pidname
              The process ID of detachtty is written to pidname.  See SIGNALS.

       socket-path
              The  unix-domain  socket.  If access to command should be in any way restricted, so
              should this socket - i.e. it  is  recommended  that  you  put  it  in  a  mode  700
              directory.

       command arguments
              The  command  to  run  (which  is  searched  for in the normal way).  All remaining
              command line parameters are passed to it as arguments.

       For attachtty, the options are instead:

       socket-path
              This  is  either  the  path  to  socket-path,  or  a  "remote  path"  of  the  form
              username@host:socket-path  where username@host is passed to ssh. The latter form is
              currently an alias for ssh -t username@host attachtty socket-path [text]  and  lets
              ssh manage the authentication, i.e. whether to ask for a password or not.

       text   The  text  to  write  into the socket. It will be processed by the command executed
              from detachtty. For local sockets, the same effect can be obtained  with  (echo  -e
              text´\r´; sleep timeout) | attachtty socket-path

       timeout
              The  maximum  timeout in seconds (defaults to 1) to wait for the written text to be
              processed. This is available only for local connections.

       To detach from the tty without exiting from the server process, send attachtty any  signal
       that it doesn't catch.  See the SIGNALS section.

NOTES

       detachtty does not search the user's PATH environment variable for the program to execute,
       so a full pathname must be provided.

       If you get an immediate "Child terminated, exiting" message from detachtty,  this  usually
       means that the program you specified was not found or could not be executed (on Linux 2.4,
       execve(1) succeeds even if it didn't, so to speak).

       You will probably go insane a lot more slowly  if  you  use  absolute  pathnames  for  all
       filename arguments.

SIGNALS

       Sending  SIGHUP  to  the  process  identified by pidname will cause detachtty to close and
       reopen its log files.

       Sending SIGTSTP to an attachtty process (usually from the keyboard with ^Z) will cause  it
       to  stop  itelf,  leaving the server process running.  It can be resumed normally with the
       shell builtin command "fg".

       Sending SIGQUIT to an attachtty process (usually from the keyboard with ^\) will cause  it
       to  detach  from the tty and quit, leaving the server process running.  Sometimes you need
       to press it twice.

SEE ALSO

       screen(1), ssh(1), sbcl(1).

AUTHOR

       Written by Daniel Barlow <dan@telent.net>, and a cast of units.  Modified by Luca  Capello
       <luca@pca.it>.    Modified   by   Mark   Huetsch   <markhuetsch@gmail.com>.   Modified  by
       Massimiliano Ghilardi <massimiliano.ghilardi@gmail.com>.

                                           Mar 18, 2006                              DETACHTTY(1)