Run samples on WSL
This article describes how you can get Bee Mobile iDesk components running on your Windows Subsystem for Linux (WSL).
If you don’t have WSL installed on your computer yet, then follow this material to figure out how to install it first.
A quick cheat sheet for the start
If you installed WSL onto your Win 11 OS computer, then here’s a quick list of commands to get your started. The commands should be typed into Windows Powershell.
| Command | Description |
|
List Linux distributions you currently have installed. |
|
List Linux distributions that are available online for downloading and installation. |
Installation of Ubuntu 24.04 LTS OS into WSL
As a next step, we’ll download and install Ubuntu 24.04 Linux into our WSL. Here’s how.
- Create a folder on your hard drive with enough space (40 GB should be enough) where virtual hard disk folder of your OS will be stored.
For the sake of this article, we will used:\WSL-HDD\Ubuntu. - Open Windows Powershell.
- Execute this commmand
wsl.exe --install --distribution Ubuntu-24.04 --location "D:\WSL-HDD\Ubuntu" - After installation, WSL may launch Ubuntu automatically. If not, start it manually:
wsl.exe -d Ubuntu-24.04 - On first start, Ubuntu will ask you to create a Linux username and password. For the sake of this article, we will assume:
username:developer
password:developer - On the 2nd Powershell, use this command:
wsl.exe --list --verboseYou should see your newly created Ubuntu OS running within WSL.
Note: You may notice, that your original Powershell session has turned into a bash session of your Ubuntu OS. Start a new Powershell session (keep the original running too).
Note: You may also notice, that filesystem of your host OS is now mounted inside /mnt folder on your WSL. This allows you to have data from your host PC immediately available within your WSL based Ubuntu OS.
Install Mono Runtime
In order to run iDesk based applications, we have to install mono runtime as well as some other packages into your Ubuntu. Perform following sequence of commands.
- Update the package index and installed packages
sudo apt update sudo apt upgrade - Install net-tools.
sudo apt-get install net-tools make gcc - Install mono runtime and some related packages.
sudo apt install mono-runtime libmono-system-windows-forms4.0-cil libmono-system-data-datasetextensions4.0-cil
Build native Bee Mobile Keyboard library
- Download source code for Bee Mobile Linux Keyboard Library:
cd ~ git clone -b VirtualKeyboard https://git.beemobile4.net/git/Yocto bmkbd cd bmkbd - Build it. Depending on your processor architecture, use one of these commands (most likely X64):
make X64make X86make arm32make arm64
Tip: You may try to use this command to figure out your processor’s architecture:
uname -m
Give current user access to /dev/uinput
/dev/uinput is a special file, which represents a virtual keyboard. If you want to make use of Bee Mobile on-screen keyboard component, make sure the user, who will be executing your application, has access to it. By default, uinput is part of Ubuntu kernel. If it is not in your case, make sure to use Ubuntu OS with uinput being either part of its kernel or at least, that it is a loadable module. In latter case, make sure it is loaded. Details are outside of scope of this guide.
Execute this sequence of commands:
- Create a group
sudo groupadd uinput - Add your user
sudo usermod -aG uinput developer - On WSL, uinput is typically not active by default. Activate it with this command
sudo modprobe uinput - Make sure it gets activated after reboot:
echo uinput | sudo tee /etc/modules-load.d/uinput.conf > /dev/null - Reboot your WSL-based Ubuntu OS:
sudo rebootThe
rebootcommand will throw you back into your Powershell session. Go back with a command:wsl -d Ubuntu-24.04
Run Bee Mobile sample projects
- On your host PC, use Visual Studio to open a sample project which you would like to run.
- Build the sample project from Solution Explorer. You may need to update its references first to make sure that Bee Mobile assemblies are referenced from iDesk installation folder (by default: c:\program files (x86)\Bee Mobile\Bee Mobile iDesk\NET48).
- From you WSL command prompt (bash), navigate to folder (of your host PC) where the sample project build output is.
- If your sample project uses BeeMobile.Keyboard.NET48 assembly, then make sure, the native library is also present in the build output folder.
- Start the application with this command:
mono *.exe
Every iDesk component has a sample project. Just go to iDesk web page, choose a component and then use “Download Sample Project” link in the right menu to get one.
Documentation notice
Information may change over time
Technical details on this page may change as vendor tools, board support packages, operating system images, and runtime versions evolve.
This page was last technically reviewed on May 21, 2026. If your setup differs from the one described here, please contact us for help.
