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 関連パッケージが一括インストールされます。
必要に応じて、日本語対応・フォント設定・テーマ適用なども対応できます!
