수시로 바뀌는 배경화면 스크립트 만들기 (소요시간)

수시로 바뀌는 배경화면 스크립트 만들기 (소요시간)

그래서 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

추신: 제 영어 실력이 부족해서 죄송합니다. 아직 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>>>>"

관련 정보