Man Linux: Main Page and Category List

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 /var/run/cliki-socket
       attachtty username@f.q.d.n:/var/run/cliki-socket

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

       attachtty  takes a single argument, which 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.   No  provision  is  made to accept
       password input, so ssh must  be  able  to  make  a  connection  without
       needing it.  See ssh-agent(1)

       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 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), ssh-agent(1), sbcl(1).

AUTHOR

       Written by Daniel Barlow <dan@telent.net>, and a cast of units.

                                 May 31, 2001