GNOME 3 के अंतर्गत समय-समय पर बदलते वॉलपेपर?


15

मैं गनोम 3 के साथ फेडोरा 15 का उपयोग करता हूं और मैं अपने वॉलपेपर को समय-समय पर बदलना चाहता हूं जैसे कि यह विंडोज 7 के साथ संभव है। यह सबसे अच्छा होगा यदि यह आरएसएस / एटम या एक निर्दिष्ट निर्देशिका का उपयोग कर सकता है।

मुझे रिपॉजिटरी में कोई टूल नहीं मिला है। मुझे लगता है कि आप इसे एक स्क्रिप्ट और क्रोन के साथ बदल सकते हैं, लेकिन मैं कुछ और सुरुचिपूर्ण तलाश कर रहा हूं।

जवाबों:



19

निम्नलिखित शेल स्क्रिप्ट को कहीं सहेजें:

#!/bin/bash

WP_DIR=/home/honeyp0t/wallpapers

cd $WP_DIR
while [ 1 ] 
  do
  set -- * 
  length=$#
  random_num=$((( $RANDOM % ($length) ) + 1)) 

  gsettings set org.gnome.desktop.background picture-uri "file://$WP_DIR/${!random_num}"

  sleep 600 
done

फिर अपने घर निर्देशिका में .config / autostart को वॉलपेपर-changer.desktop नामक फ़ाइल में डालें

[Desktop Entry]
Name=wallpaper-changer
Exec=/home/sammhe/bin/setbg.sh
Comment=change wallpaper every so often
Hidden=false
Type=Application
X-GNOME-Autostart-enabled=true

यह आपके वॉलपेपर को हर 10 मिनट में बदल देगा… या स्क्रिप्ट में जो भी मूल्य निर्धारित करेगा…

मैंने मूल रूप से इसे एक ओएस प्लम्बर के मूसिंग पर "कस्टमाइज़िंग द गनोम शेल" नामक एक टिप्पणी के रूप में पोस्ट किया है ।


मुझे आपके लिंक पर वॉलपेपर या ह्यूबर्ट सैम बदलने के बारे में कुछ नहीं मिला। क्या आप अधिक विस्तार से बताएंगे?
कोवल

या आप इसे यहाँ लिख सकते हैं :) (मैंने आपका नाम नहीं लिया, क्षमा करें :))
कोवल

1
यह ध्यान देने योग्य है कि आप भी सेट करना चाहते हैं pictures-options:gsettings set org.gnome.desktop.background picture-options '<zoom|centered|none|scaled|spanned|stretched|wallpaper|zoom>'
डैनियल क्विन

यह सूक्ति 2 के लिए सही काम नहीं करता है?
विकफ्रेड

वास्तव में "सेट - *" क्या करता है?
सर्जियोअराउजो

3

यदि आप एक init स्क्रिप्ट के बजाय एक क्रॉन जॉब का उपयोग करना चाहते हैं, तो यहां मैंने क्या किया। प्रेरणा के लिए ह्यूबर्ट का धन्यवाद!

#!/bin/bash

walls_dir=$HOME/.wallpapers
selection=$(find $walls_dir -type f -name "*.jpg" -o -name "*.png" | shuf -n1)
gsettings set org.gnome.desktop.background picture-uri "file://$selection"

स्क्रिप्ट को कहीं पर सहेजें (उदाहरण के लिए $HOME/bin/rotate_bg), इसे निष्पादन योग्य बनाएं ( chmod +x $HOME/bin/rotate_bg), फिर cronइसे चलाने के लिए नौकरी जोड़ें जितनी बार आप अपनी पृष्ठभूमि को बदलना चाहते हैं। अपने उपयोगकर्ता के लिए तालिका crontab -eसंपादित करने के लिए चलाएँ cronयहां एक लिंक दिया गया है जो क्रॉस्टैब प्रारूप का वर्णन करता है । निम्न प्रविष्टि आपकी पृष्ठभूमि को हर 10 मिनट में घुमाएगी:

*0 * * * * $HOME/bin/rotate_bg

तुम यहाँ अकिंचन हो। नींद एक व्यस्त इंतजार नहीं है
आर्ट गर्टनर

