人の介入が不要な壁紙スライドショー

人の介入が不要な壁紙スライドショー

ここで説明されているように、独自の画像セットを使用してデスクトップの壁紙スライドショーを作成したいと思います。回答Shotwellを使用していますが、いくつかの問題が発生する

  • スライドショー用にShotwellで写真を選択した後、指定したフォルダから手動で削除した画像も引き続き使用されます。

  • 同様に、写真を追加してもスライドショーに自動的には選択されません。

つまり、写真を自動的に選択または削除する方法でスライドショーをどのように設定しますか?可能であれば、追加のアプリケーションよりもスクリプトを好み、よく知られていて確実なソースからのスクリプトを好みます。

答え1

Shotwellはこれに最適なユーティリティではないかもしれません。私が知っている限り、UbuntuはXorgを使用しているのでfeh

マニュアルページからの抜粋(man feh):

fehはパターンベースの画像ビューアです。これは、特に広範なGUI依存性のない高速画像ビューアを必要とするコマンドラインユーザーを対象としており、(グラフィック)ファイルマネージャを介して実行して画像を表示することもできます。デフォルトでは(引数またはファイルのリストが指定されていない場合)、fehは現在のディレクトリ内のすべてのファイルを表示します。

Debianベースのシステムにインストールする方法は通常次のとおりです。

~# apt install feh

壁紙を設定するには、マンページをもう一度見てみましょう。

feh は背景セッターとしても使用できます。 --no-fehbg オプションを渡さない場合、現在の背景を ~/.fehbg に設定するスクリプトが作成されます。したがって、Xが起動するたびに背景を復元するには、X起動スクリプト(例えば、//.xinitrc)に "sh ~/.fehbg &"を追加するだけです。 feh 2.13以降、スクリプトは実行可能なので、「~/.fehbg&」も動作します。

マンページの後ろから:

--背景センター

文書を背景の中央に置きます。小さすぎると黒い枠で囲まれます。

- 背景の塗りつぶし

--bg-scaleに似ていますが、画像が収まるまでサイズを変更してアスペクト比を維持します。画像の水平または垂直部分が切り取られます。

--bg-最大

--bg-fillに似ていますが、画像を画面に合う最大サイズに調整し、片側に黒い枠を表示します。

--bg-規模

重複、コンテンツの切り取り、罫線を使用せずに文書を背景に配置します。しかし、アスペクト比も維持されません。

--bg-tile画像が画面に比べて小さすぎる場合の画像タイリング(繰り返し)

したがって、ある種の反復スクリプトで使用できます。

(実際のプログラミングではなく、概念証明のみです)

#!/usr/bin/env python
import os
import time

files = [
        '1.jpg', // Perhaps you could have a listing of ls here, and parse that.
        '2.jpg',
        'file.jpg'
]
while True:
        for i in files:
                os.system('feh ' + files[i] + ' --bg-fill')
                time.sleep(120)

これが正しい方向を示すのに役立つことを願っています。

PS:私はユーザーであり、i3これが私の壁紙を設定する方法です。他の人を助けることができることを願っています。

関連情報