How to Install QElectroTech on Ubuntu 26.04, 24.04 and 22.04

Install QElectroTech on Ubuntu 26.04, 24.04, or 22.04 using Snap, a stable GitHub AppImage helper with digest checks, or APT. Covers method choice, launch commands, updates, removal, user-data cleanup, and FUSE troubleshooting.

Last updatedAuthorJoshua JamesRead time6 minGuide typeUbuntu

Electrical drawings get messy fast when symbols, title blocks, and export settings live in separate tools. QElectroTech keeps that workflow in one GPL-licensed desktop editor for schematics, control circuits, and technical diagrams, and you can install QElectroTech on Ubuntu through Snap, the upstream stable AppImage release, or the Ubuntu repositories. The current upstream 0.100 series includes more than 8,000 symbols, while Ubuntu’s APT package gives you the distro-maintained build from the Universe repository.

Use Snap when you want the newest stable QElectroTech release with automatic app updates. Use the AppImage helper when you want the latest stable GitHub release with digest verification and a local launcher. Use APT when you prefer Ubuntu-managed packages and do not need the newest upstream feature set.

Install QElectroTech on Ubuntu

Start by refreshing Ubuntu’s package metadata and applying pending updates before adding a desktop application or installing from Universe:

sudo apt update
sudo apt upgrade

These commands use sudo for system-level package changes. If your account cannot use sudo yet, run the commands from an administrator account or use the Ubuntu sudoers guide to add a user to sudoers on Ubuntu.

MethodSourceVersion or assetUpdatesBest fit
SnapSnapcraft, linked from the upstream Linux download page0.100.1-g342ac362 stableAutomatic through snapd, with manual refresh availableNewest stable release; --purge skips Snap’s automatic removal snapshot
AppImageGitHub stable release assets0.100 stable release; helper selects x86_64 or AArch64 assetsRerun the local update helperDirect upstream stable AppImage with SHA-256 verification and a user launcher
APTUbuntu Universe repository26.04: 1:0.9-3build1; 24.04: 1:0.9-2build2; 22.04: 1:0.8.0-3Through normal APT upgradesDistro-maintained package with standard Ubuntu package management

The supported Ubuntu scope for this article is Ubuntu 26.04 LTS (resolute), 24.04 LTS (noble), and 22.04 LTS (jammy). The Snap package currently gives each release the same 0.100.x application branch, the AppImage helper uses the same stable release metadata across those releases, and the APT package differs by Ubuntu release.

Install QElectroTech with Snap

Ubuntu desktop installs normally include snapd, and the upstream QElectroTech Linux download page points users to the Snap Store for a current packaged build. Install the stable Snap package with:

sudo snap install qelectrotech

Verify the installed Snap package and channel:

snap list qelectrotech

A successful install returns output similar to this:

Name          Version            Rev   Tracking       Publisher  Notes
qelectrotech  0.100.1-g342ac362  2154  latest/stable  scorpio    -

Install QElectroTech with the Stable AppImage

The QElectroTech project publishes Linux AppImage builds for its stable releases. This method uses the official GitHub release API, ignores nightly and development builds, verifies the release asset’s SHA-256 digest, and creates a desktop launcher for your user account. If you are new to this package format, the Ubuntu AppImage guide explains how AppImages behave outside APT and Snap.

Install AppImage Prerequisites

Install the helper requirements and the FUSE 2 compatibility package for your Ubuntu release:

sudo apt update
. /etc/os-release
case "$VERSION_ID" in
    26.04|24.04)
        sudo apt install curl ca-certificates python3 desktop-file-utils libfuse2t64
        ;;
    22.04)
        sudo apt install curl ca-certificates python3 desktop-file-utils libfuse2
        ;;
    *)
        printf 'This article covers Ubuntu 26.04, 24.04, and 22.04; stop here before continuing on another release.\n' >&2
        false
        ;;
esac

Create the AppImage Helper

Create the local updater and launcher helper. The setup refuses to replace an existing file unless it already contains the LinuxCapable marker for this QElectroTech helper:

mkdir -p "$HOME/.local/bin"
helper_path="$HOME/.local/bin/update-qelectrotech-appimage"
write_helper=yes
if [ -e "$helper_path" ] || [ -L "$helper_path" ]; then
    if [ -L "$helper_path" ] || [ ! -f "$helper_path" ] || ! grep -q 'linuxcapable-qelectrotech-appimage-helper' "$helper_path"; then
        printf 'Refusing to replace existing helper: %s\n' "$helper_path" >&2
        write_helper=no
    fi
