답변:
이것은 당신이 찾고있는 솔루션입니다.
나는 그것을 만든; 테스트 버전이지만 작동합니다!
다음 쉘 스크립트를 어딘가에 저장하십시오.
#!/bin/bash
WP_DIR=/home/honeyp0t/wallpapers
cd $WP_DIR
while [ 1 ]
do
set -- *
length=$#
random_num=$((( $RANDOM % ($length) ) + 1))
gsettings set org.gnome.desktop.background picture-uri "file://$WP_DIR/${!random_num}"
sleep 600
done
그런 다음 .config / autostart의 홈 디렉토리에서 다음을 wallpaper-changer.desktop이라는 파일에 넣습니다.
[Desktop Entry]
Name=wallpaper-changer
Exec=/home/sammhe/bin/setbg.sh
Comment=change wallpaper every so often
Hidden=false
Type=Application
X-GNOME-Autostart-enabled=true
그러면 10 분마다 배경 화면이 변경됩니다.
나는 원래 이것을 OS 배관공 Musings의 "GNOME 쉘 사용자 정의"라는 제목의 게시물에 대한 주석으로 게시했습니다 .
pictures-options
gsettings set org.gnome.desktop.background picture-options '<zoom|centered|none|scaled|spanned|stretched|wallpaper|zoom>'
init 스크립트 대신 cron 작업을 사용하려면 다음을 수행하십시오. 영감을 준 Hubert에게 감사합니다!
#!/bin/bash
walls_dir=$HOME/.wallpapers
selection=$(find $walls_dir -type f -name "*.jpg" -o -name "*.png" | shuf -n1)
gsettings set org.gnome.desktop.background picture-uri "file://$selection"
스크립트를 어딘가에 저장 (예 :) $HOME/bin/rotate_bg
하고 실행 가능하게 chmod +x $HOME/bin/rotate_bg
한 다음 ( ) cron
배경을 변경할 때마다 실행할 작업을 추가하십시오 . 실행 하여 사용자 crontab -e
의 cron
테이블 을 편집하십시오 . 다음은 crontab 형식을 설명하는 링크입니다 . 다음 항목은 10 분마다 배경을 회전시킵니다.
*0 * * * * $HOME/bin/rotate_bg
The sleep instruction suspends the calling process for at least the specified number of seconds (the default), minutes, hours or days
. 예를 들어 프로세스가 호출되지 않고 CPU 사이클을 낭비하지 않습니다. 또한 바쁜 위키에서 위키에서 :Busy-waiting itself can be made much less wasteful by using a delay function (e.g., sleep()) found in most operating systems. This puts a thread to sleep for a specified time, during which the thread will waste no CPU time
어떤 이유로 든 허버트 샘에게 답장하는 방법을 볼 수 없지만 그의 링크가 도움이되었다는 것을 알았습니다. 다운이되거나이 특정 답변을 얻기 위해 모든 것을 읽고 싶지 않은 경우를 대비하여 Gnome 3에서 라이브 업데이트 배경을 달성하는 방법을 추가했습니다.
~ / .cache / gnome-control / center / backgrounds로 이동하면 배경을 설정 한 파일의 캐시 된 버전 인 "a4f327082b43572cfa36ad23b5e1fda7be77b6fb6bfe362e4d682fd9c6699f27"와 같은 긴 이름의 파일을 찾을 수 있습니다. 이 파일을 삭제하고 동일한 이름의 심볼릭 링크를 만들어 바꾸면 :
$ rm a4f327082b43572cfa36ad23b5e1fda7be77b6fb6bfe362e4d682fd9c6699f27
$ ln -s /path/to/original/file a4f327082b43572cfa36ad23b5e1fda7be77b6fb6bfe362e4d682fd9c6699f27
그런 다음 원본 파일이 업데이트되면 바탕 화면 배경이이를 반영하여 변경됩니다. XPlanetFX 배경을 최신 상태로 유지하기 위해이 기술을 사용하고 있습니다. 예를 들어, "background.jpg"라는 이미지가 있고 배경을 업데이트 할 때마다이 파일을 변경하십시오.
아마도이 문제를 해결하는 더 올바른 방법은 gsettings를 사용하여 선택한 파일을 직접 가리 키도록 picture-uri 주소를 변경하는 것이지만 설정 변경이 얼마나 지속되는지 알지 못했기 때문에 symlink 옵션을 선택했습니다. UI를 사용하여 배경 화면을 변경할 때 그러나 어느 쪽이든 이론적으로 작동해야합니다.
참고 : 테스트하지 않았으므로 확실하게 알 수 없지만 일반 UI를 통해 배경을 변경하면 긴 고유 파일 이름이 변경되고 symlink가 더 이상 유용하지 않을 가능성이 큽니다. .
다음 쉘 스크립트를 어딘가에 저장하십시오.
#!/bin/bash
while true; do
file=`/bin/ls -1 $1 | sort --random-sort | head -1`;path=`readlink --canonicalize "$dir/$file"`;
gsettings set org.gnome.desktop.background picture-uri "file://"$1$path;sleep $2;done
다음 구문을 사용하여 실행하십시오.
scriptname directoryofpictures howmanyseconds