Ваш сценарий нуждается в некоторой доработке.
Две строки, следующие за строкой #Set image url, name and location
, не работают по разным причинам (, например. неправильный синтаксис grep, неправильное назначение ). Кроме того, ваш сценарий не заключает имена файлов в двойные кавычки, что может привести к поломке вашего сценария в зависимости от обстоятельств.
Чтобы он работал более надежно, я переписал ядро вашего скрипта следующим образом:
#!/bin/bash
fn_basedir=~/Pictures/globewall/
fn_index='.index.html'
fn_image='wallpaper.jpg'
mkdir -p "$fn_basedir"
# Get page index
wget -q "https://clients3.google.com/cast/chromecast/home" -O "${fn_basedir}${fn_index}"
if [ $? -ne 0 ]; then
echo "Failed to get index from google chromecast"
exit 1
fi
# Set image url
image_url=$(grep -oP 'https:\\/\\/lh3(.*?)-mv' "${fn_basedir}${fn_index}" | sed -e 's/\\//g' -e 's/u003d/=/g' | head -1)
# Get image
wget -q "$image_url" -O "${fn_basedir}${fn_image}"
if [ $? -ne 0 ]; then
echo "Failed to get image from www.googleusercontent.com"
exit 1
fi
# Change wallpaper
sleep 1
/usr/bin/gsettings set org.gnome.desktop.background picture-options 'zoom'
/usr/bin/gsettings set org.gnome.desktop.background picture-uri "file://${fn_basedir}${fn_image}"
/usr/bin/gsettings set org.gnome.desktop.screensaver picture-uri "file://${fn_basedir}${fn_image}"
echo "Wallpaper changed to ${fn_image}"
exit 0
Потрясающие картинки, кстати!
Кажется, что wpasupplicant по крайней мере зависит от наличия установленного libpcsclite1 , поэтому, когда вы удаляете libpcsclite1, он также удаляет wpasupplicant и кучу других сетевых пакетов.
Я бы предложил повторно -установить все пакеты, которые были удалены (любой строкой, начинающейся с «Удаление» ), когда вы делали sudo apt-get purge libpcsclite1
.