How to Install Pale Moon on Ubuntu 26.04, 24.04 and 22.04

Install Pale Moon on Ubuntu 26.04, 24.04 and 22.04 via official tarball. Covers desktop integration, updates and removal.

Last updatedAuthorJoshua JamesRead time9 minGuide typeUbuntuDiscussion2 comments

Some browsers keep moving toward heavier interfaces and tighter service integration, which is why Pale Moon still appeals when you want a traditional desktop browser. If you need to install Pale Moon on Ubuntu 26.04, 24.04, or 22.04, the practical path is the official Linux tarball because Pale Moon is not packaged in Ubuntu’s default repositories and the official download page does not offer an Ubuntu .deb.

The official mirror workflow stays simple on supported Ubuntu LTS releases when the system meets Pale Moon’s CPU requirement: verify x86_64 with AVX, download the GTK3 build, check its SHA256 hash, extract it into your home directory, then add launcher and icon integration. Pale Moon still needs a graphical desktop session to open after installation, even though you can download and unpack it from a terminal or over SSH.

Install Pale Moon on Ubuntu

Pale Moon’s official Linux downloads are published as archive files instead of APT packages. This workflow resolves the current x86_64 GTK3 tarball from the official download page, verifies the checksum listed on that page, extracts the browser into ~/palemoon, and adds the local system links that make it easier to launch. Pale Moon’s Linux installation notes also use a user-writable extraction path when you want the internal updater to work.

The official tarball is the direct upstream baseline when your CPU exposes AVX. Pale Moon’s contributed builds page lists endorsed third-party distro packages and older-hardware builds, but those can lag behind the main Linux release. The official page does not list Ubuntu .deb, Snap, Flatpak, or AppImage builds as primary download targets.

Update Ubuntu Before Installing Pale Moon

Refresh APT metadata and install pending package updates before you add a manual browser install under your home directory.

sudo apt update && sudo apt upgrade -y

These commands use sudo for package-management tasks. If your account does not have sudo access yet, follow the guide on how to add a new user to sudoers on Ubuntu or run the commands as root.

Check Pale Moon CPU Requirements on Ubuntu

Check the CPU feature flags before downloading the archive. Pale Moon’s technical details page says regular current builds require AVX, and a system that hides AVX can fail with an Illegal instruction message even when Ubuntu itself is 64-bit.

ARCH=$(uname -m)
if [ "$ARCH" != "x86_64" ]; then
  echo "This workflow expects Pale Moon's official x86_64 Linux tarball." >&2
  exit 1
fi

if ! grep -qm1 '^flags.*[[:space:]]avx[[:space:]]' /proc/cpuinfo; then
  echo "This CPU does not expose AVX, which current official Pale Moon builds require." >&2
  exit 1
fi

printf 'Architecture: %s\nAVX support: yes\n' "$ARCH"

Relevant output includes:

Architecture: x86_64
AVX support: yes

If the AVX check fails, stop before you download or run the official tarball. On a virtual machine, enable CPU feature passthrough if the host CPU supports AVX; on older hardware, use an endorsed contributed build or another maintained browser instead of forcing the official archive.

Install Pale Moon Prerequisites on Ubuntu

Install the download, archive, and runtime packages before you pull the tarball. The libdbus-glib-1-2 package covers the missing libdbus-glib-1.so.2 startup error that current Pale Moon builds hit on Ubuntu if the library is absent.

sudo apt install curl xz-utils libdbus-glib-1-2 -y

The archive lookup uses curl -fsSL so HTTP failures stop the command, normal output stays quiet, and redirects are followed automatically. That same download pattern also shows up in the curl command in Linux reference.

Resolve the Current Pale Moon Tarball on Ubuntu

Resolve the current release and checksum from Pale Moon’s official download page before you download anything. The filters rely on the grep command in Linux and a short awk pass to pair the Linux GTK3 filename with the SHA256 hash published on the same page.

