Browsers

Improved Web Browsing

This page provides suggestions on how you might improve the performance and usability of your preferred browser.

Browse the Web securely with Firefox.

Browse the Web securely with Firefox.

Please read the disclaimer before proceeding. We review and update guided solutions regularly. If you have suggestions or requests, please write support@kfocus.org.

General Hints

Default Browser: You can change the default browser using System Settings > Applications > Default Applications and then selecting a value for the Web browser, and then click [ Apply ] at the bottom right. Usually this works without issue, but if not, see the advice in Troubleshooting section.

Browser Scaling: Sometimes, GTK apps like Google Chrome or Firefox will not scale like the rest of the UI. If this affects your system, see the workaround found in the External Displays Guided Solution.

Printing: See Printing which discusses interfaces for browsers.

Google Chrome

Google ChromeIntel Graphics Corruption: Some people have seen Google Chrome present corrupt graphics, especially around text on certain web pages. However, most pages are unaffected. This is an Intel Graphics (i915 iGPU) issue, 11th-gen CPUs and later. See GPU Select for complete resolution.

Jitter Bug: If you see a bug where the Chrome window moves erratically, you might be seeing a recurrance of Jitter Bug, which previously affected Chrome versions 121-123. See advice in the Troubleshooting section to fix.

Intel Graphics Stalled Start: When Nvidia drivers are installed yet your system is running with an Intel iGPU, the browser can stall at startup. In other words, the initial window will be blank or transparent. After 5-20 seconds, content appears and then the browser works normally. If you do not need the Nvidia drivers you can remove them to resolve this issue: sudo apt purge nvidia* libnvidia*. However, if you have an Nvidia GPU, you should NOT remove the drivers. Instead, we suggest you accept this condition when running Intel because it only happens once per session and will likely be fixed soon. In addition, there is no stall when using the Nvidia GPU.

Appearance Settings: The following are set by default, but may be changed by a synced profile. Select Menu > Appearance to confirm these settings:

As of Q1 2024, we do not recommend the Use QT theme. It does not appear finished, with some mismatched colors and context menus that are unreadable. In comparison, the GTK theme looks excellent. We do expect, however, that these bugs will be resolved in the next few revisions of Chrome.

KeePassXC: See Passwords for details on using this tool with your browser.

Firefox

FirefoxAs of Kubuntu 24.04 LTS, the Kubuntu Focus Suite uses the native Debian packages for Firefox and Thunderbird. However, if you are running 22.04 LTS or stock Kubuntu instead, the following remains relevant.

Firefox as a Snap: Ubuntu started distributing Firefox a snap package starting in 22.04. This usually works fine, however, there are some situations where one may need to use the normal Debian package. If this is the case, we suggest using the official Mozilla repository as provided by Mozilla. The recommended steps are below. These are modified to use /usr/share/keyrings and mozilla-firefox paths in keeping with prior convention.

# Remove pin and snap sudo rm /etc/apt/preferences.d/mozilla-firefox sudo snap remove --purge firefox # Add repo key wget \ -q https://packages.mozilla.org/apt/repo-signing-key.gpg -O-\ |sudo tee /usr/share/keyrings/packages.mozilla.org.asc
# Add pin echo 'Package: * Pin: origin packages.mozilla.org Pin-Priority: 1000 ' |sudo tee /etc/apt/preferences.d/mozilla-firefox # Add apt repository echo 'deb [signed-by=/usr/share/keyrings/packages.mozilla.org.asc] https://packages.mozilla.org/apt mozilla main' \ |sudo tee /etc/apt/sources.list.d/mozilla-firefox.list # Install Firefox sudo apt-get update && sudo apt-get install firefox

Another option is to use the Firefox PPA as described here. This was recommended previously. However, the Mozilla official repo became available in 2024 and the steps above are now preferred as more reliable.

KeePassXC: See Passwords for details on using this tool with your browser. To integrate to Firefox, you will either will need to use a snap workaround, or install the Debian package as described above.

System title bars: We prefer standard title bars on Firefox. To set this, click on the menu button at top-right, then More Tools > Customize Toolbar. This will open a page in the main browser menu. Now look for “Title Bar” checkbox option present at the bottom-left corner of the window and enable it.

