Got an invisible app window called “gjs” in Ubuntu 22.04 desktop? Here’s how to kill it without log out the current session.

GJS, stands for Gnome JavaScript, it’s part of Gnome-shell use as JavaScript programming environment. In Ubuntu, the default Desktop Icons NG (DING) extension use gjs, which could cause the issue sometimes.

When the issue happens, you’ll see an app icon called “gjs” in the dock, but no app window visible. You can not close it by the context menu option. And, it’s annoying that other applications are not reachable via mouse clicks until switch focus via Alt+Tab keyboard shortcut.

Invisible gjs in overview

Until GNOME or maybe the extension developers fixed the issue, user may manually kill the process to get rid of it.

Kill the process via system monitor

Firstly, press Super / Windows key on keyboard to open ‘Activities’ overview, search for and open “System Monitor” app:

When it opens, scroll down and find out the process. There are usually multiple gjs processes. Move mouse pointer over one of them will display a tooltip about it.

It’s safe to kill the process by clicking to highlight and then hitting “End Process” button. The invisible “gjs” window should disappear immediately if you killed the correct one. And, the process will start again automatically.

Kill the process via Linux command:

For those familiar with Linux command, simply open terminal and run command to find out the process:

ps ax |grep gjs

Then, kill process by using the pid:

sudo kill -9 PID_HERE

This simple tutorial shows how to enable 3-finger & 4-finger multi-touch gestures in Ubuntu 22.04, Fedora 36 and other Linux with GNOME 40+, while the desktop by default supports only few gestures.

Default multi-touch gestures:

For laptop or desktop PC with a touchpad, the GNOME desktop has out-of-the-box multi-touch gestures support since version 40. However, it only supports few 3-finger gestures.

System default gestures are:

  • 3-finger left/right to switch between workspaces.
  • 3-finger up to go to activities overview and again to app grid.
  • and 3-finger down back to desktop from overview.

More gestures via extension:

The default gestures are working great in my case. But there is “Gesture Improvements” extension available to enable 4-finger swipe, pinch, and per app gestures.

With the extension, overview and workspace switching will use 4-finger gestures instead:

  • 4-finger swipe left/right switching workspaces.
  • 4-finger swipe up navigating activities overview, app grid and desktop. And, 4-finger down to go back.

3-finger left/right touchpad gesture now navigates between app windows in current workspace, just like the “Alt+Tab” keyboard shortcut does. And, 3-finger up/down can be used to resize focused app window: full-screen, maximize, restore, and minimize.

It as well provides 3-finger and 4-finger pinch gestures to do ‘Show Desktop’, ‘Close Window’, or ‘invoke Ctrl+W’ shortcut.

‘Gesture Improvements’ extension settings

Per app gestures is also supported, which can do PageUp/Down, switch tab, go forward/backward, or audio next/previous action for certain applications.

Configure App Gestures

By enabling this feature, you can tap and hold with 3 fingers, then swipe left/right on your app to trigger the action. There will be a blue circle with arrow in it appear in either left or right, indicates that app gesture is triggered.

hold swipe on-screen indicator

The extension also provides settings for touchpad swipe/pinch speed, pop-up delay, and duration between hold and swipe, etc.

How to Install ‘Gesture Improvements’ Extension:

The extension should work on all Linux with GNOME 40, 41 and 42. User may install it by turning on the slider icon on this web page.

Though Ubuntu 22.04 user may follow the steps below to get the extension:

1.) Press Ctrl+Alt+T on keyboard to open terminal. When it opens, run the command below to install extension manager app:

sudo apt install gnome-shell-exension-manager

2.) Once installed, click top-left “Activities”, then search for and open the tool:

3.) When the app opens, navigate to “Browser” tab, search for “Gesture Improvements” and click install the extension from result:

4.) Finally, switch back to “Installed” tab and click the gear button to configure the extension for multi-touch gestures.

NOTE: the extension works immediately after installation on the default Wayland session. If you’re running Ubuntu on classic Xorg, then you need to install this X11 gesture daemon.

Looking for a peer to peer file transfer app that works outside the local network? Warp is the stupid simple application to do the trick for Linux.

There are a few applications for LAN file transferring, such as Warpinator and Dukto. For sending date all over the world, Warp is a new GTK4 app for transferring any arbitrary-sized files and directories without struggling with Linux command or using a cloud service.

