1

I'm using the AUR davmail package that comes with a systemctl script, similar to the one found here.

Unfortunately it doesn't work.

⚘ systemctl --user status davmail@wayne.service                                                                                                                                                                                                                                       9:44:58
● davmail@wayne.service - DavMail for wayne
   Loaded: loaded (/usr/lib/systemd/user/davmail@.service; enabled; vendor preset: enabled)
   Active: inactive (dead) since Wed 2016-04-06 09:44:55 CDT; 4s ago
  Process: 9794 ExecStart=/usr/bin/davmail %h/.config/davmail/%i.properties (code=exited, status=0/SUCCESS)
 Main PID: 9794 (code=exited, status=0/SUCCESS)

Apr 06 09:44:54 arglefraster davmail[9794]:         at java.awt.EventQueue$3.run(EventQueue.java:703)
Apr 06 09:44:54 arglefraster davmail[9794]:         at java.security.AccessController.doPrivileged(Native Method)
Apr 06 09:44:54 arglefraster davmail[9794]:         at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
Apr 06 09:44:54 arglefraster davmail[9794]:         at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
Apr 06 09:44:54 arglefraster davmail[9794]:         at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
Apr 06 09:44:54 arglefraster davmail[9794]:         at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
Apr 06 09:44:54 arglefraster davmail[9794]:         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
Apr 06 09:44:54 arglefraster davmail[9794]:         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
Apr 06 09:44:54 arglefraster davmail[9794]:         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
Apr 06 09:44:54 arglefraster davmail[9794]:         at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

When I try to run the same command that ExecStart uses:

⚘ /usr/bin/davmail /home/wayne/.config/davmail/wayne.properties                                                                                                                                                                                                                       9:54:11
Exception in thread "SWT" org.eclipse.swt.SWTError: No more handles [gtk_init_check() failed]
    at org.eclipse.swt.SWT.error(Unknown Source)
    at org.eclipse.swt.widgets.Display.createDisplay(Unknown Source)
    at org.eclipse.swt.widgets.Display.create(Unknown Source)
    at org.eclipse.swt.graphics.Device.<init>(Unknown Source)
    at org.eclipse.swt.widgets.Display.<init>(Unknown Source)
    at org.eclipse.swt.widgets.Display.<init>(Unknown Source)
    at davmail.ui.tray.SwtGatewayTray$5.run(SwtGatewayTray.java:217)
Exception in thread "AWT-EventQueue-0" java.awt.HeadlessException:
No X11 DISPLAY variable was set, but this program performed an operation which requires it.
    at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:204)
    at java.awt.Window.<init>(Window.java:536)
    at java.awt.Frame.<init>(Frame.java:420)
    at java.awt.Frame.<init>(Frame.java:385)
    at javax.swing.JFrame.<init>(JFrame.java:189)
    at davmail.ui.tray.FrameGatewayTray.createAndShowGUI(FrameGatewayTray.java:272)
    at davmail.ui.tray.FrameGatewayTray$8.run(FrameGatewayTray.java:195)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
    at java.awt.EventQueue.access$500(EventQueue.java:97)
    at java.awt.EventQueue$3.run(EventQueue.java:709)
    at java.awt.EventQueue$3.run(EventQueue.java:703)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

I would really love to be able to actually run davmail without requiring a GUI (most notably because my Xorg ends out thrashing the CPU, but that's a different question). I've done some Googling around, to no avail (and davmail --help apparently isn't a command).

How can I get davmail working without an X display?

Wayne Werner
  • 11,713

1 Answers1

1

It sounds like you didn't set davmail.server=true in davmail.properties to tell it it's supposed to be headless.

See DavMail Setup as a standalone server.

cjm
  • 27,160
  • Ugh. I actually found this today and added it... but it turns out I had a second occurence in my properties file. grep server ~/.davmail.properties showed me that I was setting it to true at the top and later it was being set to false. Doh! – Wayne Werner Apr 06 '16 at 18:43