How to Install TeXworks on Ubuntu 26.04, 24.04 and 22.04

Install TeXworks on Ubuntu 26.04, 24.04 and 22.04 with APT, PPA, GitHub AppImage, or Flatpak. Covers launch, updates, removal, and LaTeX fixes.

Last updatedAuthorJoshua JamesRead time9 minGuide typeUbuntu

Small LaTeX projects do not always need a full IDE, especially when you only want a clean editor, a compile button, and a PDF preview in the same window. TeXworks fills that lighter role on Ubuntu by pairing a source editor with SyncTeX navigation, so you can move between a line in your .tex file and the matching spot in the rendered PDF.

To install TeXworks on Ubuntu, use the Ubuntu repository package for the simplest maintenance path, the TeXworks stable PPA when Ubuntu 24.04 (Noble) or 22.04 (Jammy) needs a newer branch, the GitHub AppImage when you want the latest official upstream Linux asset, or Flatpak when you prefer a Flathub-managed desktop app. These methods cover Ubuntu 26.04 (Resolute), 24.04, and 22.04 on amd64 systems.

Install TeXworks on Ubuntu

TeXworks is an editor, not the LaTeX compiler stack. The APT and PPA install commands include texlive-latex-recommended so the default pdflatex profile works after launch. The GitHub AppImage uses the host TeX Live tools if you install them separately, while the Flatpak build uses its own optional TeX Live extension. The Ubuntu packages and AppImage runtime packages come from the Universe component; standard desktop installs usually have Universe enabled, but minimal systems may need the Ubuntu Universe repository enabled before these commands can find the packages.

Compare TeXworks Install Methods

Pick the package source based on how you want updates and packaging to behave:

MethodSourceBest forNotes
Ubuntu repositoryUbuntu UniverseSimple updates through APTBest default on Ubuntu 26.04, where the repository already ships the current 0.6.11 branch.
TeXworks stable PPALaunchpad stable PPANewer builds on Ubuntu 24.04 and 22.04The PPA also publishes Resolute packages, but Ubuntu 26.04 keeps the Ubuntu package as the default candidate.
GitHub AppImageTeXworks GitHub releasesLatest official upstream Linux assetUses a helper-backed x86_64 AppImage outside APT and Flatpak.
FlatpakFlathubSandboxed desktop app outside APTVerified Flathub app ID: org.tug.texworks.

Searches for texworks download usually lead to the official TeXworks project page or the TeXworks GitHub releases. The GitHub AppImage method uses that release source directly, verifies the GitHub asset digest, and keeps the launcher separate from the APT/PPA texworks command.

TeXstudio and Texmaker are separate LaTeX editors, not TeXworks package variants. Stay with TeXworks when you want the lighter editor and integrated PDF preview; choose a larger LaTeX IDE only when you need project-management features around the compiler.

Install from the Ubuntu Repository

The Ubuntu repository package is the safest first choice when you want TeXworks managed with normal APT updates. It is especially strong on Ubuntu 26.04 because the default package already tracks the current 0.6.11 release branch. The -y flag auto-confirms the package prompt; omit it if you want to review APT’s package list before confirming.

sudo apt update
sudo apt install texworks texlive-latex-recommended -y

These commands use sudo for package-management tasks that need administrator rights. If your account cannot run sudo commands yet, add the user to sudoers on Ubuntu before continuing.

Use texlive-full only when you need nearly every TeX Live package and font locally. It is useful for large academic templates and offline work, but it can add several gigabytes compared with texlive-latex-recommended.

Verify the installed package version:

dpkg-query -W -f='${Package} ${Version} ${db:Status-Status}\n' texworks

On Ubuntu 26.04, the repository install reports:

texworks 0.6.11+ds-2 installed

Confirm that the LaTeX compiler is available too:

pdflatex --version

On Ubuntu 26.04, the output begins with the current TeX Live branch:

pdfTeX 3.141592653-2.6-1.40.28 (TeX Live 2025/Debian)
kpathsea version 6.4.1

Compare Ubuntu Repository and PPA Versions

Ubuntu 24.04 and 22.04 report older repository versions than Ubuntu 26.04. Current package metadata shows where the stable PPA changes the final candidate:

Ubuntu releaseDefault TeXworks packageStable PPA behavior
26.04 LTS (Resolute)0.6.11+ds-2PPA publishes a 0.6.11 build, but the Ubuntu package remains the default APT candidate.
24.04 LTS (Noble)0.6.8-3build4PPA provides the newer 0.6.11 branch.
22.04 LTS (Jammy)0.6.6-2build1PPA provides the newer 0.6.11 branch.

