Re: Running wotaskd as root not appserver

David Frank <[email protected]> Fri, 4 Feb 2005 13:40:45 +0100
Newsgroups gmane.comp.web.webobjects.admin
Message-ID <[email protected]>
starting with java 1.4.1. update 1 OS X should support headless  
operation.
try starting your WO-app with -Djava.awt.headless=true
no need for root.

hth,
dave


David Frank
david.frank <at> tiscali.ch
http://home.tiscali.ch/david.frank

On 04.02.2005, at 13:26, John Pollard wrote:

> When deploying on Mac OS X Server, the WO apps are now run as the  
> appserver user.
>
> I have a problem that I have read will be solved by running the WO  
> apps as the root user.
>
> I thought this would be easy by editing  
> /System/Library/StartupItems/WebObjects to comment out the line that  
> supposedly runs the apps as appserver and to uncomment the line that  
> runs them as root. Annoyingly the apps are still run by appserver and  
> I just can't see how.
>
> In the WebObjects startup file, I see:
>
> WOSERVICE="/System/Library/WebObjects/JavaApplications/wotaskd.woa/ 
> Contents/Resources/javawoservice.sh"
>
> which is run like this:
>
> "$WOSERVICE" -appPath "$WOTASKD" >/var/log/webobjects.log 2>&1 &
>
> I know that the WebObjects startup script itself is run by root, I  
> checked. But javawoservice.sh is running under the appserver user; I  
> have no idea how or why.
>
> The problem that causes me to want to run the apps as root is the  
> following error, triggered when I am using a Jasper Reports class - I  
> know this works when the apps are run as root:
>
> java.lang.InternalError: Can't connect to window server - not enough  
> permissions.
>         at java.lang.ClassLoader$NativeLibrary.load(Native Method)
>         at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1473)
>         at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1389)
>         at java.lang.Runtime.loadLibrary0(Runtime.java:788)
>         at java.lang.System.loadLibrary(System.java:832)
>         at  
> sun.security.action.LoadLibraryAction.run(LoadLibraryAction.java:50)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at java.awt.Toolkit.loadLibraries(Toolkit.java:1401)
>         at java.awt.Toolkit.<clinit>(Toolkit.java:1422)
>         at java.awt.Color.<clinit>(Color.java:250)
>         at  
> dori.jasper.engine.base.JRBaseElement.<init>(JRBaseElement.java:109)
>         at  
> dori.jasper.engine.design.JRDesignElement.<init>(JRDesignElement.java: 
> 83)
>         at  
> dori.jasper.engine.design.JRDesignTextElement.<init>(JRDesignTextElemen 
> t.java:108)
>         at  
> dori.jasper.engine.design.JRDesignTextField.<init>(JRDesignTextField.ja 
> va:85)
>         at  
> dori.jasper.engine.xml.JRTextFieldFactory.createObject(JRTextFieldFacto 
> ry.java:98)
>         at  
> org.apache.commons.digester.FactoryCreateRule.begin(FactoryCreateRule.j 
> ava:291)
>         at org.apache.commons.digester.Rule.begin(Rule.java:200)
>         at  
> org.apache.commons.digester.Digester.startElement(Digester.java:1268)
>         at  
> org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1490)
>         at org.apache.crimson.parser.Parser2.content(Parser2.java:1779)
>         at  
> org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1507)
>         at org.apache.crimson.parser.Parser2.content(Parser2.java:1779)
>         at  
> org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1507)
>         at org.apache.crimson.parser.Parser2.content(Parser2.java:1779)
>         at  
> org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1507)
>         at  
> org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:500)
>         at org.apache.crimson.parser.Parser2.parse(Parser2.java:305)
>         at  
> org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:442)
>         at  
> org.apache.commons.digester.Digester.parse(Digester.java:1562)
>         at  
> dori.jasper.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:387)
>         at  
> dori.jasper.engine.xml.JRXmlLoader.load(JRXmlLoader.java:371)
>         at  
> dori.jasper.engine.xml.JRXmlLoader.load(JRXmlLoader.java:339)
>         at  
> dori.jasper.engine.xml.JRXmlLoader.load(JRXmlLoader.java:323)
>         at  
> dori.jasper.engine.JasperCompileManager.compileReportToFile(JasperCompi 
> leManager.java:121)
>         at  
> dori.jasper.engine.JasperManager.compileReportToFile(JasperManager.java 
> :907)
>         at  
> mp.reports.TransactionReport.generateReport(TransactionReport.java: 
> 195)
>         at Session.clientSideRequestTransactionReport(Session.java:251)
>
> Thanks
> John
>
> _______________________________________________
> WebObjects-admin mailing list
> [email protected]
> http://www.omnigroup.com/mailman/listinfo/webobjects-admin
>