fi

if [ "$write_helper" = yes ]; then
    cat > "$helper_path" <<'EOF'
#!/usr/bin/env bash
# linuxcapable-qelectrotech-appimage-helper
set -euo pipefail

api_url="https://api.github.com/repos/qelectrotech/qelectrotech-source-mirror/releases/latest"
install_dir="${HOME}/Applications/qelectrotech-appimage"
current_link="${install_dir}/QElectroTech.AppImage"
launcher="${HOME}/.local/bin/qelectrotech-appimage"
desktop_file="${HOME}/.local/share/applications/qelectrotech-appimage.desktop"
icon_root="${HOME}/.local/share/icons/hicolor"
check_only=0

case "${1:-}" in
    --check) check_only=1 ;;
    "") ;;
    *) printf 'Usage: update-qelectrotech-appimage [--check]\n' >&2; exit 1 ;;
esac

for cmd in basename cat chmod curl desktop-file-validate dirname find grep install ln mkdir mktemp python3 rm sha256sum sort uname update-desktop-database; do
    if ! command -v "$cmd" >/dev/null 2>&1; then
        printf 'Missing required command: %s\n' "$cmd" >&2
        exit 1
    fi
done

refuse_unmanaged_file() {
    local file_path="$1"
    local marker="$2"
    local label="$3"
    if [ -e "$file_path" ] || [ -L "$file_path" ]; then
        if [ -L "$file_path" ] || [ ! -f "$file_path" ] || ! grep -q "$marker" "$file_path"; then
            printf 'Refusing to replace existing %s: %s\n' "$label" "$file_path" >&2
            exit 1
        fi
    fi
}

case "$(uname -m)" in
    x86_64) asset_regex='^QElectroTech_.*-x86_64[.]AppImage$' ;;
    aarch64|arm64) asset_regex='^QElectroTech-.*-aarch64[.]AppImage$' ;;
    *) printf 'This helper supports x86_64 and aarch64 AppImage assets only.\n' >&2; exit 1 ;;
esac

work_dir="$(mktemp -d)"
cleanup() { rm -rf "$work_dir"; }
trap cleanup EXIT
release_file="${work_dir}/release.json"

curl -fsSL -o "$release_file" "$api_url"

asset_info="$(python3 - "$release_file" "$asset_regex" <<'PY'
import json, re, sys
release_path, pattern = sys.argv[1], sys.argv[2]
with open(release_path, "r", encoding="utf-8") as fh:
    data = json.load(fh)
if data.get("draft") or data.get("prerelease"):
    raise SystemExit("Latest release is not a stable published release.")
assets = [asset for asset in data.get("assets", []) if re.search(pattern, asset.get("name", ""))]
if not assets:
    raise SystemExit("No matching Linux AppImage asset found in the latest stable release.")
asset = assets[0]
values = [data.get("tag_name", ""), asset.get("name", ""), asset.get("browser_download_url", ""), asset.get("digest", "")]
if not all(values[:3]):
    raise SystemExit("Release metadata is missing the tag, asset name, or download URL.")
print("\t".join(values))
PY
)"

IFS="$(printf '\t')" read -r tag asset_name asset_url asset_digest <<EOF_ASSET
$asset_info
EOF_ASSET

case "$asset_digest" in
    sha256:*) expected_sha256="${asset_digest#sha256:}" ;;
    *) printf 'GitHub release asset did not provide a sha256 digest for %s.\n' "$asset_name" >&2; exit 1 ;;
esac

target_file="${install_dir}/${asset_name}"
printf 'Stable release: %s\n' "$tag"
printf 'Selected asset: %s\n' "$asset_name"
printf 'Digest: sha256:%s\n' "$expected_sha256"

if [ "$check_only" -eq 1 ]; then
    printf 'Download URL: %s\n' "$asset_url"
    printf 'Check-only mode; no files changed.\n'
    exit 0
fi

mkdir -p "$install_dir" "${HOME}/.local/bin" "$(dirname "$desktop_file")"
refuse_unmanaged_file "$launcher" 'linuxcapable-qelectrotech-appimage-launcher' 'launcher'
refuse_unmanaged_file "$desktop_file" 'X-LinuxCapable-Managed=qelectrotech-appimage' 'desktop file'

