아래에 여행 사진이 있는 중첩된 디렉토리 구조가 있습니다 ~/Pictures/Shotwell-Import/YYYY/MM/DD/
.
내 데스크탑 배경이 이 이미지에서 무작위로 선택되기를 원합니다.
불행하게도 Cinnamon은 맨 위에 이미지가 있는 플랫 디렉토리를 기대하는 것 같습니다.
이 제한을 우회하는 방법을 아시나요?
감사해요!
답변1
해결 방법으로 크론 작업을 사용할 수 있습니다.
예제 디렉터리 구조가 포함된 지침입니다. 필요에 따라 수정하세요.
중첩된 디렉터리 구조가 다음 위치에 있다고 가정합니다./home/USERNAME/Pictures/Shotwell-Import
쉘 스크립트 작성
다음 위치에 스크립트 파일을 만듭니다 /home/USERNAME/Pictures/set-random-image.sh
.
#!/bin/bash
# Change to directory containing this script.
# See http://stackoverflow.com/a/3355423/246724
cd "$(dirname "$0")"
# Set the pictures directory
PICDIR="/home/USERNAME/Pictures/Shotwell-Import"
# Randomly pick one of the pictures.
# See http://www.webupd8.org/2009/11/3-lines-script-to-automatically-change.html
PICFILE=$(find $PICDIR -iregex '.*\.\(jpeg\|jpg\|png\)' | shuf -n1)
# Prevent a "dconf-WARNING **: failed to commit changes to dconf: Cannot autolaunch D-Bus without X11 $DISPLAY"
# Omit the last letter of "cinnamon-session" for the character limit in pgrep.
PID=$(pgrep -u $LOGNAME cinnamon-sessio)
export DBUS_SESSION_BUS_ADDRESS=$(grep -z DBUS_SESSION_BUS_ADDRESS /proc/$PID/environ|cut -d= -f2-)
# Set Cinnamon background image.
# Other desktop environments need different command.
gsettings set org.cinnamon.desktop.background picture-uri "file://$PICFILE"
스크립트/파일 권한 설정 시도
이 스크립트를 실행할 수 있도록 파일 권한을 구성하십시오. 그런 다음 스크립트를 한 번 실행하십시오.
cd /home/USERNAME/Pictures
# Copy an example picture to mybkg.jpg
./set-random-image.sh
# Permission problems?
chmod u+rwx set-random-image.sh
# Now it should work!
./set-random-image.sh
# Do it again a few times, and see the background change.
# If this does not work, this tutorial will be useless to you.
./set-random-image.sh
./set-random-image.sh
배경 이미지 구성
이제 배경 이미지로 설정해 보세요. 명령줄을 사용하여 이 작업을 수행할 수도 있지만 UI에서 수행하는 것이 더 투명하다고 생각합니다.
설정 > 배경 대화 상자를 엽니다.
설정 탭에서,장애를 입히다"배경을 슬라이드쇼로 재생". 크론 작업을 생성할 것이기 때문에 슬라이드가 필요하지 않습니다.
"이미지" 탭에서 /home/USERNAME/Pictures/mybkg.jpg
배경 이미지로 구성합니다. 폴더를 추가한 /home/USERNAME/Pictures
다음 폴더 내의 이미지를 선택하려면 왼쪽 하단에 있는 "+" 아이콘이 필요합니다 .
크론 작업 구성
유형 crontab -e
. 1분마다 변경하려면 다음 줄을 추가하세요.
* * * * * /home/USERNAME/Pictures/set-random-image.sh
잠시 기다려 배경이 바뀌는지 확인해 보세요.
참고: Cinnamon 설정 및 파일 복사
이 답변의 이전 버전에서는 스크립트가 계피 설정을 변경하는 대신 이미지를 기본 위치에 복사했습니다. 장점은 다른 데스크탑 환경에서도 동일하게 작동한다는 것입니다. 단점은 분당 불필요한 디스크 쓰기가 SSD에 해로울 수 있다는 것입니다. 편집증이 결국 승리했기 때문에 이 답변을 변경했습니다.