この回答 で提案されているように、gsettings set org.gnome.desktop.background picture-uri 'file://PathToImage'
を使用して画像を壁紙として設定しました。これはジョブを適切に行いません。今日のbing画像の場合、 script here は私の背景をこのように変更します
これはランダムに発生し、時々壁紙を適切に設定します。 GUIを使用して、画像を右クリックして壁紙として設定すると、毎回適切に機能します。この問題の考えられる原因は何ですか?
編集1:ダウンロードは完全に問題ありません。前述したように、写真を右クリックし、メニューから「壁紙に設定」を選択することで、写真を壁紙として設定できます。
あなたは言及しました
ダウンロードはまったく問題ありません。前述したように、写真を右クリックし、メニューから「壁紙に設定」を選択することで、写真を壁紙として設定できます。
壁紙を手動で設定できるため、問題はキャッシュにある可能性があります。これは、ダウンローダーがファイルにデータを完全に書き込む前に生成されます。そのため、このような場合にはキャッシュを再生成する必要があります。
そのため、壁紙キャッシュrm /home/$USER/.cache/wallpaper/*
を削除します。このコードをsleep
の後にスクリプトの最後に追加します。
/home/$USER/.cache/wallpaper/
から現在の壁紙の画像キャッシュを見つけて開きますこれでデスクトップの壁紙の変更を確認できます(画像を回転させると、壁紙も回転します)
次のコマンドは正しく、どのような状況でも機能するはずです。
gsettings set org.gnome.desktop.background picture-uri 'file://PathToImage'
だから、このことが起こる主な理由は、@-d3vidが comment :で述べたように、ダウンロードが失敗している(部分的なファイルのみをダウンロードしているため) )またはダウンロードが完了する前に背景が表示されます。
問題を解決するには、質問から the script を実行するか、私の回答からのスクリプトのようにcurl
の代わりに wget
を使用するときに、より良いインターネット接続があることを確認してください ここ 。
スクリプト内で、次のような一時ファイルに新しい画像を最初にダウンロードする必要があります。
wget --no-proxy --output-document=dwallpaper.temp (...)
そして、wget
コマンドが実行された後にのみ、以下を実行します。
cp dwallpaper.temp dwallpaper
このように、gsettings
は常に100%ダウンロードされたファイルを指しており、これにより、観察した問題が修正される可能性があります。