needs_download=yes
if [ -f "$target_file" ]; then
    if printf '%s  %s\n' "$expected_sha256" "$target_file" | sha256sum -c - >/dev/null 2>&1; then
        needs_download=no
    else
        rm -f "$target_file"
    fi
fi

if [ "$needs_download" = yes ]; then
    curl -fL --progress-bar -o "${work_dir}/${asset_name}" "$asset_url"
    (cd "$work_dir" && printf '%s  %s\n' "$expected_sha256" "$asset_name" | sha256sum -c -)
    install -m 0755 "${work_dir}/${asset_name}" "$target_file"
fi

ln -sfn "$target_file" "$current_link"

cat > "$launcher" <<'LAUNCHER'
#!/usr/bin/env bash
# linuxcapable-qelectrotech-appimage-launcher
exec "$HOME/Applications/qelectrotech-appimage/QElectroTech.AppImage" "$@"
LAUNCHER
chmod 0755 "$launcher"

extract_dir="${work_dir}/extract"
mkdir -p "$extract_dir"
icon_count=0
if (cd "$extract_dir" && "$current_link" --appimage-extract usr/share/ico/breeze-icons qelectrotech.png >/dev/null 2>&1); then
    while IFS= read -r icon_file; do
        size_dir="$(basename "$(dirname "$(dirname "$icon_file")")")"
        case "$size_dir" in
            [0-9]*x[0-9]*) ;;
            *) continue ;;
        esac
        install -Dm644 "$icon_file" "$icon_root/$size_dir/apps/qelectrotech-appimage.png"
        icon_count=$((icon_count + 1))
    done < <(find "$extract_dir/squashfs-root/usr/share/ico/breeze-icons" -type f -path '*/apps/qelectrotech.png' | sort -V)
    if [ "$icon_count" -eq 0 ] && [ -f "$extract_dir/squashfs-root/qelectrotech.png" ]; then
        install -Dm644 "$extract_dir/squashfs-root/qelectrotech.png" "$icon_root/256x256/apps/qelectrotech-appimage.png"
        icon_count=1
    fi
fi

if [ "$icon_count" -eq 0 ]; then
    printf 'Could not extract a QElectroTech icon from the AppImage.\n' >&2
    exit 1
fi

cat > "$desktop_file" <<DESKTOP
[Desktop Entry]
Type=Application
Name=QElectroTech AppImage
Comment=Edit electrical diagrams
Exec=$launcher %F
TryExec=$launcher
Icon=qelectrotech-appimage
Terminal=false
Categories=Graphics;2DGraphics;
StartupNotify=true
X-LinuxCapable-Managed=qelectrotech-appimage
DESKTOP

desktop-file-validate "$desktop_file"
update-desktop-database "${HOME}/.local/share/applications" >/dev/null 2>&1 || true
if command -v gtk-update-icon-cache >/dev/null 2>&1; then
    gtk-update-icon-cache -q "$icon_root" >/dev/null 2>&1 || true
fi

if [ "$needs_download" = yes ]; then
    printf 'Installed QElectroTech AppImage release %s.\n' "$tag"
else
    printf 'QElectroTech AppImage release %s is already current.\n' "$tag"
fi
printf 'Launch command: qelectrotech-appimage\n'
EOF
    chmod 0755 "$helper_path"
    export PATH="$HOME/.local/bin:$PATH"
    command -v update-qelectrotech-appimage
else
    false
fi

Check and Install the Stable AppImage

Preview the selected stable release without changing files:

update-qelectrotech-appimage --check

On x86_64 Ubuntu, the check-only output is similar to this:

Stable release: 0.100
Selected asset: QElectroTech_0.100.0-r8590-x86_64.AppImage
Digest: sha256:ff9ff8a3ae0a9caaec7ae5d139308fc8e11f89b1d3f2518e75aa8bf050a6a8d6
Download URL: https://github.com/qelectrotech/qelectrotech-source-mirror/releases/download/0.100/QElectroTech_0.100.0-r8590-x86_64.AppImage
Check-only mode; no files changed.

Install the AppImage when the helper reports the expected stable release and Linux asset:

update-qelectrotech-appimage

A new install verifies the downloaded file and ends with these status lines:

QElectroTech_0.100.0-r8590-x86_64.AppImage: OK
Installed QElectroTech AppImage release 0.100.
Launch command: qelectrotech-appimage

