From owner-freebsd-java@FreeBSD.ORG Thu May 4 22:46:30 2006 Return-Path: X-Original-To: freebsd-java@freebsd.org Delivered-To: freebsd-java@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1417516A400 for ; Thu, 4 May 2006 22:46:30 +0000 (UTC) (envelope-from scott@fishballoon.org) Received: from queue01-winn.ispmail.ntl.com (queue01-winn.ispmail.ntl.com [81.103.221.55]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2F72743D45 for ; Thu, 4 May 2006 22:46:28 +0000 (GMT) (envelope-from scott@fishballoon.org) Received: from aamtaout04-winn.ispmail.ntl.com ([81.103.221.35]) by mtaout02-winn.ispmail.ntl.com with ESMTP id <20060504214123.KBSX29040.mtaout02-winn.ispmail.ntl.com@aamtaout04-winn.ispmail.ntl.com>; Thu, 4 May 2006 22:41:23 +0100 Received: from llama.fishballoon.org ([81.101.128.185]) by aamtaout04-winn.ispmail.ntl.com with ESMTP id <20060504214123.LBIR16086.aamtaout04-winn.ispmail.ntl.com@llama.fishballoon.org>; Thu, 4 May 2006 22:41:23 +0100 Received: from tuatara.fishballoon.org ([192.168.1.6]) by llama.fishballoon.org with esmtp (Exim 4.61 (FreeBSD)) (envelope-from ) id 1FblZZ-000KRf-BB; Thu, 04 May 2006 22:41:21 +0100 Received: (from scott@localhost) by tuatara.fishballoon.org (8.13.4/8.13.4/Submit) id k44LfJ9d001344; Thu, 4 May 2006 22:41:19 +0100 (BST) (envelope-from scott) Date: Thu, 4 May 2006 22:41:18 +0100 From: Scott Mitchell To: Fernan Aguero , freebsd-java@freebsd.org Message-ID: <20060504214118.GA1072@tuatara.fishballoon.org> References: <20060504121812.GA94022@iib.unsam.edu.ar> <20060504123935.GB94022@iib.unsam.edu.ar> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20060504123935.GB94022@iib.unsam.edu.ar> User-Agent: Mutt/1.4.2.1i X-Operating-System: FreeBSD 5.4-STABLE i386 Cc: Subject: Re: java without X11? X-BeenThere: freebsd-java@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting Java to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 04 May 2006 22:46:30 -0000 On Thu, May 04, 2006 at 09:39:35AM -0300, Fernan Aguero wrote: > +----[ To freebsd-java@freebsd.org (04.May.2006 09:18): > | > | Hi! > | > | I was setting up a headless (no X11, no GUI) box and had to > | install java (required by apache-ant and by a java code that > | interacts with an underlying postgresql database). > | > | I want this box to run only the base system (cut down to > | only essential daemons/processes) and one application > | (postgresql + associated perl/java layers). > > [ snipped ] > > | I know that a lot of java apps depend on GUI functionality > | provided by the language, but is this java+X11 a thing that > | cannot be separated? (i.e. X11 is rooted too deep into > | java) or maybe it could be separated and we could have an > | optional WITHOUT_X11 in the various jdk ports? The java binary in diablo-1.5.0_06 doesn't have a load-time dependency on libX11.so or any other X11 libraries, nor libawt.so - I guess the JVM will dlopen() libawt.so if it needs to do any graphical stuff. As proof of concept a simple "Hello, World" Java program compiles and runs just fine on a machine with no X11 libraries installed. I expect any program that didn't use AWT/Swing would work just as well. Interestingly libawt.so doesn't have any direct X11 dependencies either, rather it depends on libmawt.so, of which several different versions exist, in the jre/lib/i386/{xawt,motif21,headless} directories. The xawt and motif21 versions depend on various X11 libraries, but the headless version does not. It looks like setting the java.awt.headless property to true or just having no $DISPLAY will cause the headless libraries to be used. You should be able to use AWT/Swing classes in any way that doesn't require access to a real display - so loading any manipulating images should work, but trying to say open a window will throw a HeadlessException. Cheers, Scott -- =========================================================================== Scott Mitchell | PGP Key ID | "Eagles may soar, but weasels Cambridge, England | 0x54B171B9 | don't get sucked into jet engines" scott at fishballoon.org | 0xAA775B8B | -- Anon