Disabling Firefox Pocket recommendations: Firefox displays various articles chosen by Mozilla on the default new tab page. If this is undesirable, you may disable these recommendations. Click the gear icon in the upper-right corner of the new tab page. then click on the "Recommended stories" switch to disable them.

VIM Text Editing in the Browser

If you love all things VIM, click here to learn about Wasavi. We found it can provide a huge productivity boost. This is easy to install as a single web extension which can be synced to wherever you login to your browser.

vim in the browser

Wasavi has a few limitations. First, it is only available for Chrome-based browsers and was last updated in 2019. Second, it does not use your own VIM settings and syntax highlighting, but instead only provides a limited (but useful) subset. Finally, you must remember to type :wq to save any edits to the text field.

The following example exrc content can provide some nice defaults. Set this using Menu > Extensions > Manage Extensions > Wasavi Details > Extension Options:

"exrc for wasavi " Set line number set nu " map ;k to remove trailing space map ;k :%s?s\+$??g<CR> " map clipboard paste to ctrl+shift+v map! <c-V> <c-r>* " map clipboard copy to ctrl+shift+c map! <c-C> "*y " Set whitespace set et sw=2 ts=2 set ai

If you tried Wasavi and want to go use all your VIM-foo, then you could click here to try Firenvim. This tool brings your entire NeoVIM capability into your browser using the same settings, macros, and syntax highlighting as in the terminal. It is also actively maintained and possibly more secure.

Be aware, however, that setting up Firenvim takes more patience, skill, and time. In addition, your configuration is tied to a specific machine. Also, if you use it with Firefox, you will need to install a non-snap version. We have confirmed it works well with Chrome.

Troubleshooting

Q: I have switched my default browser. However, links keep opening in a different browser. What can I do?

A: The default browser selection can be sticky. Using the default browser selector discussed in section General Hints section, select something else, apply, then try again. Sometimes this is not necessary.

Q: In Chrome, certain dialogs causes the window to more erratically. What is this, and how can I fix it?

A: This may be a recurrance of the Jitter Bug which, in Chrome 121-123, occured when installing a new extension (as shown above), or in Chrome-only dialogs like when it asks you to select advertising preferences. Some form of scaling must also be in use, such as forcing the font DPI or setting the global scale factor. You can see more at this Reddit post. The easiest work around is to disable scaling before adding extensions:

One can inspect the apt archives and install a previous Chrome version if available. Remember to remove the hold when you want to try the latest version again.

# Inspect the archives to find Chrome < v121 cd /var/cache/apt/archives/; ls |grep google-chrome-stable; # Copy the version for later use cp google-chrome-stable_120.0.6099.71-1_amd64.deb ~/; cd; # Install this package (it will downgrade) sudo apt install google-chrome-stable_120.0.6099.71-1_amd64.deb; sudo apt-mark hold google-chrome-stable; # Later, remove the hold to upgrade to new version sudo apt-mark unhold google-chrome-stable

In the worst circumstances, the bug will eventually run at least one CPU to 100%; the Chrome UI is unresponsive, and may crash X11. There are ways to recover without needing to reboot however:

# Open a virtual terminal (ctrl+alt+f3), login as yourself. # Run each step and revisit the GUI (ctrl+alt+f2 on Noble, # ctrl+alt+f1 on Jammy) to check. pkill chrome; if pgrep chrome; then pkill -9 chrome; fi DISPLAY=0:0; nohup kwin --replace & nohup plasmashell --replace & # If none of these work, you can restart SDDM: sudo systemctl restart SDDM

Revisions

This is a partial revision history. See the git repository for all entries.

Disclaimer

We try hard to provide a useful solution validated by professionals. However, we cannot anticipate every situation, and therefore cannot guarantee this procedure will work for your needs. Always backup your data and test the solution to determine the correct procedure for you.

THIS SOLUTION IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOLUTION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

HAVE QUESTIONS?Call 844-536-2871 or write
TellMeMore@kfocus.org   |  GET FOCUS MERCH