DOWNLOAD_PAGE=$(curl -fsSL https://www.palemoon.org/download.shtml)
HASH_TEXT=$(printf '%s\n' "$DOWNLOAD_PAGE" | sed -n '/Hashes for release /,/<\/pre>/p' | sed -E 's/<[^>]+>/ /g')
VERSION=$(printf '%s\n' "$HASH_TEXT" | grep -Eo 'Hashes for release [0-9.]+' | awk '{print $4}' | tail -1)
FILENAME="palemoon-${VERSION}.linux-x86_64-gtk3.tar.xz"
SHA256=$(printf '%s\n' "$HASH_TEXT" | tr -s '[:space:]' '\n' | awk -v file="$FILENAME" '$0 == file { getline; print; exit }')

if [ -z "$VERSION" ] || [ -z "$SHA256" ]; then
  echo "Could not resolve the current Pale Moon Linux GTK3 release and checksum." >&2
  exit 1
fi

printf 'Version: %s\nFile: %s\n' "$VERSION" "$FILENAME"

Relevant output includes:

Version: 34.2.2
File: palemoon-34.2.2.linux-x86_64-gtk3.tar.xz

The current official Linux download page publishes x86_64 GTK2 and GTK3 tarballs. The commands here use GTK3 for current Ubuntu desktops; use the contributed builds page only when your CPU, architecture, or distro packaging needs fall outside that official tarball path.

Download Pale Moon on Ubuntu

Keep using the same terminal session so the version, filename, and checksum variables from the previous step stay available while you download and verify the tarball.

DOWNLOAD_URL="https://www.palemoon.org/download.php?mirror=us&bits=64&type=linuxgtk3"
printf '%s\n' "$DOWNLOAD_URL"

Download the tarball after you confirm the URL uses Pale Moon’s official download handler. The next command records the final mirror URL, checks that it matches the expected filename, and verifies the SHA256 hash before extraction.

FINAL_URL=$(curl -fsSL --output /tmp/palemoon.tar.xz --write-out '%{url_effective}' "$DOWNLOAD_URL")
case "$FINAL_URL" in
  *"$FILENAME") ;;
  *)
    echo "Download resolved to an unexpected file: $FINAL_URL" >&2
    exit 1
    ;;
esac

printf 'Downloaded from: %s\n' "$FINAL_URL"
printf '%s  %s\n' "$SHA256" /tmp/palemoon.tar.xz | sha256sum -c -

Relevant output includes:

Downloaded from: https://rm-us.palemoon.org/release/palemoon-34.2.2.linux-x86_64-gtk3.tar.xz
/tmp/palemoon.tar.xz: OK

Extract Pale Moon on Ubuntu

Extract the tarball into your home directory. The follow-up file check confirms that the browser binary, updater files, and bundled icons are all present before you start creating launchers.

rm -rf "$HOME/palemoon"
tar -xf /tmp/palemoon.tar.xz -C "$HOME"
ls "$HOME/palemoon/updater" "$HOME/palemoon/update-settings.ini" "$HOME/palemoon/browser/chrome/icons/default/default16.png" "$HOME/palemoon/browser/icons/mozicon128.png"

Relevant output includes:

/home/your-user/palemoon/browser/chrome/icons/default/default16.png
/home/your-user/palemoon/browser/icons/mozicon128.png
/home/your-user/palemoon/updater
/home/your-user/palemoon/update-settings.ini

Create Pale Moon Desktop Integration on Ubuntu

Create the launcher symlink, icon links, and desktop file so Pale Moon behaves like a normal desktop application instead of a bare extracted archive. If you want more detail on what the ln -s command is doing, the guide on how to create symbolic links in Ubuntu explains the underlying command.

sudo ln -sf "$HOME/palemoon/palemoon" /usr/local/bin/palemoon

Install the bundled icons next so the launcher keeps a proper application icon instead of falling back to a generic placeholder.

