From owner-freebsd-ports@FreeBSD.ORG Fri Nov 18 14:13:21 2011 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C86821065670 for ; Fri, 18 Nov 2011 14:13:21 +0000 (UTC) (envelope-from david@catwhisker.org) Received: from albert.catwhisker.org (m209-73.dsl.rawbw.com [198.144.209.73]) by mx1.freebsd.org (Postfix) with ESMTP id 9EA758FC0C for ; Fri, 18 Nov 2011 14:13:21 +0000 (UTC) Received: from albert.catwhisker.org (localhost [127.0.0.1]) by albert.catwhisker.org (8.14.5/8.14.5) with ESMTP id pAIEDLB8040050; Fri, 18 Nov 2011 06:13:21 -0800 (PST) (envelope-from david@albert.catwhisker.org) Received: (from david@localhost) by albert.catwhisker.org (8.14.5/8.14.5/Submit) id pAIEDKm4040049; Fri, 18 Nov 2011 06:13:20 -0800 (PST) (envelope-from david) Date: Fri, 18 Nov 2011 06:13:20 -0800 From: David Wolfskill To: Kostik Belousov Message-ID: <20111118141320.GV1706@albert.catwhisker.org> References: <20111117194412.GP1706@albert.catwhisker.org> <20111118091146.GZ50300@deviant.kiev.zoral.com.ua> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="B8YbZbqleQryf2nq" Content-Disposition: inline In-Reply-To: <20111118091146.GZ50300@deviant.kiev.zoral.com.ua> User-Agent: Mutt/1.4.2.3i Cc: freebsd-ports@freebsd.org Subject: Re: Support for running xterm within a jail? X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 18 Nov 2011 14:13:22 -0000 --B8YbZbqleQryf2nq Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, Nov 18, 2011 at 11:11:46AM +0200, Kostik Belousov wrote: > ... > I am sure that the issue is a misconfiguration of the jail or attempt to > start xterm from the process that has no control terminal. For jail > misconfiguration, I mean either failure to properly mount devfs into > the jail /dev, or a rule that hides /dev/tty from the jail. >=20 > I use very similar configuration (32bit stable/8 jail on amd64 stable/9 > kernel) and have no issues starting xterm. >=20 > That said, you should diagnose the issue further, otherwise I think the > patch is unneccessary. I appreciate that, but admit that I'm not especially familiar with working with jails. i also admit that the use case is one that strikes me as perverse, in that I would expect someone to run an xterm locally. In the case in question, the folks encountering the problem do not have local X servers; they use MS Windows (with which I am almost completely unfamiliar -- and in which I have no interest) on their desktops. As I type, I am logged in to my desktop machine at work remotely (from home, in another xterm). From that xterm, I can run (e.g.): dwolf-bsd(8.2-S)[10] ssh -Yfn dwolf-bsd xterm -T testing and get a new xterm up, running on my desktop with DISPLAY set to a value that will allow me to run other X clients from it. This is the functionality that is wanted. If, instead, I do something similar to one of our older build machines: dwolf-bsd(8.2-S)[11] ssh -Yfn dwolf.svl-lb xterm -T testing I get a similar result -- an xterm running on the build machine with DISPLAY set so I could run other X clients (e.g., emacs). If I do the same for one of the jails: dwolf-bsd(8.2-S)[12] ssh -Yfn svl-jail xterm -T testing dwolf-bsd(8.2-S)[13] xterm: Error 14, errno 2: No such file or directory Reason: spawn: open() failed on /dev/tty If I use ssh & login to the jail: dwolf-bsd(8.2-S)[13] ssh -Y svl-jail =2E.. svl-jail(7.1-R)[1]=20 I can manually fire off xterm because /dev/tty exists and I am already running an X server locally: svl-jail(7.1-R)[1] ls -lTio /dev/tty 135 crw--w---- 1 dwolf tty - 0, 135 Nov 18 05:59:58 2011 /dev/tty But if I terminate that connection, then try to perform that "ls" command (as the only thing I want ssh to do for me), that only works if I include the "-t" on the ssh invocation. So if I try adding -t when I try to start the remote xterm, I see: dwolf-bsd(8.2-S)[17] ssh -Ytfn svl-jail xterm -T testing Pseudo-terminal will not be allocated because stdin is not a terminal. dwolf-bsd(8.2-S)[18] xterm: Error 14, errno 2: No such file or directory Reason: spawn: open() failed on /dev/tty So I think it's apparent that we don't have a case where /dev/tty is never available, but I don't know how to make it show up for the intended use case. And there already exists code in xterm to ignore the ENOENT case for CygWin, so it seems that there really isn't much of a reason to treat ENOENT on /dev/tty as a fatal error for xterm invocation. Further, applying the patch in question does provide the desired functionality. If you (or anyone else) could provide some clues as to where to direct my attention, that would be wonderful. (In the mean time, upstream xterm developer has agreed to make the change for xterm-277, and ehaupt@ has updated the x11/xterm port to include the patch, pending xterm-277.) Peace, david --=20 David H. Wolfskill david@catwhisker.org Depriving a girl or boy of an opportunity for education is evil. See http://www.catwhisker.org/~david/publickey.gpg for my public key. --B8YbZbqleQryf2nq Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.18 (FreeBSD) iEYEARECAAYFAk7GaAAACgkQmprOCmdXAD3f6wCcDk7wr4A3dD5bWNDyNgAn6aHK 8OYAn2P+VPeFbuOBSoSLmZIVJk2ky2XW =/eAh -----END PGP SIGNATURE----- --B8YbZbqleQryf2nq--