02.12.2024 21:07
Замучился отваливающиеся расширения каждый раз править, переписал скриптиком, чтобы жене на рабочем столе обои каждый день менялись на красивые картинки, которые Bing выставляет.

Скрипт крайне простой (внизу кусок, если у вас Gnome) и может быть переработан под какие-то свои нужды.

Код:
#!/bin/bash
eval $(tr '\0' '\n' < /proc/$(pgrep -u tanya ibus-x11)/environ | sed -nr '/^(DISPLAY|XAUTHORITY)=/p' | sed -e 's/^/export /' )
BING_API_URL="https://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&mkt=en-EN"
SAVE_DIR="/home/tanya/Загрузки"
mkdir -p "$SAVE_DIR"
DATE=$(date +"%Y-%m-%d")
WALLPAPER_PATH="$SAVE_DIR/bing-wallpaper-$DATE.jpg"
if [[ -f "$WALLPAPER_PATH" ]]; then
    echo "Обои за сегодня уже скачаны: $WALLPAPER_PATH"
    exit 0
fi
RESPONSE=$(curl -s "$BING_API_URL")
IMAGE_URL=$(echo "$RESPONSE" | grep -oP '"url":"\K[^"]+')
if [[ -z "$IMAGE_URL" ]]; then
    echo "Не удалось получить URL обоев дня."
    exit 1
fi
IMAGE_URL=${IMAGE_URL//1920x1080/UHD}
FULL_IMAGE_URL="https://www.bing.com$IMAGE_URL&qlt=100"
echo "Скачиваем обои: $FULL_IMAGE_URL"
curl -s -o "$WALLPAPER_PATH" "$FULL_IMAGE_URL"

cp -f "$WALLPAPER_PATH" "$SAVE_DIR/wall.jpg"

set_gnome_wallpaper() {
    local image_path="$1"
    gsettings set org.gnome.desktop.background picture-uri "file://$image_path"
    gsettings set org.gnome.desktop.background picture-options "zoom"
    gsettings set org.gnome.desktop.background primary-color '#000000'
    gsettings set org.gnome.desktop.background secondary-color '#000000'
    gsettings set org.gnome.desktop.background primary-color 'none'
    gsettings set org.gnome.desktop.background secondary-color 'none'
}

set_gnome_wallpaper "$SAVE_DIR/wall.jpg"
у нее Gnome, который я все не переведу с Х, поэтому, сразу после шабанга такая строка для выставления DISPLAY. Можете строку поменять на wayland или, если у вас не tanya, то поменять пользователя. Собственно, если в cron пихать скриптик не будете, можете строку вообще выкинуть.

Суть скрипта - качает картинку дня с Bing в файлик по дате, если файлик уже есть - не качает, если скачал - копирует еще в wall.jpg, который прописывает обоями... Длинные строчки gsettings по переключению цветов нужны для обновления экрана, иначе у меня обои почему-то не менялись.
Часовой пояс GMT +3, время: 21:08.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.