На Ubuntu існує вирішення для людей, які вже набридали цією проблемою на даний момент і не хочуть перекомпілювати вихідний код з іншого боку. Міркування досить прості. Можливо, ми не хочемо, щоб Chrome вирішував, які файли автоматично відкривати, але ми можемо це зробити самостійно.
Отже, як пропонує Uniblab, скажіть Chrome, щоб завантажити файл, а не відкривати його. Це означає лише натиснути Enter один раз. Використовуйте, наприклад, $HOME/setup
як папку для завантаження.
Потім (у Linux) є сценарій у фоновому режимі, про який повідомляється через inotify
.
#!/bin/bash
path=$HOME/setup
flags="--format %f"
while true; do
download=$(inotifywait $flags -e close_write $path)
file="$path/$download"
extension="${file##*.}"
if [ "$extension" != "pdf" ]; then
continue
fi
mime=$(file -b --mime-type "$file")
if [ "$mime" = "application/pdf" ]; then
acroread "$file" &
fi
done
Це автоматично відкриє файл, якщо він має тип MIME application/pdf
, тому будьте уважні. Ви можете перевірити наявність шкідливого коду, перш ніж відкрити його, скориставшись улюбленим сканером виконуваного коду. Щоб використовувати сценарій при запуску, відредагуйте crontab -e
:
@reboot /usr/bin/abovescript
Я думаю, що це насправді може бути правильний спосіб робити речі. Запуск програми на вашому комп’ютері має мати завдання спеціальної програми (набагато складнішої, ніж цей сценарій). Можливо, дозволити Chrome це зробити насправді є потенційним порушенням безпеки.
Звичайно, в Windows вам потрібно буде знайти інший інструмент. На MacOS ви можете використовувати те, fswatch
що є на домашній мові.