sudo mkdir -p /usr/share/icons/hicolor/16x16/apps /usr/share/icons/hicolor/32x32/apps /usr/share/icons/hicolor/48x48/apps /usr/share/icons/hicolor/128x128/apps
sudo ln -sf "$HOME/palemoon/browser/chrome/icons/default/default16.png" /usr/share/icons/hicolor/16x16/apps/palemoon.png
sudo ln -sf "$HOME/palemoon/browser/chrome/icons/default/default32.png" /usr/share/icons/hicolor/32x32/apps/palemoon.png
sudo ln -sf "$HOME/palemoon/browser/chrome/icons/default/default48.png" /usr/share/icons/hicolor/48x48/apps/palemoon.png
sudo ln -sf "$HOME/palemoon/browser/icons/mozicon128.png" /usr/share/icons/hicolor/128x128/apps/palemoon.png

The desktop entry uses sudo tee because a plain > redirection would not write into a root-owned location like /usr/share/applications/ with elevated privileges.

sudo tee /usr/share/applications/palemoon.desktop > /dev/null <<EOF
[Desktop Entry]
Version=1.0
Name=Pale Moon Web Browser
Comment=Browse the World Wide Web
Keywords=Internet;WWW;Browser;Web;Explorer
Exec=/usr/local/bin/palemoon %u
Terminal=false
Type=Application
Icon=palemoon
Categories=Network;WebBrowser;
MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/rss+xml;application/rdf+xml;image/gif;image/jpeg;image/png;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp;x-scheme-handler/chrome;video/webm;application/x-xpinstall;
StartupNotify=true
EOF

Refresh the icon cache once the launcher files are in place so new menu icons are picked up immediately on desktop environments that cache them aggressively.

sudo gtk-update-icon-cache -f /usr/share/icons/hicolor

Register Pale Moon as a Browser on Ubuntu

Register Pale Moon with Ubuntu’s browser alternatives only if you want it to appear as a selectable default for applications that call x-www-browser or gnome-www-browser.

sudo update-alternatives --install /usr/bin/x-www-browser x-www-browser /usr/local/bin/palemoon 100
sudo update-alternatives --install /usr/bin/gnome-www-browser gnome-www-browser /usr/local/bin/palemoon 100
update-alternatives --query x-www-browser | sed -n '1,8p'

Relevant output includes:

Name: x-www-browser
Link: /usr/bin/x-www-browser
Status: auto
Best: /usr/local/bin/palemoon
Value: /usr/local/bin/palemoon

Verify Pale Moon Installation on Ubuntu

Confirm that the launcher path, desktop entry, icon, and browser binary are all in place before you try to open the graphical app.

command -v palemoon
ls /usr/share/applications/palemoon.desktop /usr/share/icons/hicolor/128x128/apps/palemoon.png
palemoon -v

Relevant output includes:

/usr/local/bin/palemoon
/usr/share/applications/palemoon.desktop
/usr/share/icons/hicolor/128x128/apps/palemoon.png
Moonchild Productions Pale Moon 34.2.2

The exact version changes as new releases land on the official mirrors, but the verified output format stays the same.

Launch Pale Moon on Ubuntu

The browser can be downloaded and unpacked from any shell, but it still needs a graphical desktop session when you actually launch it.

Launch Pale Moon from the Applications Menu on Ubuntu

Search for Pale Moon Web Browser in Activities or your desktop launcher and open it there. If the icon does not appear immediately, sign out and back in so the desktop session reloads the new launcher metadata.

Launch Pale Moon from Terminal on Ubuntu

Use the launcher command from any graphical terminal after the desktop session is running.

palemoon
Launching Pale Moon browser from Ubuntu Linux terminal with palemoon command
Launch Pale Moon Browser on Ubuntu Linux

Manage Pale Moon on Ubuntu

The official tarball stays outside Ubuntu’s package database, so updates and cleanup are a little different from an apt install workflow.

Update Pale Moon on Ubuntu

This tarball install does not move with apt upgrade. Pale Moon ships updater files inside the archive, so the normal check runs from Help > About Pale Moon inside the browser. Pale Moon’s update preferences note that update installs require the original installing user or an administrator, so keeping the browser tree under your account avoids a root-owned updater problem.