Install from the TeXworks Stable PPA

The TeXworks stable PPA is useful on Ubuntu 24.04 and 22.04 when you want the current 0.6.11 branch instead of the older repository builds. On Ubuntu 26.04, adding the PPA is normally unnecessary because the default repository package remains the preferred candidate.

Install the helper package for add-apt-repository first. It is usually present on desktop installs, but this command keeps the PPA path reliable on minimal or customized systems:

sudo apt install software-properties-common -y

Add the stable PPA and refresh the package index:

sudo add-apt-repository ppa:texworks/stable -y
sudo apt update

Check which source APT will use before installing:

apt-cache policy texworks

On Ubuntu 24.04, relevant output shows the PPA as the candidate:

texworks:
  Installed: (none)
  Candidate: 0.6.11~202602100750~git~7951fd8b-1noble
  Version table:
     0.6.11~202602100750~git~7951fd8b-1noble 500
        500 https://ppa.launchpadcontent.net/texworks/stable/ubuntu noble/main amd64 Packages
     0.6.8-3build4 500
        500 http://au.archive.ubuntu.com/ubuntu noble/universe amd64 Packages

Install TeXworks with the recommended TeX Live compiler subset after confirming that the candidate matches the source you intended to use:

sudo apt install texworks texlive-latex-recommended -y

The TeXworks development PPA, ppa:texworks/ppa, is for testing development snapshots. Keep the stable PPA for normal writing work unless you are deliberately testing unreleased fixes.

Install the Latest TeXworks AppImage from GitHub

Use the GitHub AppImage when you specifically want the latest official upstream Linux release asset without changing APT sources or using Flatpak. The helper resolves the latest release when it runs, verifies the SHA256 digest from GitHub asset metadata, installs the AppImage under /opt/texworks-appimage/, and creates a separate texworks-appimage command plus a TeXworks (AppImage) desktop entry.

The upstream Linux AppImage is published for x86_64/amd64 systems and requires glibc 2.35 or newer. That matches the supported Ubuntu LTS releases in this article on amd64 hardware, but ARM systems should use the Ubuntu repository, PPA, or Flatpak method unless upstream adds a matching Linux AppImage asset.

For the generic file-placement, permission, and launcher model behind this helper, use the AppImage installation workflow on Ubuntu.

Install the download, JSON parsing, AppImage runtime, and Qt/XCB runtime packages first. The conditional FUSE package keeps the command compatible with Ubuntu 26.04 and 24.04, which use libfuse2t64, and Ubuntu 22.04, which uses libfuse2:

sudo apt update
if apt-cache show libfuse2t64 >/dev/null 2>&1; then
  sudo apt install ca-certificates curl jq libfuse2t64 libxcb-cursor0 libopengl0 -y
else
  sudo apt install ca-certificates curl jq libfuse2 libxcb-cursor0 libopengl0 -y
fi

Create the reusable update helper. Re-running this helper later updates the AppImage if GitHub publishes a newer release, repairs the wrapper or desktop entry if either file is missing, and exits cleanly when the latest digest is already installed:

sudo tee /usr/local/bin/update-texworks-appimage >/dev/null <<'EOF'
#!/usr/bin/env bash
set -euo pipefail

api_url="https://api.github.com/repos/TeXworks/texworks/releases/latest"
install_dir="/opt/texworks-appimage"
appimage_path="$install_dir/TeXworks.AppImage"
info_path="$install_dir/release-info.txt"
wrapper_path="/usr/local/bin/texworks-appimage"
desktop_path="/usr/share/applications/texworks-appimage.desktop"
icon_path="/usr/share/pixmaps/texworks-appimage.png"
tmp_dir=$(mktemp -d)
trap 'rm -rf "$tmp_dir"' EXIT

case "$(uname -m)" in
x86_64 | amd64) ;;
*)
  printf 'The TeXworks AppImage release is currently available for x86_64/amd64 only.\n' >&2
  exit 1
  ;;
esac

for needed in curl jq sha256sum sudo; do
  if ! command -v "$needed" >/dev/null 2>&1; then
    printf 'Missing required command: %s\n' "$needed" >&2
    exit 1
  fi
done

