How to use the command dex (with examples)
- Linux
- December 25, 2023
Dex is a program that generates and executes DesktopEntry files of the Application type. It provides a way to manage autostart programs in different environments and preview the programs that would be executed. Dex is a useful tool for managing startup applications and creating desktop entries.
Use case 1: Execute all programs in the autostart folders
Code:
dex --autostart
Motivation: The --autostart
argument allows you to execute all programs in the autostart folders. This is useful when you want to run all the applications that are set to start automatically when you log in.
Explanation: The --autostart
argument tells dex to execute all programs in the autostart folders. Dex will search for DesktopEntry files in the autostart directories ($XDG_CONFIG_HOME/autostart
and $XDG_CONFIG_DIRS/autostart
) and execute them.
Example output:
Executing desktop entry: /home/user/.config/autostart/google-chrome.desktop
Executing desktop entry: /usr/share/applications/spotify.desktop
Executing desktop entry: /etc/xdg/autostart/gnome-keyring-ssh.desktop
Use case 2: Execute all programs in the specified folders
Code:
dex --autostart --search-paths path/to/directory1:path/to/directory2:path/to/directory3:
Motivation: The --search-paths
argument allows you to specify custom directories to search for autostart programs. This is useful when you want to execute programs from specific folders that are not part of the default autostart directories.
Explanation: The --search-paths
argument allows you to provide a list of directories separated by “:” where dex should search for DesktopEntry files. Dex will execute all the programs found in the specified directories.
Example output:
Executing desktop entry: /home/user/my-apps/app1.desktop
Executing desktop entry: /home/user/my-apps/app2.desktop
Use case 3: Preview the programs that would be executed in a GNOME specific autostart
Code:
dex --autostart --environment GNOME
Motivation: The --environment
argument allows you to specify the environment for executing autostart programs. This is useful when you want to preview the programs that would be executed in a specific environment, like GNOME.
Explanation: The --environment
argument allows you to specify the environment for executing autostart programs. In this example, dex will simulate the execution of autostart programs in a GNOME environment and display the programs that would be executed.
Example output:
Previewing desktop entry: /home/user/.config/autostart/google-chrome.desktop
Previewing desktop entry: /usr/share/applications/spotify.desktop
Previewing desktop entry: /etc/xdg/autostart/gnome-keyring-ssh.desktop
Use case 4: Preview the programs that would be executed in a regular autostart
Code:
dex --autostart --dry-run
Motivation: The --dry-run
argument allows you to preview the programs that would be executed without actually running them. This is useful when you want to check which programs are set to run during startup.
Explanation: The --dry-run
argument tells dex to preview the programs that would be executed without actually running them. Dex will display the DesktopEntry files that would be executed during startup.
Example output:
Previewing desktop entry: /home/user/.config/autostart/google-chrome.desktop
Previewing desktop entry: /usr/share/applications/spotify.desktop
Previewing desktop entry: /etc/xdg/autostart/gnome-keyring-ssh.desktop
Use case 5: Preview the value of the DesktopEntry property Name
Code:
dex --property Name path/to/file.desktop
Motivation: The --property
argument allows you to preview the value of a specific property in the DesktopEntry file. This is useful when you want to check the value of a specific property, such as the Name
of an application.
Explanation: The --property
argument allows you to specify the name of the property whose value you want to preview. In this example, dex will display the value of the Name
property in the specified DesktopEntry file.
Example output:
Name: My Application
Use case 6: Create a DesktopEntry for a program in the current directory
Code:
dex --create path/to/file.desktop
Motivation: The --create
argument allows you to create a DesktopEntry file for a program. This is useful when you want to create a desktop entry for a program that is not already listed in the autostart folders.
Explanation: The --create
argument tells dex to create a DesktopEntry file for the specified program. Dex will generate a new DesktopEntry file with default values based on the program’s name and icon.
Example output:
Desktop entry successfully created: /home/user/my-app.desktop
Use case 7: Execute a single program in a given terminal
Code:
dex --term terminal path/to/file.desktop
Motivation: The --term
argument allows you to execute a single program in a specific terminal. This is useful when you want to run a program and have its output displayed in a terminal window.
Explanation: The --term
argument tells dex to execute the specified program in the given terminal. In this example, dex will run the program specified by the DesktopEntry file and display its output in the specified terminal.
Example output: (program output displayed in the terminal window)