If you want a manual fallback that refreshes the same install without reopening the article later, create a small update-palemoon command. The helper resolves the current official GTK3 tarball and checksum, downloads the mirror file, and swaps the extracted tree in only after the new files are ready.

  • Use Help > About Pale Moon for the normal in-browser update check.
  • Create update-palemoon if you want a memorable fallback command from any terminal directory.
  • Close Pale Moon before running the manual updater so files are not replaced while the browser is still open.

Create the update-palemoon Command on Ubuntu

Install the updater command into /usr/local/bin so you can run update-palemoon from any directory. The script resolves the active install path from the /usr/local/bin/palemoon launcher you created earlier, which keeps the update command pointed at the same browser tree.

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

# Resolve the existing Pale Moon install directory from the launcher symlink.
LAUNCHER_TARGET=$(readlink -f /usr/local/bin/palemoon 2>/dev/null || true)
if [ -z "$LAUNCHER_TARGET" ] || [ ! -x "$LAUNCHER_TARGET" ]; then
  echo "Could not resolve the installed Pale Moon launcher at /usr/local/bin/palemoon." >&2
  exit 1
fi

INSTALL_DIR=$(dirname "$LAUNCHER_TARGET")

# Pale Moon's official Linux download page currently publishes x86_64 GTK tarballs.
ARCH=$(uname -m)
if [ "$ARCH" != "x86_64" ]; then
  echo "This script expects the official x86_64 Pale Moon Linux tarball." >&2
  exit 1
fi

if ! grep -qm1 '^flags.*[[:space:]]avx[[:space:]]' /proc/cpuinfo; then
  echo "This CPU does not expose AVX, which current official Pale Moon builds require." >&2
  exit 1
fi

# Resolve the current release and checksum automatically instead of hardcoding a version.
DOWNLOAD_PAGE=$(curl -fsSL https://www.palemoon.org/download.shtml)
HASH_TEXT=$(printf '%s\n' "$DOWNLOAD_PAGE" | sed -n '/Hashes for release /,/<\/pre>/p' | sed -E 's/<[^>]+>/ /g')
VERSION=$(printf '%s\n' "$HASH_TEXT" | grep -Eo 'Hashes for release [0-9.]+' | awk '{print $4}' | tail -1)
FILENAME="palemoon-${VERSION}.linux-x86_64-gtk3.tar.xz"
SHA256=$(printf '%s\n' "$HASH_TEXT" | tr -s '[:space:]' '\n' | awk -v file="$FILENAME" '$0 == file { getline; print; exit }')

if [ -z "$VERSION" ] || [ -z "$SHA256" ]; then
  echo "Could not resolve the current Pale Moon Linux GTK3 release and checksum." >&2
  exit 1
fi

DOWNLOAD_URL="https://www.palemoon.org/download.php?mirror=us&bits=64&type=linuxgtk3"

TMPDIR=$(mktemp -d)
trap 'rm -rf "$TMPDIR"' EXIT

echo "Updating Pale Moon in $INSTALL_DIR..."
echo "Downloading Pale Moon $VERSION..."
FINAL_URL=$(curl -fsSL --output "$TMPDIR/$FILENAME" --write-out '%{url_effective}' "$DOWNLOAD_URL")
case "$FINAL_URL" in
  *"$FILENAME") ;;
  *)
    echo "Download resolved to an unexpected file: $FINAL_URL" >&2
    exit 1
    ;;
esac

printf '%s  %s\n' "$SHA256" "$TMPDIR/$FILENAME" | sha256sum -c -
tar -xf "$TMPDIR/$FILENAME" -C "$TMPDIR"

if [ ! -d "$TMPDIR/palemoon" ]; then
  echo "Pale Moon archive did not extract to a palemoon directory." >&2
  exit 1
fi

BACKUP_DIR="${INSTALL_DIR}.previous"

if [ -d "$INSTALL_DIR" ]; then
  rm -rf "$BACKUP_DIR"
  mv "$INSTALL_DIR" "$BACKUP_DIR"
fi

if mv "$TMPDIR/palemoon" "$INSTALL_DIR"; then
  rm -rf "$BACKUP_DIR"
  printf 'Updated to %s\n' "$VERSION"