The app provides a stupid simple interface with 2 tabs: Send and Receive. Simply click on the “send file” (or folder) button and select your data, it will generate a transmit code.

On another machine with the app installed, type the code in “Receive” tab and click “Receive File” button will start transferring data.

Every file transfer is encrypted using the Magic Wormhole protocol. And, it will directly transfer files on the local network if possible. Though, an internet connection is required to connect to rendezvous server so sender and receiver can find each other over the internet.

How to Install Warp in Linux:

NOTE: The app is in early age that may have bugs. At the moment of writing, it provides binary package for most Linux systems and Chrome OS using Flatpak package.

For Ubuntu, firstly press Ctrl+Alt+T on keyboard to open terminal. When it opens, run the command to install flatpak daemon:

sudo apt install flatpak

Other Linux & Chrome OS may follow this setup guide to install the daemon.

Next, install the app using command:

flatpak install https://dl.flathub.org/repo/appstream/app.drey.Warp.flatpakref

For first time installing Flatpak app on Ubuntu 22.04, you need a system restart to make the app icon available in search result.

Once installed, either press Super/Windows key on keyboard and search for and open the app, or run command flatpak run app.drey.Warp to start it from terminal.

Remove Warp file transfer

To remove the app, run command in a terminal window:

flatpak uninstall --delete-data app.drey.Warp

And clean un-used run time via: flatpak uninstall --unused.

Ubuntu 22.04 desktop looks really good today, but it’s always better to have choices! And, here is the beginner’s guide shows how to install themes and change the desktop panel, icons, app windows appearance.

Change Themes in Ubuntu 22.04

Ubuntu defaults to Yaru theme in light and dark mode, along with 10 different accent colors. There are a few others pre-installed in the system, and we usually use “Gnome Tweaks” to choose among them.

1.) Firstly, press Ctrl+Alt+T on keyboard to open terminal. When it opens, run the command below to install ‘Gnome Tweaks’:

sudo apt install gnome-tweaks

2.) Then, either press Windows/Super on keyboard or click “Activities” on top bar, and then search for and launch the configuration tool.

3.) By navigating to “Appearance” tab, you’ll see the options to change the themes for mouse cursor, icons, shell, sound, and legacy applications.

Since GNOME (Ubuntu’s default desktop environment) is preventing custom themes for GTK4 applications via libadwaita, the GTK theme option in Gnome Tweaks becomes “Legacy Applications“. Ubuntu 22.04 ships few GTK4 apps and avoids libadwaita, so the option works good so far.

Enable Shell theme selection box:

The Shell theme selection box that apply appearance of desktop panel, context menu and notifications, is grayed out by default. To enable it, you have to install “User Themes” extension.

Firstly, press Ctrl+Alt+T on keyboard to open terminal. When it opens, run the command below to install extension manager app:

sudo apt install gnome-shell-extension-manager

Next, click on the “Activities” on top bar, search for and open the tool:

Finally, install “User Themes” extension from the ‘Browser’ tab in Extension manager application:

After that, re-open Gnome Tweaks. It should allows to change “Shell” theme now in Appearance tab.

How to Install Themes in Ubuntu 22.04

There are many other themes available on the web, such as gnome-look.org. Some of them has installation script but some not.

1. To manually install a theme in Ubuntu & most other Linux, firstly open user home folder from the dock:

Firstly open user home folder

2. Press Ctrl+H on keyboard when file manager opens to view/hide hidden folders, and create the .themes and .icons folders if they are not exist:

  • .themes – use for GTK app themes and shell/desktop themes.
  • .icons – use for icon set.

3. Next, put your downloaded GTK themes and Gnome Shell themes into “.themes” folder. And, put icon themes into “.icons” folder.

A theme folder usually contents a few sub-folders as well as a ‘index.theme’ file. By putting it into the right location, Gnome Tweak will find it automatically and display as choice in selection box.

To install themes for all system user use, put these folders into “/usr/share/themes” and/or “/usr/share/icons“, though you need sudo user privilege to do the copy & paste things.

Like Firefox, the Chromium web browser package in recent Ubuntu repository is just empty package that links to Snap version.

If you would like to install the classic .Deb version instead, here are 2 choices that work on Ubuntu 22.04 LTS.

Option 1: Use Rob Savoury’s PPA

