Skip to content

How To: run Git Extensions on Linux

Michael Seibt edited this page Jan 18, 2025 · 6 revisions

Mono

Tested on:

  • Ubuntu 16.04
  • Mono 4.6.1
  • Git 2.7.4
  • KDiff3 0.9.98
  • GitExtensions 2.49RC2

Installation

  1. Install git: sudo apt install git
    check git: git --version
    git version 2.7.4

  2. Install mergetool kdiff3: sudo apt install kdiff3
    check Kdiff3: kdiff3 --version
    Kdiff3: 0.9.98 (64 bit)

  3. Install Mono to run GitExtensions. Version should be 5.14 or above)
    Add repository to install the latest version of Mono
    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
    echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list
    sudo apt update
    install: sudo apt install mono-complete
    check: mono --version
    Mono JIT compiler version 4.6.1

  4. Install GitExtensions
    Download GitExtensions-2.51.05-Mono.zip from GitExtensions v2.51.05 release for Linux.
    Unzip to any folder

  5. ❗ Delete .\Plugins\BitBucket.dll

  6. Start GitExtensions
    Open GitExtensions folder and double click GitExtensions.exe
    If error occurred, then open terminal and execute the following command. sh gitext.sh when you first start you will see a language selection
    select language

  7. Configuring GitExtensions
    check list
    1. and 2. Your name and email
    3. Editor default GitExtensions
    4. kdiff3
    5. /usr/bin/kdiff3
    7. and 8. as 4. and 5.
    9. Whatever you prefer
    10. Unicode (UTF-8)
    Setting GitExtension

DONE

Building

The Windows page may have more information: see Build Instructions with Mono

Building the installer

  • Run \Setup\BuildInstallers.Mono.cmd

How to build and test in Mono

Mono 4.4.0 or later is required, because it uses C# 4.6.1 compiler by default. Refer to Git Extensions on Linux for details on how to build and debug on Linux.

Images and Linux compatibility

Not all image formats are supported on Mono. PNG images with a color depth of 48 bpp will cause compiler errors. If you run into this problem you should convert all PNG images to 8 bpp.

This can be done using the following Linux commands:

sudo apt-get install imagemagick
mogrify -depth 8 $(find -iname '*.png')
mogrify -depth 8 $(find -iname '*.PNG')

Running tests

Tests use NUnit under Mono.

Download prebuilt package

WINE

Currently more broken than version 2.5 under mono.

Tested on:

  • Debian bookworm
  • winehq-stable 9.0.0.0-bookworm-1
  • wine_git v0.3.0
  • GitExtensions-Portable-x64-5.1.1.17970-939c0edba

Installation

install git kdiff3

install wine

You need later version than in what is in debian stable (It is not possible to install .net runtime version required by Git Extensions in old wine version)
Either add winehq repository using instructions from www.winehq.org (worked for me)
and then install it
sudo apt-get install winehq-stable
Or update your distribution to Debian testing (not tested, should work as there is the same wine version I tried)

download https://github.com/monoblaine/wine_git

in settings.ini update path_to_wine_git_folder to your path

in worker.sh update path_to_wine_git_folder

make worker.sh executable

download gitExtensions

run gitExtensions

wine GitExtensions.exe

it will complain about missing runtime and opens link to download it in your browser

Download it and then run it in wine:

wine windowsdesktop-runtime-8.0.12-win-x64.exe

note: installing .NET 8 runtime using winetricks doesn't work for me

run gitExtensions

wine GitExtensions.exe

Set location of git executable to wine_git.exe (You can navigate to it through Z: drive)

macOS/Mono

macOS Mono support for Git Extensions is unknown.

Note specifically though that you at least in 5.4 must run tMono in 32bit version as the 64bit WinForm support is incomplete. Start with --arch=32. http://www.mono-project.com/docs/about-mono/supported-platforms/osx/

Clone this wiki locally