release_json="$tmp_dir/release.json"
printf 'Resolving the latest TeXworks AppImage release...\n'
curl -fsSL --retry 3 --retry-delay 2 "$api_url" -o "$release_json"
asset_name=$(jq -r '[.assets[] | select(.name | test("^TeXworks-.*x86_64.*\\.AppImage$"))] | sort_by(.name) | last | .name // ""' "$release_json")
if [ -z "$asset_name" ]; then
  printf 'No x86_64 TeXworks AppImage asset was found in the latest GitHub release.\n' >&2
  exit 1
fi
asset_url=$(jq -r --arg name "$asset_name" '.assets[] | select(.name == $name) | .browser_download_url' "$release_json")
asset_digest=$(jq -r --arg name "$asset_name" '.assets[] | select(.name == $name) | .digest // ""' "$release_json")
release_name=$(jq -r '.name' "$release_json")
if [ -z "$release_name" ] || [ "$release_name" = "null" ]; then
  release_name="$asset_name"
fi
if [ -z "$asset_url" ] || [ "$asset_url" = "null" ]; then
  printf 'Could not resolve the TeXworks AppImage download URL.\n' >&2
  exit 1
fi
if [[ "$asset_digest" != sha256:* ]]; then
  printf 'Could not resolve a SHA256 digest for %s from GitHub asset metadata.\n' "$asset_name" >&2
  exit 1
fi

if [ -x "$appimage_path" ] && [ -f "$info_path" ] && [ -f "$wrapper_path" ] && [ -f "$desktop_path" ] && [ -f "$icon_path" ] && grep -Fxq "Asset SHA256: $asset_digest" "$info_path"; then
  printf '%s is already installed from the latest GitHub AppImage.\n' "$release_name"
  exit 0
fi

