Is knowledge of C# of any use in a Linux system?

Yes, you can develop software on Ubuntu, that itself will run on Ubuntu, in C#. Both Mono and .NET Core support GNU/Linux systems like Ubuntu. (You can use them on other distros, too, like Debian, Raspbian, Fedora, CentOS, Arch, Gentoo, and so forth.) The Unity3D game engine also supports Ubuntu, as you probably know. Unity3D embeds Mono.

A number of packages for Ubuntu, installable with Ubuntu's package manager from officially community-supported software sources, are written in C# and use Mono. This includes the music player Banshee, the notetaking app Tomboy, the raster graphics editor Pinta, and the password manager KeePass (since version 2).

Most text editors, such as Gedit, Vim, and Emacs, have syntax highlighting for C#. MonoDevelop and Visual Studio Code are two popular integrated development environments that run on Ubuntu and support C# development.


Most likely you will stumble upon http://www.mono-project.com/

As the About Mono page says:

Mono, the open source development platform based on the .NET Framework, allows developers to build cross-platform applications with improved developer productivity. Mono’s .NET implementation is based on the ECMA standards for C# and the Common Language Infrastructure.

The supported platforms include Linux.


  1. You can now develop server applications on Linux using C# (.NET Core framework), like you can use Java or Python. By server applications I mean web applications and web service (REST) applications mostly. This makes a perfect match with Linux containers (Docker/K8s) and clouds.
  2. You can develop desktop applications with C# using the Mono Framework (a .NET implementation) and GTK# (GtkSharp) toolkit (a wrapper of GTK). There are many projects developed on it. This framework have had some resistance by part of the Linux's community in the past. Some distributions and users didn't want Mono applications.
  3. You can develop games with the Unity Engine using C# on Linux. Unity Editor is experimental on Linux yet.

So, yes. Knowledge on C# can be very useful on Linux systems today.