Autostart jar no modo sem cabeça via rc.local

1

O que eu quero realizar

Eu quero iniciar um jar de Java toda vez que eu fizer login / o pc for iniciado. Por isso estou usando o rc.local. Eu o reativei, para que ele execute os scripts em /etc/rc.local on start (testei, o serviço funciona muito bem).

O problema

Eu quero lançar o jar, estou recebendo um HeadlessException ou Exception in thread "main" java.awt.AWTError: Can't connect to X11 window server using ':0.0' as the value of the DISPLAY variable.

Estou usando o seguinte script (conteúdo de rc.local)

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

java -jar -Djava.awt.headless=false /home/myusernamehere/path/to/jar/theJar.jar
exit 0

Quando eu removo o -Djava.awt.headless=false paramaeter, recebo o HeadlessException.

Então, como consertar isso? Existe outra boa maneira de iniciar um jar ( como usuário root ) no início do sistema?

Algumas outras especificações

  • Versão do Ubuntu: 16.10
  • Versão do Java: versão openjdk "1.8.0_111"

Relacionados e coisas que eu tentei

  • link (já instalado jdk "correto")
  • Definir o parâmetro headless como true - > O jar joga HeadlessException
por manniL 23.12.2016 / 21:14

0 respostas