Ubuntu に .NET をインストールして、C# と GTK# を使ってウィンドウを表示する

Linux(Ubuntu) に .NET をインストールして、C# と GTK# を使ってウィンドウを表示するには、以下の手順で進められます。


✅ ステップ 1: .NET SDK のインストール

Ubuntu に .NET をインストールするには、Microsoftの公式ドキュメントに従うのが一番安全です。以下は Ubuntu 22.04 以降を想定した例です:

# Microsoft パッケージのリポジトリを登録
wget https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb

# 必要なパッケージのインストール
sudo apt-get update
sudo apt-get install -y dotnet-sdk-8.0

バージョンは 8.0 を例にしていますが、必要に応じて変更してください。


✅ ステップ 2: GTK# のインストール

GTK3 と GTK# を使う場合は以下のパッケージが必要です。

sudo apt install libgtk-3-dev
sudo apt install mono-complete

mono-complete に GTK#(GtkSharp)も含まれています。C# 用の GTK# バインディングです。


✅ ステップ 3: プロジェクトの作成

dotnet new console -n GtkApp
cd GtkApp

✅ ステップ 4: GtkSharp の NuGet パッケージを追加

dotnet add package GtkSharp --version 3.22.25.176

💡 GTK# は GTK3 のバインディングを使っているので、GTK4 ではなく GTK3 に注意してください。


✅ ステップ 5: C# コードを書く

Program.cs を次のように変更:

using System;
using Gtk;

class Program
{
    static void Main(string[] args)
    {
        Application.Init();

        Window window = new Window("GTK# Window");
        window.SetDefaultSize(400, 300);
        window.DeleteEvent += (o, e) => Application.Quit();

        window.ShowAll();
        Application.Run();
    }
}

✅ ステップ 6: ビルドして実行

dotnet run

✅ ウィンドウが表示されない場合の対処法

GTK アプリを dotnet run から直接起動してもうまく動作しないことがあります。その場合はビルドしてから mono で実行する方法もあります:

dotnet build -c Release
mono bin/Release/net8.0/GtkApp.dll

✅ まとめ

  • .NET + GtkSharp により、Linux 上でも C# で GUI アプリを作れます。
  • GTK# は GTK3 バインディングなので、GTK3 のライブラリが必要です。
  • mono-complete により GTK# を含むすべての Mono 関連パッケージが一括インストールされます。

必要に応じて、日本語対応・フォント設定・テーマ適用なども対応できます!

よかったらシェアしてね!
目次