BACK

License Φ Download Φ Books&Manuals Φ Team Φ Home



CBserver on Windows 10 (64bit)

ConceptBase server under Windows 10

The Creators Update version of Windows 10 (64bit) was released in April 2017 featuring a pretty complete Linux based on a special version of Ubuntu (64bit). This sub-system is providing Linux on Windows using the native Windows API to let Linux programs run under a 'bash' shell. This can be used to directly run a ConceptBase server (CBserver) on such a Windows 10 machine.

To enable Linux under Windows 10, follow the instructions at Install the Windows Subsystem for Linux. Choose the Ubuntu app from the list of choices from the App Store. It is providing the 'bash' application. The first invocation of the Ubuntu app (version 16.04 is preferred) shall install the Ubuntu sub-system for the Windows user who starts it. As part of the installation, you are asked for a Unix/Linux username and password. Memorize it if you later need to maintain the Linux sub-system, e.g. to add more software packages in addition to ConceptBase.

The Linux system is integrated into Windows by providing the 'bash' shell/terminal. Bash can also be called within regular Windows batch files (*.bat). In ConceptBase, this is used to call the Linux version of the CBserver via a bash call inside the batch file cbserver.bat. The CBserver is a Linux 64bit binary. It does however run just fine under Windows since the WSL can either directly resolve calls to Linux kernel services (WSL2) or maps them to Windows kernel calls (WSL1). The installation file CBinstaller.jar has all necessary scripts and binaries set-up for being used under Windows/WSL.

Note 1: The 'bash' application is a 64bit program. It is not visible to 32bit programs such as Java (32bit). Hence, you should install Java OpenJDK 11 (x64) under Windows (64bit) to start up the CBserver from the CBIva user interface of ConceptBase. See here for instructions on how to install it either via the tar.gz package or via "winget". To use the new capability, you need to install ConceptBase V8.5 (2024-09-16) or later.

Note 2: The implementation of the IP protocol under Windows allows several server processes to work on the same port number. The first one is then the active one and the others are waiting. Under Linux, attempts to start a 2nd server leads to an error ("Unable to bind socket to name") and the 2nd server is aborted. Though the CBserver in Windows is started with the Linux sub-system, it still inherits the bahavior wrt. ports from Windows. So be aware not to start several CBservers unintentionally.

Note 3: If you installed the Linux system after installation of ConceptBase, you should change the option "PublicCBserver" to "none", see here. Otherwise, CBIva will still connect by default to the public CBserver. Before you start CBIva or CBGraph, you may want to start the CBserver with by double-clicking the batch file c:\conceptbase\cbserver.bat. The batch file will start the CBserver in the so-called slave mode by default. That means, it will shut-down when the last client logs off from the CBserver. Edit the batch file and change the parameters if you want to change this behavior. You can also manually start a CBserver in a Bash terminal offered by WSL. The Bash terminal behaves like a bash shell unter Linux. Hence, you can enter the commands to start the CBserver in the same way as for Linux as described in the ConceptBase user manual. The Windows batch file cbserver.bat just calls the Bash shell of WSL to execute the CBserver with default parameters. You can also let CBIva or CBGraph do the job to start a local ConceptBase server, just like under Linux.

The CBIva user interface is started by the batch file cbiva.bat under Windows. Sometimes, Windows reports that java.exe could not be started correctly. This is a temporary failure. Just start CBIva a second time. For unknown reasons, CBIva and CBGraph start up a bit slower compared to Linux. For example, when opening CBIva from CBGraph, it displays a blank window for a few seconds before completing the connection to the CBserver. Besides this short delay, there are no noticible differences in responsiveness.

Which Linux to install?

We tested the installation with Ubuntu 16.04, which is still one of the options for WSL at this time (2021). If you install a later version, you have to tweak the libraries a bit, see section on Ubuntu 18.04 and Ubuntu 20.04 in the installation instructions. You have to do this as 'root' user with the 'bash' shell of WSL. Memorize the 'root' user password when you install your copy of Linux under WSL.

WSL or WSL2?

Both variants of WSL work. If you have Windows10 version 20H2 (fall 2020), then WSL2 is the better choice since you get a complete Linux kernel, fast access to the file system, and a smoother integration with Windows tools. When we tried it, we had to use the manual procedure to install WSL2 (see here).


http://conceptbase.cc -- Contact: M. Jeusfeld, University of Skövde, Sweden
2024-12-08/M.Jeusfeld


Get ConceptBase.cc at SourceForge.net. Fast, secure and Free Open Source software downloads