Skip to content

Latest commit

 

History

History
219 lines (158 loc) · 3.5 KB

File metadata and controls

219 lines (158 loc) · 3.5 KB

Spectacle .webm to mp4 converter

Service to automatically convert .webms generated by spectacle into .mp4

Install dependencies

sudo dnf install inotify-tools ffmpeg -y

Create watcher

mkdir -p ~/bin
sudo nano ~/bin/webm-to-mp4-watcher.sh
#!/usr/bin/bash

WATCH_DIR="home/<user>/Videos/Screencasts"

/usr/bin/inotifywait -m -e close_write --format '%w%f' "$WATCH_DIR" |
while read file; do
  [[ "$file" != *.webm ]] && continue

  sleep 1

  /usr/bin/ffmpeg -i "$file" \
    -c:v libx264 \
    -preset fast \
    -crf 28 \
    -vf scale=1280:-2 \
    -c:a aac \
    -b:a 96k "${file%.webm}.mp4"
done

Make watcher executable

chmod +x ~/bin/webm-to-mp4-watcher.sh

Create service

sudo nano ~/.config/systemd/user/webm-to-mp4.service
[Unit]
Description=WebM to MP4 watcher

[Service]
ExecStart=/home/<user>/bin/webm-to-mp4-watcher.sh
Restart=always

[Install]
WantedBy=default.target

Autostart said service

systemctl --user daemon-reload
systemctl --user enable webm-to-mp4.service
systemctl --user start webm-to-mp4.service

Brother scanner: convert .tiff to .pdf

Install dependencies

sudo dnf install inotify-tools img2pdf -y

Create watcher

mkdir -p ~/bin
sudo nano ~/bin/brscan-tif-to-pdf.sh
#!/usr/bin/bash

WATCH_DIR="home/<user>/brscan"

mkdir -p "$WATCH_DIR"

/usr/bin/inotifywait -m -e close_write "$WATCH_DIR" |
while read path action file; do
    case "$file" in
        *.tif|*.tiff)

            INPUT="$path$file"
            OUTPUT="${INPUT%.*}.pdf"

            /usr/bin/img2pdf "$INPUT" -o "$OUTPUT"

            if [ $? -eq 0 ]; then
                rm -f "$INPUT"
                echo "Converted and removed: $INPUT"
            else
                echo "Conversion failed: $INPUT"
            fi
            ;;
    esac
done

Make watcher executable

chmod +x ~/bin/brscan-tif-to-pdf.sh

Create service

sudo nano ~/.config/systemd/user/brscan-tif-to-pdf.service
[Unit]
Description=Brother Scan TIFF to PDF Converter

[Service]
ExecStart=%h/bin/brscan-tif-to-pdf.sh
Restart=always

[Install]
WantedBy=default.target

Autostart said service

systemctl --user daemon-reload
systemctl --user enable brscan-tif-to-pdf.service
systemctl --user start brscan-tif-to-pdf.service

Brother scanner: auto start wireless connectivity on startup

Create service

sudo nano ~/.config/systemd/user/brscan-autostart.service
[Unit]
Description=Auto start brother brscan-skey service
After=graphical-session.target

[Service]
ExecStart=/usr/bin/brscan-skey
Restart=always

[Install]
WantedBy=default.target

Autostart said service

systemctl --user daemon-reload
systemctl --user enable brscan-autostart.service
systemctl --user start brscan-autostart.service

Auto force refresh outdated packages in discover

Create service

sudo nano /etc/systemd/system/pkcon-refresh.service
[Unit]
Description=Force PackageKit metadata refresh

[Service]
Type=oneshot
ExecStart=/usr/bin/pkcon refresh force

Create timer

sudo nano /etc/systemd/system/pkcon-refresh.timer
[Unit]
Description=Run PackageKit refresh periodically

[Timer]
OnBootSec=10min
OnUnitActiveSec=6h
Persistent=true

[Install]
WantedBy=timers.target

Enable service

systemctl daemon-reload
systemctl enable pkcon-refresh.timer
systemctl start pkcon-refresh.timer