vhclient service dies unexpectly on ubuntu 18.04

i am just settling a client ubuntu workstation for connecting a remote usb server on a raspberry. The raspberry owns a purchased license.

i create a systemd service file
#-------------
[Unit]
Description=VirtualHere USB Sharing
Requires=avahi-daemon.service
After=avahi-daemon.service
[Service]
ExecStartPre=/bin/sh -c 'logger VirtualHere settling...;sleep 1s;logger VirtualHere settled'
ExecStart=/usr/sbin/vhclientx86_64 -n -c /etc/virtualhere.ini
Type=idle
[Install]
WantedBy=multi-user.target
#-----------

the service starts
#----------
Sep 1 10:46:23 lnmon VirtualHere Client: VirtualHere Client 4.5.7 starting (Compiled: Aug 17 2018 19:56:53)
Sep 1 10:46:23 lnmon VirtualHere Client: Using config at /etc/virtualhere.ini
Sep 1 10:46:23 lnmon VirtualHere Client: IPC available at /tmp/vhclient
Sep 1 10:46:23 lnmon VirtualHere Client: VirtualHere Client is running as a service
Sep 1 10:46:23 lnmon VirtualHere Client: Auto-find using Bonjour - on
Sep 1 10:46:23 lnmon VirtualHere Client: Auto-find using Bonjour SSL - on
Sep 1 10:46:24 lnmon VirtualHere Client: Auto-find using Bonjour SSL - off
Sep 1 10:46:24 lnmon VirtualHere Client: Auto-find using Bonjour - off
Sep 1 10:46:24 lnmon VirtualHere Client: Connection 1 remotely disconnected gracefully (rx)
#------------

I can send one or two commands, afterwards the service dies
#-----------
Sep 1 10:47:53 lnmon systemd[1]: virtualhere.service: State 'stop-sigterm' timed out. Killing.
Sep 1 10:47:53 lnmon systemd[1]: virtualhere.service: Killing process 14569 (vhclientx86_64) with signal SIGKILL.
Sep 1 10:47:53 lnmon systemd[1]: virtualhere.service: Failed with result 'timeout'.
#-----------

there was also segfaults logged

#-------------
Sep 1 10:42:49 lnmon kernel: [67110.959846] vhclientx86_64[14292]: segfault at 7f2101b55b3c ip 000000000073deb2 sp 00007ffc503f7e70 error 4
#-------------

Up to now, there is now device connected.

How to make it stable?

Thomas

#2

You are daemonizing the client, you cant do that in a systemd service.

Remove the -n