随時変わる壁紙スクリプトの作成(所要時間)

随時変わる壁紙スクリプトの作成(所要時間)

それで、Mac OSの壁紙が時間の経過とともに変わるのをコピーしたいのです。

KDEでManjaroを使用する

次のコードは、与えられた画像パスを使用してKDEの壁紙を変更します。

qdbus org.kde.plasmashell /PlasmaShell org.kde.PlasmaShell.evaluateScript 'var allDesktops = desktops();print (allDesktops);for (i=0;i<allDesktops.length;i++) {d = allDesktops[i];d.wallpaperPlugin = "org.kde.image";d.currentConfigGroup = Array("Wallpaper", "org.kde.image", "General");d.writeConfig("Image", "<<<<PATH>>>>")}'

これは、複数の画像を使用する別の場所からコピーされました。このコードは端末で実行するだけで機能します。

だから5つを作り、壁紙をそれぞれの時間に変更したいと思います。

名前をnoon.sh Morning.shなどで指定します。

ファイルが生成され、必要な権限が付与されました。

chmod u+x <filename>

でも自分の作品を批判する人を手に入れた後

./noon.sh

私が知っている限り、特定の時間に予約されていないため、crontabは使用できません(間違っている可能性があります)。

これでファイルがあり、端末に./PATH/noon 11:00 |

これは機能し、与えられた時間内に壁紙を変更します。

これで、1時間ごとに壁紙を変更する24個のemを含む別のファイルが作成されました。

このように

#!/bin/sh


echo "./Documents/WallpaperScript/night.sh\n" | at 00:00
echo "./Documents/WallpaperScript/night.sh\n" | at 01:00
echo "./Documents/WallpaperScript/night.sh\n" | at 02:00
echo "./Documents/WallpaperScript/night.sh\n" | at 03:00
echo "./Documents/WallpaperScript/night.sh\n" | at 04:00
echo "./Documents/WallpaperScript/night.sh\n" | at 05:00
echo "./Documents/WallpaperScript/morning.sh\n" | at 06:00
echo "./Documents/WallpaperScript/morning.sh\n" | at 07:00
echo "./Documents/WallpaperScript/morning.sh\n" | at 08:00
echo "./Documents/WallpaperScript/noon.sh\n" | at 09:00
echo "./Documents/WallpaperScript/noon.sh\n" | at 10:00
echo "./Documents/WallpaperScript/noon.sh\n" | at 11:00
echo "./Documents/WallpaperScript/noon.sh\n" | at 12:00
echo "./Documents/WallpaperScript/noon.sh\n" | at 13:00
echo "./Documents/WallpaperScript/noon.sh\n" | at 14:00
echo "./Documents/WallpaperScript/noon.sh\n" | at 15:00
echo "./Documents/WallpaperScript/evening.sh\n" | at 16:00
echo "./Documents/WallpaperScript/evening.sh\n" | at 17:00
echo "./Documents/WallpaperScript/dusk.sh\n" | at 18:00
echo "./Documents/WallpaperScript/night.sh\n" | at 19:00
echo "./Documents/WallpaperScript/night.sh\n" | at 20:00
echo "./Documents/WallpaperScript/night.sh\n" | at 21:00
echo "./Documents/WallpaperScript/night.sh\n" | at 22:00
echo "./Documents/WallpaperScript/night.sh" | at 23:00

設定ページの助けを借りて

私はこれを起動スクリプトとして使用します

うまくいかないようです

しかし、コマンドを実行すると、atqatプロセスがスケジュールされているという出力が表示されます。

しかし、うまくいきません

誰でも助けることができますか? :3

PS:私の英語力が不足して申し訳ありません。まだLinuxに初めて触れる人です。

ベストアンサー1

特定の時間に実行するようにcronを設定できます。たぶん秒や少数まで正確ではないかもしれませんが、実際に気づくことができますか?

私の提案は次のとおりです/etc/crontab

00 * * * * *user* /home/*user*/Documents/WallpaperScript/setWallpaper.sh

スクリプト内には、HH=$(date +%H)現在の時刻や使用する画像などを知る変数があります。

cronはバックグラウンドで実行され、ディスプレイについて知らないため、まだcronを介して機能しません。

よく分からないけど似たような気がします。

DISPLAY=:0に電話する前に追加してくださいqdbus

したがって、以下を実行する必要があります。

DISPLAY=:0 qdbus org.kde.plasmashell /PlasmaShell org.kde.PlasmaShell.evaluateScript 'var allDesktops = desktops(); print (allDesktops); for (i=0;i<allDesktops.length;i++) {d = allDesktops[i]; d.wallpaperPlugin = "org.kde.image"; d.currentConfigGroup = Array("Wallpaper", "org.kde.image", "General"); d.writeConfig("Image", "<<<<PATH>>>>")}'

ボーナスとして(私はcronで同じスクリプトを実行します)、ロック画面を同じ画像に設定することもできます。

DISPLAY=:0 kwriteconfig5 --file /home/*user*/.config/kscreenlockerrc --group Greeter --group Wallpaper --group org.kde.image --group General --key Image "file://<<<<PATH>>>>"

おすすめ記事