The Uno Platform for Linux current comes with a rendering backend using Skia, and a Shell support with Gtk3.
It is possible to develop :
- Using Visual Studio on Windows directly, or using the Windows Subsystem for Linux.
- Using VS Code under Linux
Using VS 2019 16.6 or later:
- Install the Visual Studio WSL Extension
- In VS 2019 16.8 or earlier through the marketplace
- In VS 2019 16.9 Preview 1 and later through the Visual Studio installer by installing the individual component named .NET Core Debugging with WSL 2
- Install WSL Ubuntu 18.04 or later
- Install the prerequisites for Linux mentioned in the next section, in your installed distribution using the Ubuntu shell
- Install vcXsrv, an X11 server for Windows
- You'll need to start the server in "Multiple windows" mode, starting with "no client" mode.
- Install the GTK3 runtime.
- Using the WSL 1 mode is generally best for performance and ease of use for the X11 server
- You can switch between versions of a distribution using
wsl --set-version "Ubuntu-20.04" 1
- You can list your active distributions with
wslconfig /l
and change the default withwslconfig /s "Ubuntu-20.04"
- You can change the used distribution with the
"distributionName": "Ubuntu-20.04"
launch profile parameter of the VS WSL 2 Extension. - If you have a insider preview of Windows 10, you may use the wayland server.
- If you still want to use WSL 2 anyways, you can try following those steps.
- You can switch between versions of a distribution using
- Install the
dotnet new
templates:dotnet new -i Uno.ProjectTemplates.Dotnet::3.1-dev*
- Then create a new project using:
dotnet new unoapp -o MyUnoApp
Now let's run the application:
- Open the solution using Visual Studio
- In the debugger menu, next to the green arrow, select WSL 2
- In the launch profile file, set:
"environmentVariables": {
"DISPLAY": ":0",
},
- Start the debugger session
- Visual Studio may ask you to install .NET Core 3.1, press OK and let the installation finish, then restart the debugging session.
- Install GTK3:
sudo apt update sudo apt-get install gtk+3.0
- Install dotnet core 3.1
echo "Installing .NET Core" wget -q https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb sudo add-apt-repository universe sudo apt-get -y install apt-transport-https sudo apt-get update sudo apt-get -y install dotnet-sdk-3.1 sudo apt-get -y install dotnet-sdk-5.0
- Install GTK3:
sudo apt update sudo apt install libgtk-3-dev
- Install dotnet core 3.1 and 5.0
echo "Installing .NET Core" wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb sudo dpkg -i packages-microsoft-prod.deb sudo apt-get update; \ sudo apt-get install -y apt-transport-https && \ sudo apt-get update && \ sudo apt-get install -y dotnet-sdk-3.1 && \ sudo apt-get install -y dotnet-sdk-5.0
- Install the
dotnet new
templates:dotnet new -i Uno.ProjectTemplates.Dotnet
- Then create a new project using:
dotnet new unoapp -o MyUnoApp
Now let's run the application:
- Open the folder created by
dotnet new
- In the terminal, build and run the application:
cd MyUnoApp.Skia.Gtk dotnet run
- Update system and packages
pacman -Syu
- Install the necessary dependencies
sudo pacman -S gtk3 dotnet-targeting-pack dotnet-sdk dotnet-host dotnet-runtime mono python mono-msbuild ninja gn aspnet-runtime
- Install the
dotnet new
templates:dotnet new -i Uno.ProjectTemplates.Dotnet::3.1-dev*
- Then create a new project using:
dotnet new unoapp -o MyUnoApp
Run the GTK based application:
- Open the folder created by
dotnet new
- In the terminal, build and run the application:
cd MyUnoApp.Skia.Gtk dotnet run
Run the WebAssembly head with:
bash cd .. cd MyUnoApp.Wasm dotnet run
turns on the browser and type
http://localhost:5000/
If you have questions about Uno Platform support for Linux, please visit our Discord - #uno-platform channel or StackOverflow where our engineering team and community will be able to help you.