Man Linux: Main Page and Category List


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


       detachtty    [--no-detach]    [--dribble-file  dribblename]     [--log-
       file  name]  [--pid-file  pidname]  socket-path  command [arguments-to-
       attachtty /var/run/cliki-socket
       attachtty username@f.q.d.n:/var/run/cliki-socket


       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

       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

        * 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


       These programs approximately follow the usual GNU command line  syntax,
       using  long  options that start with two dashes (‘--’).  For detachtty,
       the options are

              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

              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

       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


       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.


       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


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


       Written by Daniel Barlow <>, and a cast of units.

                                 May 31, 2001                     DETACHTTY(1)