Cinnamon: 중첩된 디렉토리 구조를 가진 데스크탑 배경이요?

Cinnamon: 중첩된 디렉토리 구조를 가진 데스크탑 배경이요?

아래에 여행 사진이 있는 중첩된 디렉토리 구조가 있습니다 ~/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에 해로울 수 있다는 것입니다. 편집증이 결국 승리했기 때문에 이 답변을 변경했습니다.

관련 정보