The helper installs the AppImage under ~/Applications/qelectrotech-appimage/, creates qelectrotech-appimage in ~/.local/bin/, extracts QElectroTech icons, and writes a QElectroTech AppImage desktop launcher. If a new terminal has not picked up ~/.local/bin yet, open a new terminal session or sign out and back in before using the helper command.

Install QElectroTech with APT

The APT package comes from Ubuntu’s Universe component. Standard Ubuntu desktop installs usually have Universe enabled already, but minimal or customized systems may need it first; only Universe is required for this package, and the Ubuntu Universe and Multiverse guide explains how to enable the component if APT cannot find the package.

sudo apt install qelectrotech

Verify the package status after installation:

dpkg -l qelectrotech

Ubuntu 26.04 currently reports this installed package revision:

ii  qelectrotech   1:0.9-3build1 amd64        Electric schematic editor

Ubuntu 24.04 reports 1:0.9-2build2, while Ubuntu 22.04 reports 1:0.8.0-3. Those older APT builds are normal for the Ubuntu repository method; switch to Snap or the stable AppImage helper if you need the 0.100.x branch.

Launch QElectroTech on Ubuntu

QElectroTech is a graphical editor. The packages install from a terminal, but the application itself needs an active desktop session to design or edit diagrams.

Launch the Snap Package

For the Snap package, use snap run from a terminal because it works even when /snap/bin is not yet in your shell path:

snap run qelectrotech

Launch the AppImage Install

The AppImage helper creates a user launcher named qelectrotech-appimage. Start the AppImage from a terminal with:

qelectrotech-appimage

Launch the APT Package

The APT package installs the standard launcher at /usr/bin/qelectrotech, so this command starts the application from a terminal:

qelectrotech

Launch from the Applications Menu

From the Ubuntu desktop, open the applications menu and search for QElectroTech. The Snap and APT packages use the standard QElectroTech launcher name, while the helper method creates QElectroTech AppImage with the same upstream icon.

QElectroTech Downloads and Symbol Libraries

The official QElectroTech Linux download page lists GNU/Linux builds separately from Windows and macOS, including stable AppImages for x86_64 and AArch64. The GitHub release helper above uses the project’s latest stable release metadata instead of nightly or development downloads. The current GitHub nightly entry is a Windows pre-release, so this guide does not use it for Ubuntu.

Symbol and template searches usually point to QElectroTech’s built-in and online collections, not a separate Ubuntu package. The project maintains an official element collection viewer and a contributed element collection viewer for browsing available symbols.

QElectroTech focuses on electrical schematics and 2D technical diagrams. If your project moves into PCB layout, 2D CAD, or mechanical modeling, see how to install KiCad on Ubuntu, install LibreCAD on Ubuntu, or install FreeCAD on Ubuntu.

Update or Remove QElectroTech

Update the Snap Package

Snap packages refresh automatically. To request an immediate refresh for QElectroTech, run:

sudo snap refresh qelectrotech

Update the AppImage Install

Rerun the helper to check the latest stable GitHub release and replace the local AppImage only when the release asset changes:

update-qelectrotech-appimage

When the installed AppImage already matches the current stable release, the helper reports that no replacement was needed:

QElectroTech AppImage release 0.100 is already current.
Launch command: qelectrotech-appimage

If your shell does not find the helper in a later session, open a new terminal or sign out and back in so ~/.local/bin is on your PATH.

Update the APT Package

For the Ubuntu repository package, refresh APT metadata and upgrade only QElectroTech if a newer Ubuntu build exists:

sudo apt update
sudo apt install --only-upgrade qelectrotech

The --only-upgrade flag upgrades QElectroTech only when it is already installed; it will not install the package on a system that does not have it yet.

Remove the Snap Package

Remove the Snap package without creating an automatic recovery snapshot:

sudo snap remove --purge qelectrotech

Confirm Snap no longer lists the application:

snap list qelectrotech 2>/dev/null || echo "qelectrotech is not installed"
qelectrotech is not installed

Remove the AppImage Install

Remove only the AppImage helper, local AppImage, launcher, and extracted icons with:

remove_marked_file() {
    file_path="$1"
    marker="$2"
    if [ -f "$file_path" ] && grep -q "$marker" "$file_path"; then
        rm -f "$file_path"
    elif [ -e "$file_path" ] || [ -L "$file_path" ]; then
        printf 'Skipped unmanaged file: %s\n' "$file_path" >&2
    fi
}

