(उबुन्टू ग्नोम शेल 16.04+ पर परीक्षण किया गया)
दो तरीके। यदि आप जानना चाहते हैं कि आप वास्तव में क्या कर रहे हैं, तो समाधान # 1 का पालन करें । यदि आप सभी के लिए एक ही स्क्रिप्ट चाहते हैं, तो समाधान # 2 का पालन करें (सभी इसे हल करते हैं # 1 समाधान)
समाधान 1
पृष्ठभूमि की जानकारी: सूक्ति लॉगिन पृष्ठभूमि एक पैरामीटर नहीं है जिसे आप सीधे (अजीब!) बदल सकते हैं। यह Gnome Shell CSS फ़ाइल में मौजूद है जो बाइनरी फ़ाइल में मौजूद है। इसलिए, आपको बाइनरी फ़ाइल को निकालना होगा, इसे संशोधित करना होगा और नई बाइनरी को पुरानी फ़ाइल से बदलना होगा।
Step1: Gnome खोल बाइनरी फ़ाइल निकालना
निर्देशिका के extractgst.sh
लिए Gnome शेल विषय निकालने के लिए निम्न स्क्रिप्ट चलाएँ~/shell-theme
#!/bin/sh
workdir=${HOME}/shell-theme
if [ ! -d ${workdir}/theme ]; then
mkdir -p ${workdir}/theme
fi
gst=/usr/share/gnome-shell/gnome-shell-theme.gresource
for r in `gresource list $gst`; do
gresource extract $gst $r >$workdir/${r#\/org\/gnome\/shell/}
done
चरण 2: इसे संशोधित करना
- अपनी पृष्ठभूमि छवि को इस फ़ोल्डर में कॉपी करें
~/shell-theme/theme
।
- सामग्री के
~/shell-theme/theme/gnome-shell-theme.gresource.xml
साथ फ़ाइल बनाएँ
- अपनी पृष्ठभूमि छवि फ़ाइल नाम के साथ फ़ाइल नाम बदलें
अब, gnome-shell.css
निर्देशिका में फ़ाइल खोलें और #lockDialogGroup
परिभाषा को निम्नानुसार बदलें :
#lockDialogGroup {
background: #2e3436 url(filename);
background-size: [WIDTH]px [HEIGHT]px;
background-repeat: no-repeat;
}
फ़ाइल नाम को अपने रिज़ॉल्यूशन में बैकग्राउंड इमेज और बैकग्राउंड-साइज़ का नाम दें।
Step3: नए सूक्ति शेल थीम बाइनरी बनाएं और मौजूदा की जगह
अंदर विषय निर्देशिका, भागो
glib-compile-resources gnome-shell-theme.gresource.xml
आपको एक बाइनरी फ़ाइल मिलेगी। इसे कॉपी करें
/usr/share/gnome-shell
अब GDM का उपयोग करके पुनः आरंभ करें
service gdm restart
यदि यह काम नहीं करता है या अटक गया है, तो अपना नया लॉगिन वॉलपेपर देखने के लिए अपने कंप्यूटर को पुनरारंभ करें :))
समाधान २
ठीक है, जैसा कि वादा किया गया था, यह सब स्वचालित करने का एक सरल तरीका है। बस इस स्क्रिप्ट को login-background.sh के रूप में सहेजें
WORKDIR=~/tmp/gdm-login-background
GST=/usr/share/gnome-shell/gnome-shell-theme.gresource
GSTRES=$(basename $GST)
mkdir -p $WORKDIR
cd $WORKDIR
mkdir theme
for r in `gresource list $GST`; do
gresource extract $GST $r >$WORKDIR$(echo $r | sed -e 's/^\/org\/gnome\/shell\//\//g')
done
cd theme
cp "$IMAGE" ./
echo "
#lockDialogGroup {
background: #2e3436 url(resource:///org/gnome/shell/theme/$(basename $IMAGE));
background-size: cover;
background-repeat: no-repeat;
}" >>gnome-shell.css
echo '<?xml version="1.0" encoding="UTF-8"?>
<gresources>
<gresource prefix="/org/gnome/shell/theme">' >"${GSTRES}.xml"
for r in `ls *.*`; do
echo " <file>$r</file>" >>"${GSTRES}.xml"
done
echo ' </gresource>
</gresources>' >>"${GSTRES}.xml"
glib-compile-resources "${GSTRES}.xml"
sudo mv "/usr/share/gnome-shell/$GSTRES" "/usr/share/gnome-shell/${GSTRES}.backup"
sudo mv "$GSTRES" /usr/share/gnome-shell/
rm -r $WORKDIR
if [ "$CREATED_TMP" = "1" ]; then
rm -r ~/tmp
fi
स्क्रिप्ट का उपयोग करके चलाएँ
IMAGE=~/Bat.jpg sh login-background.sh
अब service gdm restart
अपनी नई लॉगिन पृष्ठभूमि के लिए लैपटॉप का उपयोग करके या पुनः आरंभ करने के लिए जीडीएम पुनः आरंभ करें :))
संदर्भ:
https://wiki.archlinux.org/index.php/GDM
https://bbs.archlinux.org/viewtopic.php?id=197036