问题描述
我有一个基于Java的GUI程序,可以使用以下命令从终端运行该程序:
$ /home/user1/ibg/ibg username=*** password=***
使用上述命令,将显示程序GUI,并自动登录到我的在线帐户,并且我可以使用python脚本通过端口4002与他们的服务器通信,并成功请求数据。没问题。
我想在ubuntu中使用systemd
为上述命令创建服务。我编写的服务文件如下(放在/etc/systemd/system
中):
[Unit]
Description=ibg service
After=network.target
[Service]
Type=simple
Environment=DISPLAY=:0
ExecStart=/home/user1/ibg/ibg username=**** password=****
[Install]
WantedBy=multi-user.target
但是,该服务无法成功运行。
user1@SFO:~$ sudo systemctl status ibg.service
● ibg.service - ibg service
Loaded: loaded (/etc/systemd/system/ibg.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Tue 2020-08-18 22:13:07 PDT; 3s ago
Process: 27951 ExecStart=/home/user1/ibg/ibg username=**** password=**** (code=exited,status=1/FAILURE)
Main PID: 27951 (code=exited,status=1/FAILURE)
Aug 18 22:13:07 SFO ibg[27951]: at java.security.AccessController.doPrivileged(Native Method)
Aug 18 22:13:07 SFO ibg[27951]: at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:854)
Aug 18 22:13:07 SFO ibg[27951]: at java.awt.Toolkit.getEventQueue(Toolkit.java:1734)
Aug 18 22:13:07 SFO ibg[27951]: at java.awt.EventQueue.invokeLater(EventQueue.java:1266)
Aug 18 22:13:07 SFO ibg[27951]: at com.exe4j.runtime.LauncherEngine.handleFailure(LauncherEngine.java:140)
Aug 18 22:13:07 SFO ibg[27951]: at com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:94)
Aug 18 22:13:07 SFO ibg[27951]: at com.install4j.runtime.launcher.UnixLauncher.start(UnixLauncher.java:66)
Aug 18 22:13:07 SFO ibg[27951]: at install4j.ibg.GWClient.main(Unknown Source)
Aug 18 22:13:07 SFO systemd[1]: ibg.service: Main process exited,code=exited,status=1/FAILURE
Aug 18 22:13:07 SFO systemd[1]: ibg.service: Failed with result 'exit-code'.
有人可以帮助我如何找到问题所在吗? status命令不提供无法运行该服务的原因。有什么方法可以获取有关故障的更多信息?使用我创建的服务运行GUI的命令行版本有什么区别?我正在使用与ExecStart
完全相同的命令来运行它。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)