Collapse AllExpand All

8.3. Linux

To run the xTuple Connect Batch Manager as if it were a service on Linux, you will need to use the VNC server from RealVNC. An open source version of the VNC server is freely available. With the vnc-server rpm or vnc4server package installed on your Linux server, you will have all the necessary tools installed to implement this solution. The first thing you need to do is install the xTuple Connect Batch Manager and make sure it is set up and working correctly for the chosen user. We recommend that you set up an additional, separate user for the xTuple Connect Batch Manager to run as. Once the xTuple Connect Batch Manager is installed, you will next need to set up the VNC server for the same user you want to run the xTuple Connect Batch Manager as. The easiest method for doing this is to log in as the user and run the following command:

vncserver :1

In this case we specified :1 which specifies the terminal to use. As you will see, this detail will become important later. Typically :1 will be sufficient; however, if you have other VNC server sessions set up, you may need to use a different number. For the rest of this document we will assume only one VNC server session is installed. When the vncserver :1 command runs, it will create a directory in the user's home called .vnc and ask for a password. Once the VNC server is running, you can log in with a VNC viewer and check to see what it looks like before continuing. Once done, you should shut down the server with the following command:

vncserver -kill :1

Next, you should edit the xstartup file in the .vnc directory. This file is run by the VNC server program when VNC is started. It allows you to run other applications at startup. In most cases, the last line of the xstartup file reads as follows:

twm &

Add the call to the xTuple Connect Batch Manager immediately after this. The command is very similar to the one you would use to run the xTuple Connect Batch Manager from the command line normally. In the command, you should include the options to specify the database, username, and password so that the xTuple Connect Batch Manager will start up without prompting for a login. You might also want to add the '-geometry' option to specify the size and location of the active window. To guard against unforeseen circumstances and the inevitable user who always exits from applications, you might want to wrap the xTuple Connect Batch Manager startup command in a loop. The following example incorporates all of these elements:

while true ; do # loop forever
    BatchManager -geometry 300x320+10+10 -databaseURL=psql://localhost/mydb:5432 -username=admin -password=@xtconnect1 -noAuth
    sleep 600   # wait 10 minutes before restarting the BatchManager if it exits
    done        # to guard against eating machine time if the BatchManager fails repeatedly

Finally, save and exit the xstartup file.

Now update the /etc/sysconfig/vncserver configuration file. If your system does not have one, then you will have to find or create one. Note that some versions of Linux store these service startup files in other directories, such as /etc/rc.d or /etc/initd.d. In this file there is a line which looks like the following:

VNCSERVERS="1:myusername"

This line may or may not be commented out with a # symbol. If it is, uncomment it by removing that symbol and any additional spaces at the front of the line. This line tells the VNC server service which servers to start up for which user at boot up. The example above references the same server number we used earlier, along with the username separated by a colon. On your system, change the server number and user name to the correct values. Then save and exit the configuration file. Now make sure that the VNC server service is started when the system is booted. The easiest way to do this on your Linux server is by using the chkconfig command. Logged in as the administrator of the server, issue the following command:

chkconfig –add vncserver

At this point, the only thing left to do is start the service and make sure it is working correctly. To start the service, you issue another administrator command:

service vncserver start

You should see a message indicating that the service was started successfully. Now log into the VNC session and check to make sure the xTuple Connect Batch Manager is running correctly. If it is, you have successfully completed the set up. If it is not running, you will need to determine what caused it to fail and correct the problem.