그놈의 예약된 배경화면 다시 그리기 빈도를 높이는 방법은 무엇입니까?

그놈의 예약된 배경화면 다시 그리기 빈도를 높이는 방법은 무엇입니까?

GNOME에서 시간 제한 배경화면을 설정하고 있는데 duration1초 미만으로 구성하면 예상대로 작동하지 않습니다.

(또는 각 프레임 duration)의 시간은 정확하게 지정되지만 바탕 화면 배경 무늬 자체는 실제로 초당 한 번만 그려집니다.

데스크탑을 더 자주 다시 그리도록 GNOME/Debian을 구성할 수 있습니까? 목표는 초당 60개 업데이트이지만 초당 30개, 15개 또는 2개 업데이트에 도달하는 것은 최소한의 진전입니다.

내가 시도한 것:
  1. 온라인에서 솔루션을 찾았지만 duration1초 이상으로 설정하거나 추가 소프트웨어를 사용하여 데스크탑에서 비디오 또는 GIF를 재생하는 경향이 있습니다. 추가 소프트웨어를 사용하지 않고도 최상의 결과를 얻고 싶습니다.
  2. 문서를 읽어보세요. 하지만 GNOME에는 예약된 배경화면이 많지 않고 일반 배경화면만 있어서 도움이 되지 않습니다. (데스크탑 배경화면,추가 배경 추가)
  3. 배경화면이나 데스크톱 업데이트 빈도와 관련된 공통 설정을 찾을 수 없습니다.
내 파일
~/Pictures/W6cMZ6wfCjk/live-wallpaper.xml
<background>
  <static>
    <duration>0.016666667</duration>
    <file>/home/redacted/Pictures/W6cMZ6wfCjk/frames/001.png</file>
  </static>
  <static>
    <duration>0.016666667</duration>
    <file>/home/redacted/Pictures/W6cMZ6wfCjk/frames/002.png</file>
  </static>

  <!-- … 581 frames in total, spaced 0.016666667 seconds apart so 60 fps -->
~/.local/share/gnome-background-properties/live-wallpaper.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE wallpapers SYSTEM "gnome-wp-list.dtd">
<wallpapers>
 <wallpaper deleted="false">
   <name>Redacted Wallpaper</name>
   <filename>/home/redacted/Pictures/W6cMZ6wfCjk/live-wallpaper.xml</filename>
   <options>zoom</options>
 </wallpaper>
</wallpapers>

답변1

이 방법은 작동하지만 배경 화면을 초당 60번 변경하면 CPU를 소모하므로 더 나은 해결책은 Gnome Shell이 ​​비디오 스트림에서 애니메이션 배경을 기본적으로 지원하도록 하는 것입니다.

어쨌든 진행 방법은 다음과 같습니다.

# Create a folder to hold your custom overlays
mkdir -p .gnome-shell-custom-overlays/ui
echo 'export G_RESOURCE_OVERLAYS="/org/gnome/shell=$HOME/.gnome-shell-custom-overlays"' \
   >> .profile

# Extract the file we want to customize
gresource extract /usr/lib/gnome-shell/libgnome-shell.so /org/gnome/shell/ui/background.js \
    > ~/.gnome-shell-custom-overlays/ui/background.js

# Change the minimum frame time (feel free to adjust)
sed -i 's:ANIMATION_MIN_WAKEUP_INTERVAL = 1.0;:ANIMATION_MIN_WAKEUP_INTERVAL = 1/60;:' \
    ~/.gnome-shell-custom-overlays/ui/background.js

그런 다음 세션에서 로그아웃했다가 다시 로그인하십시오.

관련 정보