ฉันกำลังสร้างแพคเกจสแน็ปสำหรับแอปพลิเคชันของฉันซึ่งใช้จาวาและดาวน์โหลดภาพพื้นหลังจากอินเทอร์เน็ต จนถึงตอนนี้ดีมาก แต่ตอนนี้ฉันกำลังเพิ่มคุณสมบัติใหม่เพื่อตั้งค่าภาพพื้นหลังที่เลือกและมันไม่ทำงาน คุณลักษณะนี้มีการใช้งานสำหรับเดสก์ท็อป Unity และ Gnome 3 ซึ่งเป็นวิธีที่ง่ายในการตั้งค่ารูปพื้นหลังของเดสก์ท็อปผ่านเครื่องมือบรรทัดคำสั่ง gsettings
ด้วยวิธีนี้การเรียกใช้gsettings ตั้งไฟล์ org.gnome.desktop.background picture-uri: //blablabla.jpgคุณสามารถเปลี่ยนภาพพื้นหลังเดสก์ทอปโดยตรงและแอปพลิเคชันที่ใช้ java ของฉันใช้เครื่องมือนี้และคำสั่งนี้เพื่อให้บรรลุเป้าหมายนี้
ครั้งแรกเมื่อฉันทดสอบ wallpaperdownloader ภายในแพ็คเกจ snap มันบ่นเพราะมันไม่พบ gsettings ไบนารีภายใน snap ตอนนี้มันได้รับการแก้ไขแล้วเพราะฉันได้รวมlibglib2.0-binเป็นแพ็คเกจแพ็คเกจ อย่างไรก็ตามมันไม่ทำงาน ฉันเดาว่าการตั้งค่า gsettings ภายในแพ็คเกจ snap ไม่สามารถจัดการไฟล์นอก snap ได้และฉันต้องแก้ไขไฟล์เหล่านั้นโดยตรงภายในโฮมไดเร็กตอรี่ของผู้ใช้ ฉันสามารถทำสิ่งนี้ได้หรือถูก จำกัด ?
นี่คือไฟล์ snapcraft.yaml และสคริปต์ทำงานเมื่อเรียกใช้ wallpaperdownloaded
snapcraft.yml
name: wallpaperdownloader
version: "2.2"
summary: Download and manage your favorite wallpapers from the Internet
description: WallpaperDownloader is a simple GUI Java based application for downloading and managing wallpapers from the Internet
confinement: strict
apps:
wallpaperdownloader:
command: wallpaperdownloader.sh
plugs: [x11, network-bind, home]
parts:
# Pulls the code from the original source (master branch)
wallpaperdownloader:
plugin: maven
source: .
stage-packages:
- libglib2.0-bin
# It will copy wallpaperdownloader script into /bin/
# This script contains all the commands needed (sets env variables, launches the jar file...) to
# execute the application
exec:
plugin: copy
files:
wallpaperdownloader.sh: bin/wallpaperdownloader.sh
wallpaperdownloader.sh
#!/bin/sh
# Only for packaging!
# Script for snap packaging wallpaperdownloader application. It is not related to the code itself
# Not good, needed for fontconfig
export XDG_DATA_HOME=$SNAP/usr/share
# Font Config
export FONTCONFIG_PATH=$SNAP/etc/fonts/config.d
export FONTCONFIG_FILE=$SNAP/etc/fonts/fonts.conf
export HOME=$SNAP_USER_DATA
java -jar -Duser.home=$SNAP_USER_DATA $SNAP/jar/wallpaperdownloader.jar
PS: ฉันได้ลองปลั๊กอิน gsettings และ unity7 แต่พวกเขาไม่ทำงานฉันก็รวมมันไว้ในไฟล์ snapcraft.yaml เท่านั้นและฉันไม่ได้ใช้การปรับแต่ง / การตั้งค่าใด ๆ
ขอบคุณมาก,
เอลอย