You can modify the contents of the "Show Applications" menu in Ubuntu 23 by editing or creating .desktop files in the ~/.local/share/applications directory. To hide an existing app, add Hidden=true to its file. To add a new shortcut, create a properly formatted .desktop file with the correct Exec and Name fields.
Understanding the Show Applications Menu
The "Show Applications" button in the Ubuntu Dock (GNOME Shell) aggregates application shortcuts from specific system directories. It does not pull from every location where executable binaries reside. Instead, it relies on.desktop files, which are standard configuration files that describe how to launch an application, its icon, and its metadata. When you click the grid icon, GNOME reads these files to populate the list. This design allows for easy customization without altering system-wide settings.
By default, applications installed via Snap or Flatpak generate their own .desktop files in system directories like /usr/share/applications. User-installed applications or custom scripts typically use the local user directory. Understanding this distinction is crucial because modifying system files requires administrative privileges and may be overwritten during updates. Modifying user-specific files ensures your changes persist across system upgrades and do not interfere with other users on the machine.
Locating and Editing Existing Shortcuts
To remove an application from the grid or change its behavior, you must locate its corresponding.desktop file. For most user-installed applications, these files reside in ~/.local/share/applications/. If an application was installed system-wide, the file might be in /usr/share/applications/, but modifying these requires sudo access and is generally discouraged unless necessary.
Open a terminal and navigate to the local applications directory using the command cd ~/.local/share/applications/. List the files to find the one associated with the application you wish to modify. You can use ls -l to view details. Once identified, open the file with a text editor such as nano or gedit. For example, run nano myapp.desktop.
Inside the file, look for the section marked [Desktop Entry]. To hide the application from the "Show Applications" menu entirely, add the line Hidden=true under this section. Save the file and exit the editor. The change takes effect immediately; you may need to restart the GNOME Shell by pressing Alt+F2, typing r, and hitting Enter if the grid does not update instantly. Note that changing permissions with chmod is unnecessary for hiding entries; the key is the content of the file itself.
Creating New Shortcuts
Adding a custom application or script to the menu involves creating a new.desktop file. Create a new file in ~/.local/share/applications/ with a descriptive name, such as my-custom-tool.desktop. Open this file in a text editor and define the required fields.
The structure must follow the Desktop Entry Specification. Start with the header [Desktop Entry]. Then, include the following essential keys:
Type=Application: Defines the entry type.Name=My Custom Tool: The display name shown in the menu.Exec=/path/to/executable: The full path to the command or script to run.Icon=/path/to/icon.png: Optional, but recommended for visual identification.Terminal=false: Set to true if the application requires a terminal window.
chmod a+r my-custom-tool.desktop. Unlike executables, .desktop files do not require execute permissions to appear in the launcher. Once saved, the new icon should appear in the "Show Applications" grid. If it does not, check for syntax errors in the file, particularly missing newlines at the end of the file.
Managing Snap and Flatpak Applications
Applications installed via Snap or Flatpak manage their own.desktop files in separate directories, such as /var/lib/snapd/desktop/applications/ or ~/.local/share/flatpak/exports/share/applications/. While you can manually edit these, it is often better to use the package manager's built-in features or symbolic links.
For Snap packages, you can disable desktop integration by removing the symlink in the user's local applications directory if it exists. However, direct modification of the source files is risky. A safer approach for hiding Snap apps is to create a local override file in ~/.local/share/applications/ with the same filename and add Hidden=true. This local file takes precedence over the system-generated one for the current user.
This method allows you to curate your workspace without fighting against the package manager's updates. It also keeps your customizations isolated, making it easier to revert changes if needed. For more complex configurations involving system-level adjustments, such as SSH connectivity issues, you might encounter different challenges, as seen in guides regarding Troubleshooting kex_exchange_identification Error in Linux SSH Connection, though those are unrelated to desktop launcher management.
Verifying Your Changes
After making modifications, verify that the changes have been applied correctly. Click the "Show Applications" button to see if the hidden apps are gone and new ones appear. If an app fails to launch, check theExec path in the .desktop file. Ensure the path is absolute and the executable exists at that location.
You can also test the .desktop file directly from the terminal using the command gtk-launch my-custom-tool.desktop. This command simulates the launch action and will output any errors if the file is malformed. This diagnostic step is far more reliable than guessing about permission bits or menu caching issues.
Frequently Asked Questions
Why doesn't my new shortcut appear after saving?
Ensure the file is saved in the correct directory, specifically ~/.local/share/applications/. Also, verify that the file ends with a newline character and contains no syntax errors in the [Desktop Entry] section.
Can I organize icons into folders within the Show Applications grid?
No, the standard GNOME Shell "Show Applications" view does not support nested folders. All items are displayed in a flat grid. You can only hide or show individual applications.
Will updating Ubuntu remove my custom desktop files?
No, files located in ~/.local/share/applications/ are user-specific and are not touched by system updates. Only files in /usr/share/applications/ might be replaced during major version upgrades.
How do I restore a hidden application?
Open the corresponding .desktop file in a text editor and either delete the line Hidden=true or change it to Hidden=false. Save the file, and the app will reappear in the grid.
Do I need to log out after making changes?
Usually, no. Changes to .desktop files are detected by GNOME Shell in real-time. If the grid does not update, restarting the shell with Alt+F2 and typing r is sufficient.