else
  if [ -d "$BACKUP_DIR" ]; then
    mv "$BACKUP_DIR" "$INSTALL_DIR"
  fi
  echo "Update failed, previous Pale Moon install restored." >&2
  exit 1
fi
EOF

Make the command executable and confirm that Ubuntu can find it from your shell.

sudo chmod +x /usr/local/bin/update-palemoon
command -v update-palemoon

Expected output:

/usr/local/bin/update-palemoon

Run update-palemoon as your regular user, not with sudo. The command updates the browser files under your home directory, and keeping that tree owned by your account avoids permission problems later.

Use this as a manual refresh tool, not a cron job. Replacing the browser directory while Pale Moon is open is an easy way to create a broken update or a locked file problem.

Run the command whenever you want a manual refresh:

update-palemoon

Relevant output includes:

Updating Pale Moon in /home/your-user/palemoon...
Downloading Pale Moon 34.2.2...
/tmp/tmp.example/palemoon-34.2.2.linux-x86_64-gtk3.tar.xz: OK
Updated to 34.2.2

Your existing symlink, icons, and desktop launcher stay valid because the command replaces the same Pale Moon directory the launcher already points to.

Use Pale Moon Extensions on Ubuntu

Pale Moon has its own add-on ecosystem at the Pale Moon Add-ons Site, including extensions, themes, language tools, dictionaries, and search plugins. Pale Moon’s technical details page also notes compatibility with many legacy Firefox XUL extensions, but modern Firefox WebExtensions are not a drop-in match, so start with Pale Moon’s own add-on catalog first.

Open Pale Moon Profile Manager on Ubuntu

Use the long --ProfileManager form to open the chooser. For a named profile, use uppercase -P; lowercase -p is easy to confuse with other profile-path forms. Profile Manager is useful when you want a clean browsing profile for temporary troubleshooting, separate accounts, or extension checks.

palemoon --ProfileManager

To launch a specific profile directly, use:

palemoon -P profile-name

Change Pale Moon about:config Preferences on Ubuntu

Preference names such as apz.desktop.enabled are Pale Moon browser settings, not Ubuntu packages. Open about:config inside Pale Moon, search for the preference name, and change it only when you are intentionally testing browser scrolling or input behavior. If the change causes problems, return to the same preference and reset it.

Remove Pale Moon on Ubuntu

Remove the browser alternatives first if you registered them, then delete the launcher, menu entry, icons, extracted browser directory, and the optional update-palemoon command.

if update-alternatives --query gnome-www-browser 2>/dev/null | grep -q '/usr/local/bin/palemoon'; then
  sudo update-alternatives --remove gnome-www-browser /usr/local/bin/palemoon
fi

if update-alternatives --query x-www-browser 2>/dev/null | grep -q '/usr/local/bin/palemoon'; then
  sudo update-alternatives --remove x-www-browser /usr/local/bin/palemoon
fi

Remove the launcher files and extracted browser directory next.

sudo rm -f /usr/local/bin/palemoon /usr/local/bin/update-palemoon /usr/share/applications/palemoon.desktop
sudo rm -f /usr/share/icons/hicolor/16x16/apps/palemoon.png
sudo rm -f /usr/share/icons/hicolor/32x32/apps/palemoon.png
sudo rm -f /usr/share/icons/hicolor/48x48/apps/palemoon.png
sudo rm -f /usr/share/icons/hicolor/128x128/apps/palemoon.png
sudo gtk-update-icon-cache -f /usr/share/icons/hicolor
rm -rf "$HOME/palemoon"
rm -rf "$HOME/palemoon.previous"

Verify that the launcher and extracted files are gone:

remaining=0
for path in \
  /usr/local/bin/palemoon \
  /usr/local/bin/update-palemoon \
  /usr/share/applications/palemoon.desktop \
  /usr/share/icons/hicolor/16x16/apps/palemoon.png \
  /usr/share/icons/hicolor/32x32/apps/palemoon.png \
  /usr/share/icons/hicolor/48x48/apps/palemoon.png \
  /usr/share/icons/hicolor/128x128/apps/palemoon.png \
  "$HOME/palemoon" \
  "$HOME/palemoon.previous"; do
  if [ -e "$path" ]; then
    printf 'Still exists: %s\n' "$path" >&2
    remaining=1
  fi
done

if [ "$remaining" -eq 0 ]; then
  echo "Pale Moon files removed"
fi

Expected output:

Pale Moon files removed

Remove Pale Moon User Data on Ubuntu

This permanently deletes Pale Moon bookmarks, saved passwords, browsing history, and extensions. Export anything you want to keep first.

Check for Pale Moon profile directories under your home folder before you delete anything. This is safer than assuming the profile path already exists on every Ubuntu desktop.

find "$HOME" -maxdepth 2 -type d -iname '*moonchild*'

If that command returns ~/.moonchild productions, remove it along with any per-user desktop entries Pale Moon created.

rm -rf "$HOME/.moonchild productions"
rm -f "$HOME"/.local/share/applications/userapp-Pale\ Moon-*.desktop

Troubleshoot Pale Moon on Ubuntu

Most Pale Moon issues on Ubuntu come from missing runtime libraries, stale menu metadata, or relying on Ubuntu’s package manager for a tarball-based install.

Fix Illegal Instruction Errors for Pale Moon on Ubuntu

If Pale Moon exits with Illegal instruction from the terminal, recheck the AVX requirement before you reinstall packages. This failure means the official binary tried to use a CPU instruction that the current machine or virtual machine does not expose.

grep -m1 -o 'avx' /proc/cpuinfo || echo "AVX not available"

Expected output on a compatible system:

avx

If the command prints AVX not available, enable AVX passthrough in your VM settings when the host CPU supports it, move to AVX-capable hardware, or use an endorsed build from Pale Moon’s contributed builds page. Installing more Ubuntu libraries will not fix a missing CPU instruction.

Fix libdbus-glib-1.so.2 Errors for Pale Moon on Ubuntu

If Pale Moon fails immediately from the terminal, check for the missing libdbus-glib-1.so.2 library first. This is the startup failure the current tarball throws when libdbus-glib-1-2 is missing.

$HOME/palemoon/palemoon -v

Error output looks like this when the runtime library is missing:

XPCOMGlueLoad error for file /home/your-user/palemoon/libxul.so:
libdbus-glib-1.so.2: cannot open shared object file: No such file or directory
Couldn't load XPCOM.

Install the missing package, then rerun the version check:

sudo apt install libdbus-glib-1-2 -y
palemoon -v

Relevant output after the fix includes:

Moonchild Productions Pale Moon 34.2.2

Refresh Pale Moon Menu Icons on Ubuntu

If the browser launches from the terminal but not from the menu, make sure the desktop file and icon were written where the desktop environment expects them.

ls /usr/share/applications/palemoon.desktop /usr/share/icons/hicolor/128x128/apps/palemoon.png

Expected output:

/usr/share/applications/palemoon.desktop
/usr/share/icons/hicolor/128x128/apps/palemoon.png

Refresh the icon cache if those files exist but the menu entry still has not appeared:

sudo gtk-update-icon-cache -f /usr/share/icons/hicolor

After that, sign out and back in so the desktop session reloads the launcher metadata.

Use the update-palemoon Command on Ubuntu

If Help > About Pale Moon stops applying updates, rerun update-palemoon instead of rebuilding the refresh workflow by hand.

update-palemoon

Conclusion

Pale Moon is installed on Ubuntu from the official GTK3 tarball with checksum verification, AVX-aware compatibility checks, a working launcher, menu entry, icon set, and a manual refresh path if the built-in updater ever stalls. If you want a browser that stays closer to Ubuntu’s package flow, try install Firefox ESR on Ubuntu, or use install Flatpak on Ubuntu only when a separate community package is the goal.

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

2 thoughts on “How to Install Pale Moon on Ubuntu 26.04, 24.04 and 22.04”

    • Thanks for pointing this out. It seems Steven has removed all Debian and Ubuntu builds and is now only supporting MX Linux, which he uses and contributes to, based on information from the Pale Moon forums. I’ll update the guide soon with alternative methods.

      Reply
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

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: