Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
DETACHTTY(1)		    General Commands Manual		  DETACHTTY(1)

       detachtty, attachtty - run an interactive program with io to a unix-do-
       main 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 con-
       nect 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 be-
       tween  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, de-
       tachtty 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 drib-
	      blename (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 argu-

       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	 pass-
       word  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  de-
       tachtty,	 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 path-
       names for all filename arguments.

       Sending SIGHUP to the process identified	 by  pidname  will  cause  de-
       tachtty 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)


Want to link to this manual page? Use this URL:

home | help