현재 배경화면은 어디에 저장되어 있나요?

현재 배경화면은 어디에 저장되어 있나요?

현재 배경화면이 xfce4에 어디에 저장되어 있는지 아는 사람이 있나요?

저는 SLiM을 사용하고 있으며 SLiM 배경을 현재 배경화면에 심볼릭 링크하여 매번 수동으로 변경할 필요가 없도록 하고 싶습니다.

답변1

가능한 위치는 2곳입니다:

사용자 점검을 위해

~/.local/share/xfce4/backdrops/

전역적으로 시스템 전체 경로 확인

/usr/share/xfce4/backdrops

SLiM과 데스크탑 간에 배경화면을 공유하려면 사용된 테마의 이름을 바꾸고 데스크탑 배경화면 파일에서 기본 SLiM 테마로의 링크를 만듭니다.

mv /usr/share/slim/themes/default/background.jpg{,.bck}
ln -s /path/to/mywallpaper.jpg /usr/share/slim/themes/default/background.jpg

답변2

이것은 오래된 질문이지만 최근에 Arch 및 xfce4로 전환하면서 이 문제로 인해 혼란스러워졌습니다. 마침내 해결책을 찾았고 다른 사람들에게 유용할 경우를 대비하여 여기에 게시하겠다고 생각했습니다. 예를 들어

#!/bin/bash -
#
# define xfce4 xml file that holds info about desktops 
# 
DESKTOP="/home/$(id -un)/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml"
#
# define xpath that will extract current desktop background file name
# (NB I am no expert in xpaths and there is probably a much more elegant way
#  to do this but this works for me)
#
XPATH='(//property[@name="workspace0"]/property[@name="last-image"])[last()]/@value'
#
# use xmllint utility to apply xpath to file and extract file path and name
#
IMAGE=$(xmllint --xpath "string(${XPATH})" "${DESKTOP}")
#
# display the file info extracted
#
echo Current Wallpaper File = ${IMAGE}
#
# rest of script........
#

xmllint는 libxml2 패키지에서 제공됩니다.

답변3

나는 이것이 오래된 질문이라는 것을 알고 있지만 최근에는 스스로 해결하려고 노력했습니다. 이것이 내 해결책입니다.

screenLocker이름이 inside인 파일을 만듭니다./usr/bin/

다음을 입력하세요(YOUR_CURRENT_THEME를 테마로 바꾸세요).

#!/bin/bash
ln -fs $(xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitor0/workspace0/last-image) \ 
/usr/share/slim/themes/YOUR_CURRENT_THEME/background.png && slimlock

그 다음에:

sudo chmod +x /usr/bin/screenLocker

명령을 사용하기 위한 키보드 단축키를 추가/편집합니다./usr/bin/screenLocker

이제 바탕화면 배경화면을 변경할 때마다 잠금 화면이 일치하게 됩니다.

답변4

xfconf-query -c xfce4-desktop -p /backdrop/screen0/$(xrandr|awk '/\<connected/{print "monitor"$1}')/workspace0/last-image

그러면 xrandr에서 연결된 모니터 이름을 가져온 다음 배경 화면 설정을 가져옵니다.

이걸 알아내느라 시간 낭비야

관련 정보