अगर आपको एक प्रशस्ति पत्र मिला तो मैं अपना जवाब बदल दूंगा
नाथन वालेस

उसी स्रोत से जिसे मैंने ऊपर जोड़ा है The sleep instruction suspends the calling process for at least the specified number of seconds (the default), minutes, hours or days:। ईजी प्रक्रिया को बुलाया नहीं जाता है और सीपीयू चक्रों को बर्बाद नहीं करता है। विकी पर व्यस्त प्रतीक्षा से भी :Busy-waiting itself can be made much less wasteful by using a delay function (e.g., sleep()) found in most operating systems. This puts a thread to sleep for a specified time, during which the thread will waste no CPU time
आर्ट गर्टनर

1

किसी कारण से, मैं ह्यूबर्ट सैम को जवाब देने का एक तरीका नहीं देख सकता, लेकिन मुझे उनका लिंक मददगार लगा। बस के मामले में यह नीचे चला जाता है या आप इस विशेष उत्तर को प्राप्त करने के लिए पूरी बात नहीं पढ़ना चाहते हैं, मैंने कहा है कि मैं कैसे Gnome 3 में एक लाइव-अपडेटिंग पृष्ठभूमि को पूरा करने में कामयाब रहा।

~ / .Cache / gnome-control / Center / Background पर जाकर आप एक लंबे नाम ("a4f327082b43572cfa36ad23b5e1fda7be77bfb6bfe362e4d682fd9c6699f27" जैसी फ़ाइल के साथ एक फ़ाइल पाएंगे), जो कैश्ड संस्करण है। यदि आप इस फ़ाइल को हटाते हैं और इसे बदलने के लिए एक ही नाम के साथ एक सिमलिंक बनाते हैं:

$ rm a4f327082b43572cfa36ad23b5e1fda7be77b6fb6bfe362e4d682fd9c6699f27 
$ ln -s /path/to/original/file a4f327082b43572cfa36ad23b5e1fda7be77b6fb6bfe362e4d682fd9c6699f27

फिर, जैसे ही मूल फ़ाइल अपडेट की जाती है, डेस्कटॉप पृष्ठभूमि उसको प्रतिबिंबित करने के लिए बदल जाएगी। मैं इस तकनीक का उपयोग यह सुनिश्चित करने के लिए कर रहा हूं कि मेरी XPlanetFX पृष्ठभूमि अद्यतित रहे। उदाहरण के लिए, बस एक छवि है जिसे "background.jpg" कहा जाता है और जब भी आप पृष्ठभूमि को अपडेट करना चाहते हैं, तो इस फ़ाइल को बदल दें।

संभवतः इसके बारे में जाने का अधिक सही तरीका यह होगा कि gsettings का उपयोग तस्वीर-उरी पते को बदलने के लिए सीधे आपके चयन की फ़ाइल को इंगित करने के लिए किया जाएगा, लेकिन मैंने सिम्लिंक विकल्प को चुना क्योंकि मुझे नहीं पता था कि सेटिंग परिवर्तन कितना स्थायी होगा। वॉलपेपर बदलने के लिए यूआई का उपयोग करते समय। किसी भी तरह से सिद्धांत में काम करना चाहिए।

नोट: मुझे यह निश्चित रूप से पता नहीं है क्योंकि मैंने इसका परीक्षण नहीं किया था, लेकिन एक अच्छा मौका है कि यदि आप अपनी पृष्ठभूमि को सामान्य UI के माध्यम से बदलते हैं, तो यह लंबे समय तक अद्वितीय फ़ाइल नाम बदल जाएगा, और आपका सिमलिंक अब उपयोगी नहीं होगा ।


1

निम्नलिखित शेल स्क्रिप्ट को कहीं सहेजें:

#!/bin/bash
while true; do
file=`/bin/ls -1 $1 | sort --random-sort | head -1`;path=`readlink --canonicalize "$dir/$file"`;
gsettings set org.gnome.desktop.background picture-uri "file://"$1$path;sleep $2;done

इसे सिंटैक्स का उपयोग करके चलाएं:

scriptname directoryofpictures howmanyseconds
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.