download_path="$tmp_dir/$asset_name"
checksum=${asset_digest#sha256:}
printf 'Downloading %s...\n' "$asset_name"
curl -fsSL --retry 3 --retry-delay 2 -o "$download_path" "$asset_url"
printf '%s  %s\n' "$checksum" "$download_path" | sha256sum --check --status -
printf 'Checksum verified.\n'
chmod +x "$download_path"

printf 'Extracting the AppImage icon...\n'
(
  cd "$tmp_dir"
  "./$asset_name" --appimage-extract >/dev/null
)
if [ ! -f "$tmp_dir/squashfs-root/TeXworks.png" ]; then
  printf 'Could not extract the TeXworks AppImage icon.\n' >&2
  exit 1
fi

printf 'Installing the AppImage, wrapper, desktop entry, and icon...\n'
sudo install -d -m 755 "$install_dir"
sudo install -m 755 "$download_path" "$appimage_path"
sudo install -m 644 "$tmp_dir/squashfs-root/TeXworks.png" "$icon_path"
printf 'Release: %s\nAsset: %s\nAsset SHA256: %s\n' "$release_name" "$asset_name" "$asset_digest" | sudo tee "$info_path" >/dev/null
sudo tee "$wrapper_path" >/dev/null <<WRAPPER
#!/usr/bin/env bash
exec "$appimage_path" "\$@"
WRAPPER
sudo chmod 755 "$wrapper_path"
sudo tee "$desktop_path" >/dev/null <<DESKTOP
[Desktop Entry]
Type=Application
Name=TeXworks (AppImage)
GenericName=(La)TeX Editor
Comment=Edit, typeset, and preview TeX documents
Exec=$wrapper_path %F
Icon=texworks-appimage
Terminal=false
MimeType=text/x-tex;application/pdf;
Categories=Office;Qt;
Keywords=TeX;LaTeX;ConTeXt;XeTeX;PDF;editor;
StartupWMClass=org.tug.texworks
DESKTOP
if command -v update-desktop-database >/dev/null 2>&1; then
  sudo update-desktop-database /usr/share/applications >/dev/null 2>&1 || true
fi
printf 'Installed %s from %s.\n' "$release_name" "$asset_name"
EOF
sudo chmod 755 /usr/local/bin/update-texworks-appimage

Run the helper to download and install the current AppImage:

update-texworks-appimage
Resolving the latest TeXworks AppImage release...
Downloading TeXworks-0.6.11-x86_64-202602100835-git_7380941.AppImage...
Checksum verified.
Extracting the AppImage icon...
Installing the AppImage, wrapper, desktop entry, and icon...
Installed TeXworks 0.6.11 from TeXworks-0.6.11-x86_64-202602100835-git_7380941.AppImage.

Verify the installed release information and wrapper path:

cat /opt/texworks-appimage/release-info.txt
command -v texworks-appimage
Release: TeXworks 0.6.11
Asset: TeXworks-0.6.11-x86_64-202602100835-git_7380941.AppImage
Asset SHA256: sha256:4897b2dedf300faee5a5b0dcf4ad8c621ad0a7aeb1edee1d92e5113d5f504615
/usr/local/bin/texworks-appimage

Install the recommended Ubuntu TeX Live package too if you want the AppImage build to compile documents with the default pdflatex profile:

sudo apt install texlive-latex-recommended -y

Install TeXworks from Flathub

Use the Flatpak build when you want TeXworks isolated from APT packages or you already manage desktop apps through Flathub. The current Flathub record is verified for the TeXworks project and uses the app ID org.tug.texworks. Because the Flatpak sandbox uses its own runtime path, add the optional TeX Live extension when you want this build to compile documents.

Flatpak is not pre-installed on Ubuntu. If you have not set it up yet, install it with sudo apt install flatpak and restart your session before continuing. For full setup steps, follow the Flatpak installation guide for Ubuntu.

Add Flathub at system scope if it is not already configured:

sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo

Confirm that the remote exists before installing the app:

flatpak remotes --columns=name,options
flathub  system

Install TeXworks from Flathub:

sudo flatpak install flathub org.tug.texworks -y

Verify the installed Flatpak reference:

flatpak info --show-ref org.tug.texworks
app/org.tug.texworks/x86_64/stable

Install the optional TeX Live extension if you want the Flatpak build to compile documents. The extension is not downloaded automatically and is large, about a 2.5 GB download and 5 GB installed, so skip it when you only need the Flatpak app for editing or PDF preview work.

sudo flatpak install flathub org.freedesktop.Sdk.Extension.texlive//25.08 -y

Launch TeXworks

After installation, launch TeXworks from the terminal or the Ubuntu desktop menu.

Terminal Launch Commands

APT and PPA installations place the texworks command on your PATH:

texworks

The GitHub AppImage helper uses a separate wrapper so it does not override an APT or PPA install:

texworks-appimage

Flatpak installations use the app ID:

flatpak run org.tug.texworks

Graphical Launch

Open the Activities overview, type TeXworks, and select the application icon. The GitHub method appears as TeXworks (AppImage) so you can distinguish it from repository or Flatpak entries. TeXworks needs an active graphical session to open, so Server or minimal installs need a desktop session or remote display before the editor window can appear.

Use TeXworks for LaTeX Documents

The TeXworks window keeps the source editor and PDF preview close together. That layout is useful for short papers, notes, and technical documents where you want quick compile cycles instead of a large project-management interface.

Create Your First Document

Create a new file with File, New or press Ctrl+N. Save the file with a .tex extension, then start with a minimal document:

\documentclass{article}
\begin{document}
Hello, LaTeX world!
\end{document}

Compile and Preview

Click the green play button or press Ctrl+T to compile. TeXworks uses pdflatex by default, which handles most standard documents. If the compile succeeds, the PDF appears in the preview pane; if it fails, the log panel shows the missing package, syntax error, or tool path that needs attention.

Navigate with SyncTeX

SyncTeX links source lines and PDF positions. Hold Ctrl and click inside the editor to jump to the matching PDF location, or use Ctrl+Click in the PDF preview to return to the source line that generated that output.

Update or Remove TeXworks

Update TeXworks

APT and PPA installations update with normal package-manager updates. To refresh only TeXworks when an update is available, use --only-upgrade so APT does not install the package if it was removed earlier:

sudo apt update
sudo apt install --only-upgrade texworks -y

Update the GitHub AppImage by rerunning the helper. It downloads a new asset only when the latest GitHub digest differs from the installed release information:

update-texworks-appimage
Resolving the latest TeXworks AppImage release...
TeXworks 0.6.11 is already installed from the latest GitHub AppImage.

Update the Flatpak build and its runtime from Flathub with:

sudo flatpak update org.tug.texworks -y

Remove TeXworks

Remove the APT package when you installed TeXworks from the Ubuntu repository or the PPA:

sudo apt remove texworks -y

Verify that the APT package is no longer installed:

dpkg -l texworks | grep '^ii' || echo "texworks not installed"
texworks not installed

If you used the PPA and do not plan to reinstall from it, remove the repository too. The broader PPA cleanup workflow is covered in the guide to remove a PPA from Ubuntu.

sudo add-apt-repository --remove ppa:texworks/stable -y
sudo apt update

Remove the GitHub AppImage method by deleting the helper, wrapper, desktop entry, icon, and article-created install directory:

sudo rm -f /usr/local/bin/texworks-appimage \
  /usr/local/bin/update-texworks-appimage \
  /usr/share/applications/texworks-appimage.desktop \
  /usr/share/pixmaps/texworks-appimage.png
sudo rm -rf /opt/texworks-appimage

Confirm that the AppImage wrapper no longer resolves:

command -v texworks-appimage || echo "texworks-appimage removed"
texworks-appimage removed

Remove the Flatpak app with the same system scope used for installation, then clean unused runtimes if Flatpak reports any:

sudo flatpak remove org.tug.texworks -y
sudo flatpak uninstall --unused -y

Confirm that the Flatpak app is gone from the system installation:

sudo flatpak list --app --columns=application | grep -Fx org.tug.texworks || echo "NOT_INSTALLED"
NOT_INSTALLED

The Flatpak data directory can remain under ~/.var/app/org.tug.texworks/.

The next command permanently deletes TeXworks sandbox data for your user, including settings, templates, and cached application state. Export or back up anything you want to keep before removing this directory.

rm -rf ~/.var/app/org.tug.texworks

Removing TeXworks does not remove TeX Live. If you installed texlive-latex-recommended only for TeXworks and no longer need LaTeX compilation tools, remove that package separately with sudo apt remove texlive-latex-recommended -y. Avoid broad autoremove cleanup on shared or long-lived systems until you review what APT plans to remove.

Troubleshooting TeXworks

Fix “pdflatex not found” Errors

If TeXworks opens but cannot compile, the editor cannot find the LaTeX compiler. Check whether pdflatex is on your PATH:

command -v pdflatex
/usr/bin/pdflatex

If the command prints nothing, install the recommended TeX Live package:

sudo apt install texlive-latex-recommended -y

For GitHub AppImage installs, the same Ubuntu package supplies the host compiler that TeXworks calls. For Flatpak installs, add the TeX Live extension shown in the Flatpak method if you want the compiler stack inside the sandbox.

Fix Blank or Stale PDF Previews

A blank or stale PDF preview usually means the previous compile failed. Check the log panel at the bottom of TeXworks first. Missing LaTeX packages are common when a document uses extra fonts, classes, or packages outside the recommended TeX Live subset.

Install the common extras package set when the log points to missing fonts or LaTeX packages:

sudo apt install texlive-fonts-recommended texlive-latex-extra -y

Fix GitHub AppImage Launch Errors

If texworks-appimage fails with a FUSE error, a Qt platform plugin error, or a missing OpenGL/XCB library, reinstall the runtime package set used by the AppImage method:

if apt-cache show libfuse2t64 >/dev/null 2>&1; then
  sudo apt install libfuse2t64 libxcb-cursor0 libopengl0 -y
else
  sudo apt install libfuse2 libxcb-cursor0 libopengl0 -y
fi

If the helper reports that no x86_64 AppImage asset exists, check the current TeXworks GitHub releases. Use the APT, PPA, or Flatpak method on unsupported architectures.

Check Flatpak File Access

The current Flathub TeXworks build already grants host filesystem access, so it should be able to browse normal project folders. Check the installed permissions if file access looks restricted:

flatpak info --show-permissions org.tug.texworks

Relevant output should include the host filesystem entry:

[Context]
filesystems=xdg-config/kdeglobals:ro;host;

If you previously added custom per-user overrides and want to return to the packaged permissions, reset them and restart TeXworks:

flatpak override --user --reset org.tug.texworks

Restore SyncTeX Navigation

If Ctrl+Click navigation between the editor and PDF preview stops working, confirm that compilation creates a .synctex.gz file beside the PDF. Most current TeX Live setups enable SyncTeX automatically, but custom compile profiles can disable it.

Check the TeXworks typeset profile and make sure the compiler options include --synctex=1. You can also add \synctex=1 near the start of the document when a custom toolchain does not pass the flag.

Conclusion

TeXworks is ready on Ubuntu with a package source that matches your update style: APT for simple system integration, the stable PPA for newer builds on older LTS releases, GitHub AppImage for the latest official upstream Linux asset, or Flathub for a sandboxed desktop app. With the matching TeX Live package or Flatpak extension in place, the editor can compile LaTeX files, preview PDFs, and keep source-to-PDF navigation available through SyncTeX.

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 more of our fresh Linux tutorials in Top Stories and From your sources 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
<blockquote>quote</blockquote> quote block

Got a Question or Feedback?

We read and reply to every comment - let us know how we can help or improve this guide.

Verify before posting: