Skip to content
wordpress meta

title: 'Gnome Desktop Shortcut Exec'
date: '2021-01-01T10:44:28-06:00'
status: publish
permalink: /gnome-desktop-shortcut-exec
author: admin
excerpt: ''
type: post
id: 1706
    - Bash
    - Gnome
tag: []
post_format: []

Executing commands or scripts from a GNOME desktop shortcut

I have a few scripts that I only periodically execute. For example a backup to a USB not always plugged in or to a computer not always online. For convenience I made some shortcuts on my GNOME desktop. I can easily just run these in a terminal of course but sometimes I just want to quickly click an icon and finish.

There are a few idiosyncracies around executing like this. In general you may have run into passing processes variables and redirection of output issues. In addition to those also "Exec" inside a desktop shortcut adds a few more issues. Read here for the Desktop Entry Specification

For my purposes here are example entries from .desktop files:

Rsync to USB

```bash Exec=gnome-terminal --profile=job-output -e 'sudo /home/rrosso/scripts/' ````

Update IP address in a remote firewall

```bash Exec=gnome-terminal --profile=job-output -- /bin/sh -c 'cd /TANK/DATA/MySrc ; python3 ; sleep 60' ````

Executing using bash with date in log file:

``bash Exec=bash -c "sudo /root/scripts/ -w 1 -t | tee /TANK/backups/logs//bin/date +%%Y-%%m-%%d`-desktop-zfs-replicate-" ````

I also prefer using gnome-terminal so I can format the output on the screen better:

``bash Exec=gnome-terminal --profile=job-output -- bash -c "sudo /root/scripts/ -w 1 -t | tee /TANK/backups/logs//bin/date +%%Y-%%m-%%d`-desktop-zfs-replicate- ; sleep 60" ````