notification-mount
This is a script that displays a notification for a drive with a button to mount it.
It might be wise to call the script from a listeners that fires every time a new block device is detected (see examples).
Table of Contents
Installation
Requirements
- Linux
- python3
- python-gobject
- python-notify2
- udevil
Non-Arch Systems
If you are not using Arch, then you will need to copy or symlink the notification-mount
file to somewhere that is in your PATH
(see below in the systemd example for more info on wĥat you need to pay attention to when placing it somewhere in the PATH
).
For how to install and start the system service see the example below.
Arch Linux
If you are using Arch Linux either install notification-mount or notification-mount-git from the AUR. You should now also have a user systemd service which you can enable and start like this:
systemctl --user enable notification-mount.service
systemctl --user start notification-mount.service
This service is the same as the one in the example below.
Examples
Devmon Script
If you have udevil installed, you can run the following script and it will show a notification whenever a new device is detected:
devmon --no-mount --no-unmount --exec-on-drive "./notification-mount -d %f" &
You could at this to your .xinitrc
or any other script that runs whenever your system starts up.
You may need to change the path to the script depending on where you run this piece of code from.
Systemd Unit
Systemd service using the previous example and udevil:
notification-mount.service
--------------------------
[Unit]
Description=Notification when new block device is detected with button to mount
[Service]
Type=simple
ExecStart=/usr/bin/devmon --no-mount --no-unmount --exec-on-drive "notification-mount -d %%f"
[Install]
WantedBy=default.target
Fot this you will need to have the notification-mount
in a folder that is part of the PATH
Note: This should be the default PATH
. Alternatively you can set your modified PATH
on the systemd environment like described here.
After that just enable and start the service:
systemctl --user enable notification-mount.service
systemctl --user start notification-mount.service