Rob Savoury is maintaining a collections of software packages in PPAs including Chromium browser. With this unofficial PPA, you may get the the latest Chromium packages in Ubuntu 22.04 and Ubuntu 20.04.

This could be the easiest way, however, only 64-bit modern PC/laptop is supported!

1.) Add the PPA

Firstly, press Ctrl+Alt+T on keyboard to open a terminal window. When it opens, run the command below to add the PPA:

sudo add-apt-repository ppa:savoury1/chromium

Type user password (no asterisk feedback) when it asks and hit Enter to continue.

2.) Install the browser package

After adding the PPA, you can install the browser package via commands:

sudo apt update
sudo apt install chromium-browser

How to Uninstall:

To remove the browser package, open terminal (Ctrl+Alt+T) and run command:

sudo apt remove --autoremove chromium-browser

And remove the Ubuntu PPA by launching “Software & Updates” and remove the source line from “Other Software” tab.

Remove Rob Savoury’s Chromium PPA

Option 2: Install Chromium from Ubuntu 18.04 Repository

Ubuntu 18.04 still provides the most recent Chromium .Deb package and keeps updating in its repository.

Until April 2023 (end of life date of Ubuntu 18.04), you may install the package from that repository in 64-bit and ARM64/ARMhf machines running Ubuntu 22.04.

However, the process is a little bit complicated due to change of the apt key policy. For choice, there’s a third-party PPA keeps a copy the packages for Ubuntu 20.04 and Ubuntu 22.04.

1.) Install Ubuntu 18.04 repository key:

Firstly, press Ctrl+Alt+T on keyboard to open terminal. When it opens, run the command below get the bionic-updates repository key:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32

Due to change of the apt-key policy, run the command below to move the key to “/usr/share/keyrings“.

sudo mv /etc/apt/trusted.gpg /usr/share/keyrings/bionic-updates.gpg

2.) Add Ubuntu 18.04 updates repository:

Next, run the command below in terminal to create and edit repository file:

sudo gedit /etc/apt/sources.list.d/bionic-updates.list

When file opens, paste the single line below and save it.

deb [signed-by=/usr/share/keyrings/bionic-updates.gpg] http://archive.ubuntu.com/ubuntu bionic-updates universe

3.) Setup package priority

It’s IMPORTANT to set package priority so ONLY chromium browser package is allowed to be installed from this repository!!

Open terminal (Ctrl+Alt+T) and run command below to create and edit a preference file:

sudo gedit /etc/apt/preferences.d/99bionic-updates

When the file opens, paste following lines to tell only allows chromium related packages and prevent all others!

# Prefer 'chromium-browser' package from Ubuntu 18.04 updates repository

Package: chromium-browser*
Pin: release a=bionic-updates
Pin-Priority: 501

# Prefer 'chromium-chromedriver' package from Ubuntu 18.04 updates repository

Package: chromium-chromedriver
Pin: release a=bionic-updates
Pin-Priority: 501

# Prefer 'chromium-codecs-ffmpeg' package from Ubuntu 18.04 updates repository

Package: chromium-codecs-ffmpeg*
Pin: release a=bionic-updates
Pin-Priority: 501

# Prevent all other packages from Ubuntu 18.04 repository

Package: *
Pin: release a=bionic-updates
Pin-Priority: -10

4.) Update & Install Chromium

Finally, run the apt update command to refresh package cache:

sudo apt update

And, install the browser package from Ubuntu 18.04 repository using command:

sudo apt install chromium-browser

How to Remove 18.04 Repository and Uninstall Chromium

Like the Rob Savoury’s PPA package, simply run the command below in terminal will remove the browser package:

sudo apt remove --autoremove chromium-browser

If you want to get rid of Ubuntu 18.04 repository, run the command below one by one in terminal:

  • Remove the source file:
    sudo rm /etc/apt/sources.list.d/bionic-updates.list
  • Remove the keyring:
    sudo rm /usr/share/keyrings/bionic-updates.gpg
  • And clear the priority file:
    sudo rm /etc/apt/preferences.d/99bionic-updates
  • Finally, refresh system package cache to apply changes:
    sudo apt update

Summary:

There are quite a few software sources to get the Chromium package in .Deb version. Here, the third-party Rob Savoury’s PPA could be the easiest way which however contains only 64-bit package. The old Ubuntu 18.04 repository is good choice for those need arm64/armhf package, though the support will end in April 2023.