rm -rf "$HOME/Applications/qelectrotech-appimage"
remove_marked_file "$HOME/.local/bin/update-qelectrotech-appimage" 'linuxcapable-qelectrotech-appimage-helper'
remove_marked_file "$HOME/.local/bin/qelectrotech-appimage" 'linuxcapable-qelectrotech-appimage-launcher'
remove_marked_file "$HOME/.local/share/applications/qelectrotech-appimage.desktop" 'X-LinuxCapable-Managed=qelectrotech-appimage'
find "$HOME/.local/share/icons/hicolor" -path '*/apps/qelectrotech-appimage.png' -delete 2>/dev/null || true
if command -v update-desktop-database >/dev/null 2>&1; then
    update-desktop-database "$HOME/.local/share/applications" 2>/dev/null || true
fi
hash -r
command -v qelectrotech-appimage >/dev/null 2>&1 || echo "qelectrotech-appimage removed"
qelectrotech-appimage removed

Remove the APT Package

Remove the Ubuntu repository package first:

sudo apt remove qelectrotech

APT may leave supporting libraries that were installed only for QElectroTech. Preview the optional cleanup before confirming it:

sudo apt autoremove --dry-run

If the preview only lists QElectroTech-related packages you no longer need, run the cleanup:

sudo apt autoremove

Confirm the APT package is no longer installed:

dpkg -l qelectrotech 2>/dev/null | grep '^ii' || echo "qelectrotech is not installed"
qelectrotech is not installed

Clean QElectroTech User Data

QElectroTech saves diagram projects wherever you choose, but the app can also create per-user settings under native or Snap-specific paths. Check which paths exist for your account before deleting anything:

find "$HOME" -maxdepth 4 -type d \( -path "$HOME/.config/qelectrotech" -o -path "$HOME/.config/QElectroTech" -o -path "$HOME/snap/qelectrotech" \) -print

The next command permanently deletes QElectroTech settings and Snap user data for the current account. Back up any custom templates, symbols, or preferences first if you keep them inside these folders.

rm -rf "$HOME/.config/qelectrotech" "$HOME/.config/QElectroTech" "$HOME/snap/qelectrotech"

Troubleshoot QElectroTech on Ubuntu

Fix AppImage Download or FUSE Errors

Start with a check-only run if the AppImage helper cannot download or select an asset:

update-qelectrotech-appimage --check

If the helper reports no matching Linux AppImage asset, wait for the next stable release asset instead of switching to a nightly or development build. If the AppImage downloads but does not start, confirm the FUSE 2 compatibility library is available:

ldconfig -p | grep 'libfuse.so.2'

Install the release-specific FUSE package again if that command returns no library path, then retest the AppImage launcher:

qelectrotech-appimage

Conclusion

QElectroTech is ready on Ubuntu with the current Snap build, the stable GitHub AppImage helper, or the distro-maintained APT package, and each method opens the same schematic editor once you are in a graphical session. Keep Snap for automatic refreshes, use the AppImage helper for upstream stable release assets with digest checks, choose APT for Ubuntu-managed packages, and use the official collection links above when you need extra symbols.

Share this guide

Help another Linux user troubleshoot faster

Share this guide with someone troubleshooting Linux systems or saving it for later.

Follow LinuxCapable

Want more LinuxCapable guides in Google?

Add LinuxCapable as a preferred source so Google can show our tutorials more often in Top Stories and mark them as preferred in AI Mode and AI Overviews when relevant.

Add LinuxCapable as a preferred source on Google
Search LinuxCapable

Need another guide?

Search LinuxCapable for package installs, commands, troubleshooting, and follow-up guides related to what you just read.

Found this guide useful?

Support LinuxCapable to keep tutorials free and up to date.

Buy me a coffeeBuy me a coffee
Before commenting, please review our Comments Policy.
Formatting tips for your comment

You can use basic HTML to format your comment. Useful tags currently allowed in published comments:

You type Result
<code>command</code> command
<strong>bold</strong> bold
<em>italic</em> italic
<a href="https://example.com">link</a> link
<blockquote>quote</blockquote> quote block

Add to the discussion

Questions, fixes, command output, and version notes help keep this guide current.

Verify before posting: