Google Chrome on Ubuntu gives you access to Google’s Chromium-based browser with native sync for bookmarks, passwords, and browsing history across devices. Whether you need Chrome for web development testing, accessing Google Workspace apps, or sites that work best with Chrome’s rendering engine, this guide configures Google’s official APT repository so your browser receives automatic security updates alongside your system packages.
By the end of this guide, you will have Google Chrome installed from Google’s official repository using the modern DEB822 format, with the GPG key properly configured and your choice of stable, beta, unstable, or canary builds available.
Prepare Your System
Before adding Google’s repository, refresh your package list and install the tools needed to download and verify packages over HTTPS.
Update Package Lists
Refresh your system’s package index to ensure you install the latest versions of any prerequisites:
sudo apt update
Install Required Packages
Install the packages needed for secure downloads and GPG key management:
sudo apt install ca-certificates curl -y
This command installs certificate handling for HTTPS connections and the curl utility for downloading files. Ubuntu includes the gpg command by default for GPG key operations.
Chrome Release Channels
Google publishes Chrome through four release channels, each targeting different use cases. All channels are available from the same repository, so you can install multiple versions side-by-side for different purposes.
| Channel | Package Name | Stability | Best For |
|---|---|---|---|
| Stable | google-chrome-stable | High | Daily browsing, production use |
| Beta | google-chrome-beta | Moderate | Preview features 4-6 weeks before stable |
| Unstable (Dev) | google-chrome-unstable | Low | Early development testing |
| Canary | google-chrome-canary | Very Low | Experimental builds updated daily |
Most users should install the stable channel. The beta, unstable, and canary channels receive updates more frequently and may contain bugs that make them unsuitable for daily use.
Import Google’s Repository Signing Key
APT requires a GPG key to verify the authenticity of packages downloaded from external repositories. Download Google’s public signing key, convert it to binary format, and store it in the system keyring directory:
curl -fsSL https://dl.google.com/linux/linux_signing_key.pub | sudo gpg --dearmor -o /usr/share/keyrings/google-chrome.gpg
This single command downloads the key, converts it from ASCII-armored format to binary, and writes it directly to /usr/share/keyrings/ with the correct ownership. Your system can now verify packages signed by Google during installation and updates.
Add the Google Chrome Repository
Create a repository configuration file using the modern DEB822 format, which is clearer and more maintainable than the legacy one-line format:
cat <<EOF | sudo tee /etc/apt/sources.list.d/google-chrome.sources
Types: deb
URIs: https://dl.google.com/linux/chrome/deb/
Suites: stable
Components: main
Architectures: amd64
Signed-By: /usr/share/keyrings/google-chrome.gpg
EOF
Each line in this configuration serves a specific purpose:
- Types: deb specifies binary packages (not source packages)
- URIs points to Google’s package server
- Suites: stable is the repository branch (despite the name, all four Chrome channels are available from this branch)
- Architectures: amd64 limits packages to 64-bit (Google does not publish 32-bit Chrome packages)
- Signed-By links to the GPG key you imported earlier
The Google Chrome repository uses a universal package format that works on all current Ubuntu releases, including 22.04 LTS, 24.04 LTS, 26.04 LTS, and interim versions. Commands shown in this guide work identically regardless of your specific Ubuntu version.
Verify the Repository Configuration
Refresh your package lists to include the new repository:
sudo apt update
Confirm the repository is working by checking the package sources:
apt-cache policy google-chrome-stable
The output should show Google’s repository as the package source:
google-chrome-stable:
Installed: (none)
Candidate: 143.0.7499.192-1
Version table:
143.0.7499.192-1 500
500 https://dl.google.com/linux/chrome/deb stable/main amd64 Packages
If you see the https://dl.google.com URL in the output, the repository is configured correctly. The version number will differ as Google releases updates.
Install Google Chrome
With the repository configured, install your preferred Chrome channel using APT.
Install Chrome Stable
The stable version receives updates after thorough testing by Google’s quality assurance teams, making it the safest choice for daily browsing:
sudo apt install google-chrome-stable
Verify the installation by checking the version:
google-chrome --version
Google Chrome 143.0.7499.192
Your version number will reflect the latest stable release at installation time. Chrome updates automatically through the repository, so the version may change after system updates.
Install Beta, Unstable, or Canary Builds
For early access to experimental features, install an alternate channel. Each channel installs as a separate application, so you can run multiple versions simultaneously:
Install the beta version (one to two major versions ahead of stable):
sudo apt install google-chrome-beta
Install the unstable (dev) version for active development testing:
sudo apt install google-chrome-unstable
Install the canary version for the absolute latest experimental builds:
sudo apt install google-chrome-canary
Verify your chosen channel with its specific version command:
google-chrome-beta --version
google-chrome-unstable --version
google-chrome-canary --version
The unstable and canary channels may contain bugs and stability issues unsuitable for production environments. Use the stable channel for daily browsing and reserve these channels for testing new features or web development.
Launch Google Chrome
Launch from Terminal
Each Chrome channel has its own command. Launch the stable version:
google-chrome
Launch the beta version:
google-chrome-beta
Launch the unstable version:
google-chrome-unstable
Launch the canary version:
google-chrome-canary
Launch from Applications Menu
Open Chrome through the graphical interface:
- Click Activities in the top-left corner of your screen (or press the Super key).
- Type “Chrome” in the search field.
- Click the Google Chrome icon to launch. If you have multiple versions installed, they appear as separate entries: Google Chrome, Google Chrome (Beta), Google Chrome (Unstable), and Google Chrome (Canary).

First Launch Configuration
When you open Google Chrome for the first time on Ubuntu, several prompts help configure the browser for your preferences. These setup steps are optional but personalize your browsing experience.
Keychain Password Prompt
Ubuntu may prompt you to set up or unlock a keychain password. The keychain stores passwords for websites and applications securely. Enter your user password or create a new keychain password, or click Cancel to skip keychain integration.
Set Chrome as Default Browser
Chrome will ask whether you want to make it the default browser. Click “Set as Default” to replace your current default (usually Firefox on Ubuntu), or close the prompt to keep your existing default.
Usage Statistics and Crash Reports
Chrome displays an option to send usage statistics and crash reports to Google, which helps improve the browser. Select or deselect the checkbox based on your privacy preferences.
Sign In with Google Account
Chrome allows you to sign in with your Google account to sync bookmarks, history, passwords, and settings across devices. This is optional, and you can skip it by clicking the X in the sign-in tab or selecting “Continue without account.”
Update and Remove Chrome
Keep Chrome Updated
The APT repository you configured delivers Chrome updates automatically alongside your system packages. Refresh your package lists and upgrade all packages:
sudo apt update
sudo apt upgrade
To update only Chrome without upgrading other packages, use the --only-upgrade flag with the specific package name:
sudo apt install --only-upgrade google-chrome-stable
Replace google-chrome-stable with google-chrome-beta, google-chrome-unstable, or google-chrome-canary to update a different channel.
Uninstall Google Chrome
If you no longer need Google Chrome, remove it along with its repository configuration.
Remove Chrome Packages
Use the appropriate command based on the channel you installed:
sudo apt purge google-chrome-stable
For other channels:
sudo apt purge google-chrome-beta
sudo apt purge google-chrome-unstable
sudo apt purge google-chrome-canary
Remove unused dependencies Chrome installed:
sudo apt autoremove --purge
Remove Repository and GPG Key
Delete the repository configuration file and GPG key to prevent APT from checking for Chrome updates:
sudo rm -f /etc/apt/sources.list.d/google-chrome.sources
sudo rm -f /etc/apt/sources.list.d/google-chrome.list
sudo rm -f /usr/share/keyrings/google-chrome.gpg
The second line removes a legacy .list file that Chrome’s installer may have created. Refresh your package lists:
sudo apt update
Verify the repository is no longer active:
apt-cache policy google-chrome-stable
N: Unable to locate package google-chrome-stable
This output confirms the package is no longer available from any repository.
Remove User Data (Optional)
The following commands permanently delete your Chrome profile data, including bookmarks, saved passwords, extensions, and browsing history. Back up these directories first if you want to preserve this data for a future Chrome reinstallation.
Remove all Chrome configuration and cache files from your home directory:
rm -rf ~/.config/google-chrome*
rm -rf ~/.cache/google-chrome*
rm -rf ~/.local/share/applications/google-chrome*.desktop
After running these commands, Google Chrome is fully removed with no residual configuration or cache files.
Troubleshoot Common Chrome Issues
Fix Duplicate Repository Warnings
Google’s Chrome installer sometimes creates a legacy google-chrome.list file during package installation, even when you have already configured the modern .sources format. This causes duplicate repository warnings during apt update:
W: Target Packages (main/binary-amd64/Packages) is configured multiple times in /etc/apt/sources.list.d/google-chrome.list:1 and /etc/apt/sources.list.d/google-chrome.sources:1
Remove the duplicate file to resolve the warning:
sudo rm -f /etc/apt/sources.list.d/google-chrome*.list
sudo apt update
The .list files do not reappear during Chrome updates because Google’s installer creates them only on first install. A complete reinstallation would recreate them, requiring you to remove them again.
Chrome Fails to Start with GPU Errors
Chrome may fail to start on systems with certain GPU configurations or when running in virtual machines. Launch Chrome with GPU sandboxing disabled to diagnose the issue:
google-chrome --disable-gpu-sandbox
If Chrome starts successfully with this flag, the issue is GPU-related. You can also disable GPU acceleration entirely:
google-chrome --disable-gpu
For a permanent fix, check Chrome’s GPU status by navigating to chrome://gpu in the address bar. This page shows which GPU features are enabled or disabled and any blocklist reasons.
Chrome Crashes on Wayland Sessions
Ubuntu 24.04 and newer default to Wayland sessions. If Chrome crashes or displays rendering issues, force Chrome to run in X11 mode:
google-chrome --ozone-platform=x11
For better performance on modern hardware, force native Wayland mode instead:
google-chrome --ozone-platform=wayland
To make this setting permanent, edit Chrome’s desktop file or create a persistent launch configuration.
Missing Fonts or Emoji Display Issues
If web pages display placeholder boxes instead of characters or emoji, install additional font packages:
sudo apt install fonts-noto-color-emoji fonts-noto fonts-liberation
Restart Chrome after installing the fonts for changes to take effect.
Chrome Profile Locked Error
If Chrome reports “Your profile could not be opened correctly” or displays a lock error, a previous Chrome process may have exited uncleanly. Remove the lock file:
rm ~/.config/google-chrome/SingletonLock
Restart Chrome after removing the lock file.
Additional Resources
These official resources provide additional information for managing and troubleshooting Chrome:
- Google Chrome Release Blog: Updates on the latest stable, beta, and developer Chrome versions with changelogs and security fixes.
- Chrome Developer Release Notes: Developer-focused updates on new APIs, deprecations, and behavior changes.
- Google Chrome Help Center: Official guides for troubleshooting, privacy settings, and browser optimization.
- Chrome Web Store: Extensions, apps, and themes to customize your browsing experience.
Conclusion
Google Chrome is now configured on your Ubuntu system with automatic updates through Google’s official APT repository. The installation uses modern DEB822 repository format with proper GPG key management, ensuring secure package verification for all future updates.
To explore other browsers, consider installing Chromium on Ubuntu as an open-source alternative, or try Brave Browser on Ubuntu for privacy-focused browsing with the same Chromium engine. For extensive customization options, Vivaldi on Ubuntu offers unique features, while Firefox ESR on Ubuntu provides a stable alternative with an independent rendering engine.
I did this installation and everything worked without any error messages until the last command to get Google Chrome. Ubuntu looks great and will replace Windows. But I absolutely need the JW app from Google Chrome. I downloaded the APK from jw.org, but Ubuntu didn’t accept it and told me to get the DEB file. Please have some patience with me — I’m 79 years old and technology has always been my life. Years ago, I helped many friends switch from Windows 7 to 10. Now I’m thinking about moving many PCs to Linux. There are many people on this Earth with older PCs who can’t always afford the latest, so Linux would be better — and this can also be promoted. I look forward to the day when this works! Thank you for your understanding,
Michel
Thanks! I was getting this error when doing “sudo apt update”:
“The following signatures could not be verified because the public key is not available: NO_PUBKEY 32EE5355A6BC6E42
Failed to fetch http://dl.google.com/linux/chrome/deb/dists/stable/InRelease The following signatures could not be verified because the public key is not available: NO_PUBKEY 32EE5355A6BC6E42”
I had to do this before I was able to install Chrome again using the apt method outlined above.
sudo rm /etc/apt/sources.list.d/google.list*
Before that I had also deleted the chrome keys.
Thanks for sharing this, Ben. The
NO_PUBKEYerror indicates APT cannot verify the repository signature because the GPG key is missing or incorrectly configured. Your solution of removing the old repository files and keys, then re-importing fresh copies, is exactly the right approach.For others encountering this issue, follow the Import Google Chrome APT Repository section from the beginning. First, import the GPG key:
Then add the repository with the correct keyring reference:
This ensures APT can verify Google’s repository signatures and prevents the
NO_PUBKEYerror from recurring.Trying to install Chrome on a fresh Ubuntu-Unity 24.04.1 machine and while following the instructions for apt I keep getting this response, and I’m unable to install chrome.
$ sudo apt update
Hit:1 http://security.ubuntu.com/ubuntu noble-security InRelease
Ign:2 http://dl.google.com/linux/chrome/dev stable InRelease
Hit:3 http://archive.ubuntu.com/ubuntu noble InRelease
Hit:4 http://archive.ubuntu.com/ubuntu noble-updates InRelease
Hit:5 http://archive.ubuntu.com/ubuntu noble-backports InRelease
Err:6 http://dl.google.com/linux/chrome/dev stable Release
404 Not Found [IP: 172.217.169.46 80]
Reading package lists… Done
E: The repository ‘http://dl.google.com/linux/chrome/dev stable Release’ does not have a Release file.
N: Updating from such a repository can’t be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
The IP address changes occasionally, which I assume is just different mirrors.
Any suggestions or obvious fixes?
Thanks for reporting this. The 404 error shows your repository configuration points to
http://dl.google.com/linux/chrome/devinstead of the correct pathhttp://dl.google.com/linux/chrome/deb/. Notice the difference:chrome/dev(incorrect) versuschrome/deb/(correct).Remove the incorrect repository file:
Then re-add the repository using the correct URL from the Import Google Chrome APT Repository section:
Update your package lists and Chrome should install successfully:
OK thx – still not working but will investigate further.
Hi Arnfinn,
Actually, maybe just run the ping command like:
ping dl.google.com
Also, you did install the initially required packages?
sudo apt install curl software-properties-common apt-transport-https ca-certificates -y
Re-tested using a VPN connection, works fine, it will be something minor i suspect.
Hope it works out.
Trying now and get:
curl -fSsL https://dl.google.com/linux/linux_signing_key.pub | gpg –dearmor | sudo tee /usr/share/keyrings/google-chrome.gpg > /dev/null
curl: (6) Could not resolve host: dl.google.com
gpg: no valid OpenPGP data found.
Thanks for reporting this. The
curl: (6) Could not resolve hosterror indicates your system cannot resolve dl.google.com through DNS. The GPG error follows because curl received no data to process.First, verify your network connection works and test DNS resolution with nslookup:
If nslookup fails, your DNS configuration needs attention. Check
/etc/resolv.conffor valid nameservers or temporarily switch to Google’s DNS (8.8.8.8) in your network settings. If you’re behind a corporate firewall or proxy, configure curl to use your proxy with the-xflag or set thehttp_proxyenvironment variable.Once DNS resolution works, retry the curl command from the guide. Let me know the nslookup output if the issue persists.