ওয়ালপেপারগুলির জন্য আমি কীভাবে অন্য অনুসন্ধান ডিরেক্টরিটি সেট করব?


12

আমি আমার সমস্ত নথিগুলি আমার উবুন্টু ইনস্টলেশন থেকে পৃথক ড্রাইভে রেখেছি এবং আমার কাছে সেই ড্রাইভে সুন্দর ওয়ালপেপার পূর্ণ একটি ফোল্ডার রয়েছে। ওয়ালপেপারগুলি ডেস্কটপে ডান ক্লিক করে ডেস্কটপ ওয়ালপেপার পরিবর্তন করে নির্বাচন করে ওয়ালপেপারের চেঞ্জার কথোপকথনে প্রদর্শিত হবে তাই আমি কীভাবে উবুন্টুকে এই ডিরেক্টরিটি অনুসন্ধান করতে পারি ?

সম্পাদনা: আমি / ড্রাইভ / ভাগ / ব্যাকগ্রাউন্ড ফোল্ডারে অন্য ড্রাইভে একটি সিমিলিংক দেওয়ার চেষ্টা করেছি এবং এটি কার্যকর হয়নি।


নীচের সমস্ত উত্তরের জন্য একটি নোট: আপনি $HOME/.local/share/gnome-background-properties/my-wallpapers.xmlসিস্টেমের পটভূমি ফাইলগুলি সম্পাদনা করার পরিবর্তে এটি তৈরি এবং ব্যবহার করতে পারেন ।
Zan Lynx

উত্তর:


9

* সম্পাদনা করুন - দ্বিতীয় চেষ্টা করুন - এবং সমস্ত টার্মিনাল কাজের জন্য তাত্ক্ষণিকভাবে ক্ষমাপ্রার্থনা - আশা করি এটি হাইলাইট করা এন্ট্রিগুলি অনুলিপি করা এবং আটকানো উচিত *

জিনোম ওয়ালপেপারগুলির বিশদ ধারণ করে এমন ফোল্ডারটিকে বলা হয় /usr/share/gnome-background-properties/ubuntu-wallpapers.xML

ওয়ালপেপার ... / ওয়ালপেপারের উপ-বিভাগগুলি আপনার নতুন ফোল্ডার এবং ওয়ালপেপার ফাইলগুলিতে নির্দেশ করতে আপনি সেই ফাইলটি সম্পাদনা করতে পারেন

নীচে এই ফোরাম এন্ট্রি থেকে সংশোধিত একটি স্ক্রিপ্ট রয়েছে যা .png এবং .jpg ফাইলযুক্ত ফোল্ডারের জন্য উবুন্টু-ওয়ালপেপার.এক্সএমএল ফাইলটি স্বয়ংক্রিয়ভাবে পুনরায় জেনারেট করবে।

"উবুন্টু-ওয়ালপেপার-জেনারেটর" নামে একটি নতুন পাঠ্য ফাইলে বিষয়বস্তুগুলি অনুলিপি করুন এবং আটকান

তারপরে সিনট্যাক্স দিয়ে ফাইলটি কার্যকর করুন

sh ubuntu-wallpaper-generator <path to new wallpaper folder>

এটি যেখানে আপনি এই স্ক্রিপ্টটি চালাচ্ছেন ঠিক একই ফোল্ডারে উবুন্টু-ওয়ালপেপার.এক্সএমএল নামে একটি ফাইল তৈরি করবে।

নিরাপদে আপনার বর্তমান এক্সএমএল ফাইল ie ব্যাকআপ

sudo cp /usr/share/gnome-background-properties/ubuntu-wallpapers.xml /usr/share/gnome-background-properties/ubuntu-wallpapers.xml.backup

নতুন উত্পন্ন ফাইলটিতে অনুলিপি

sudo cp ubuntu-wallpapers.xml /usr/share/gnome-background-properties/ubuntu-wallpapers.xml

এখানে আমি উল্লেখ করেছি সেই স্ক্রিপ্ট ফাইলটি:

#!/bin/bash
#
# This script will take all wallpapers in a given folder and
# make them available as "default" background in the "Change Background" gui
# frontend in Ubuntu.
#
################################################################################

#CONFIG_DIR="/usr/share/gnome-background-properties"
CONFIG_DIR="./"
XML_FILE="$CONFIG_DIR/ubuntu-wallpapers.xml"

if [ $# -ne 1 ]; then
   echo "*** syntax ubuntu-wallpaper-generator <path to wallpaper folder> ***"
   echo "*** for example ***"
   echo "*** ubuntu-wallpaper-generator /usr/share/backgrounds ***"
   exit 1
else
   WALLPAPER_DIR=$1
   echo "*** parameters passed: $1 ***"
fi

#### First check if we have write permissions to the share dirctory. ####
touch $CONFIG_DIR/testfile >/dev/null 2>/dev/null
if [ $? -ne 0 ]; then
   echo "**** No permissions to the desktop share directory. ****"
   echo "**** $CONFIG_DIR ****"
   echo "**** Procedure Terminated. ****"
   exit 1
else
   rm $CONFIG_DIR/testfile 2>/dev/null
fi

#### Show the script description message. ###
cat <<EOF

################################################################################
     This script makes all pictures in the $WALLPAPER_DIR
     directory available to all users defined on this system as their
     system-wide GNOME wallpapers.
################################################################################
EOF

#### Fail if the wallpaper directory does not exist. ####
if [ ! -d $WALLPAPER_DIR ]; then
    echo "**** The wallpaper directory \"$WALLPAPER_DIR\" does not exist. ****"
    echo "**** Precedure Terminated. ****"
    exit 1
fi

#### Count the number of jpg/jpeg/png images. ####
numfiles=`ls -1 $WALLPAPER_DIR/*.jpg WALLPAPER_DIR/*.jpeg WALLPAPER_DIR/*.png 2>/dev/null | wc -l`

#### If there are no image files there then exit. ####
if [ $numfiles -eq 0 ]; then
    echo "**** The wallpaper directory \"$WALLPAPER_DIR\" has no images. ****"
    echo "**** Precedure Terminated. ****"
    exit 1
fi

#### Now we create the XML file containing the images for backgrounds. ####
#### Start by creating the header in the XML file. ####
cat <<EOF > $XML_FILE
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE wallpapers SYSTEM "gnome-wp-list.dtd">
<wallpapers>
EOF

#### Add each file to the XML file. ####
#### Doing it this way makes sure files with spaces in their names are ####
#### handled properly.   (ls .... | while read fname; do)              ####
ls -1 $WALLPAPER_DIR/*.jpg $WALLPAPER_DIR/*.png $WALLPAPER_DIR/*.jpeg 2> /dev/null |
while read image_name; do
   echo "   Adding: `basename "$image_name"`."
   fname=`basename "$image_name"`
   fname="${fname%%\.*}"
   echo "  <wallpaper>"                          >> $XML_FILE
   echo "    <name>$fname</name>"                >> $XML_FILE
   echo "    <filename>$image_name</filename>"   >> $XML_FILE
   echo "    <options>stretched</options>"       >> $XML_FILE
   echo "    <pcolor>#c58357</pcolor>"           >> $XML_FILE
   echo "    <scolor>#c58357</scolor>"           >> $XML_FILE
   echo "    <shade_type>solid</shade_type>"     >> $XML_FILE
   echo "  </wallpaper>"                         >> $XML_FILE
done

#### Create the footer for the XML file. ####
echo "</wallpapers>"                             >> $XML_FILE

cat <<EOF
################################################################################
     You're almost done. copy the generated file ubuntu-wallpapers.xml to the
     folder /usr/shared/gnome-background-properties
     REMEMBER to backup the current ubuntu-wallpaper.xml in that folder first!
################################################################################

EOF

1
এটি কেবল ফোল্ডারটিকে আপনার নিজের ফোল্ডারে সেট করবে। আপনাকে এখনও চ্যাঞ্জারে ওয়ালপেপারগুলি আমদানি করতে হবে।
bdr529

আমি পরিষ্কার হতে না পারে হতে পারে - যে সম্পর্কে দুঃখিত। উদাহরণস্বরূপ, যদি আপনার নতুন ওয়ালপেপার ফোল্ডারটি / মিডিয়া / <somedrive> / <omefolder> এ থাকে তবে sudo ln -s / media / <omedrive> / <somefolder> ব্যাকগ্রাউন্ডগুলি আপনার সমস্ত নতুন ওয়ালপেপারগুলি তালিকাভুক্ত করবে। আপনি যদি মানক ওয়ালপেপারগুলিও চেয়েছিলেন তবে আমি কেবলমাত্র বর্তমান ব্যাকগ্রাউন্ড ফোল্ডার সামগ্রীগুলি আপনার নতুন ওয়ালপেপার ফোল্ডারে অনুলিপি করব। আমি স্রেফ নেটিটিতে এটি পরীক্ষা করেছি - যখন আমি ডেস্কটপে ডান ক্লিক করে "নতুন ব্যাকগ্রাউন্ড" বেছে নিই, তখন এটি "আমদানি" না করে নতুন ফোল্ডারের ওয়ালপেপারের সামগ্রীগুলি প্রদর্শন করে
ফসফ্রিডম

ওহো - সবেমাত্র কী ভুল তা দেখেছি ...
ফসফ্রিডম

দুর্দান্ত কাজ করে, অতিরিক্ত চিত্রগুলির কারণে ওয়ালপেপারের চেঞ্জারটিকে কিছুটা ধীরে চালায়। ধন্যবাদ!
স্লিপস্ট্রিম

ভ্রা. আমি আপনার স্ক্রিপ্ট এবং সিপি অন্য স্ক্রিপ্টে রেখেছি এবং পরিবর্তন সংলাপটি দেখানোর জন্য "জিনোম-উপস্থিতি-বৈশিষ্ট্যগুলি - শো-পৃষ্ঠা = ব্যাকগ্রাউন্ড" যুক্ত করেছি। আমি আমার মেনু থেকে নতুন স্ক্রিপ্ট শুরু করি।
bdr529

1

ক্রেবিএস (ব্যাকগ্রাউন্ড স্লাইডশো তৈরি করুন) এর সাহায্যে আপনি ওয়ালপেপার স্লাইডশোগুলির জন্য এক্সএমএল ফাইল তৈরি করতে পারেন - চিত্রগুলির পূর্ণপথগুলি এক্সএমএলে সংরক্ষণ করা হয় যাতে কোনও ফাইলের চলন প্রয়োজন হয় না।

https://launchpad.net/crebs

http://www.obfuscatepenguin.net/crebs/


1

একটি আপডেট এখানে:

    #!/bin/bash

    ################################################################################
    # This script will take all wallpapers in a given folder and
    # make them available as options in the "change desktop background" OR "system->pref->apperances"
    # dialog boxes.
    # for ubuntu or debian
    #    wallpapers are in /usr/share/pixmaps/backgrounds/gnome OR /usr/share/backgrounds
    #    config file(s) for the dialog are in /usr/share/gnome-background-properties
    # --that will make them system wide. 
    #
    #ToDo:
    #  paths with spaces.
    ################################################################################

    # put the output in the same directory as this script
    OutDirectory="$( cd "$( dirname "$0" )" && pwd )"
    OutFile="$OutDirectory/gnome-added.xml"

    # options
    options="zoom"      #zoom is best but stretch,center,scale,tile,span
    shade_type="solid"  #horizontal-gradient, vertical-gradient    
    pcolor="#000000"
    scolor="#000000"


    if [ $# -ne 1 ]; then
       echo "*** need path to directory containing files to include."
       echo "*** for example:     /usr/share/backgrounds"
       exit 1
    else
       ScanDirectory=$1
    fi

    #------need to strip and trailing "/" or this writes incorrect file names.
    # not if [ "$lastchr" -eq "/" ]
    # lastchr=`expr substr $ScanDirectory ${#ScanDirectory} 1`  #--OR:
    lastchr=${ScanDirectory#${ScanDirectory%?}}
    if [ "${lastchr}" = "/" ]; then
       ScanDirectory=${ScanDirectory%?}
    fi
    #--operating in same directory as the script? set full path for the xml file
    if [ ${#ScanDirectory} -le 1 ]; then
            ScanDirectory=$OutDirectory
    fi

    # ---does directory exist
    if [ ! -d $ScanDirectory ]; then
        echo "**** The wallpaper directory \"$ScanDirectory\" does not exist. ****"
        echo "**** Precedure Terminated. ****"
        exit 1
    fi
    # ----can we write to it?
    # touch $OutDirectory/testfile >/dev/null 2>/dev/null
    # if [ $? -ne 0 ]; then
    if [ ! -w $OutDirectory ]; then
       echo "**** No permissions to the desktop share directory. ****"
       echo "**** $OutDirectory ****"
       echo "**** Procedure Terminated. ****"
       exit 1
    fi


    #### Count the number of jpg/jpeg/png/svg [tif(f)] images. ####
    numfiles=`ls -1 $ScanDirectory/*.jpg ScanDirectory/*.jpeg ScanDirectory/*.png ScanDirectory/*.svg 2>/dev/null | wc -l`

    #### If there are no image files there then exit. ####
    if [ $numfiles -eq 0 ]; then
        echo "**** The wallpaper directory \"$ScanDirectory\" has no images. ****"
        echo "**** Precedure Terminated. ****"
        exit 1
    fi

    #### Now we create the XML file containing the images for backgrounds. ####
    #### Start by creating the header in the XML file. ####
    cat <<EOF > $OutFile
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE wallpapers SYSTEM "gnome-wp-list.dtd">
    <wallpapers>
    EOF

    #### Add each file to the XML file. ####
    #### Doing it this way makes sure files with spaces in their names are ####
    #### handled properly.   (ls .... | while read fname; do)              ####
    ls -1 $ScanDirectory/*.jpg $ScanDirectory/*.png $ScanDirectory/*.jpeg $ScanDirectory/*.svg 2> /dev/null |
    while read image_name; do
       fname=`basename "$image_name"`
       echo "   Adding: $fname."

       echo "  <wallpaper deleted=\"false\">"          >> $OutFile
       echo "    <name>$fname</name>"                >> $OutFile
       echo "    <filename>$image_name</filename>"   >> $OutFile
       echo "      <options>$options</options>"       >> $OutFile
       echo "      <pcolor>$pcolor</pcolor>"           >> $OutFile
       echo "      <scolor>$scolor</scolor>"           >> $OutFile
       echo "      <shade_type>$shade_type</shade_type>"     >> $OutFile
       echo "  </wallpaper>"                         >> $OutFile
    done

    #### Create the footer for the XML file. ####
    echo "</wallpapers>"                             >> $OutFile

AskUbuntu স্বাগতম! যদি এটি একটি আপডেট হওয়া উত্তর হয় তবে আপনি আপডেট সংস্করণটি কোন সংস্করণের সাথে সম্পর্কিত তা উল্লেখ করে আপনি এটিকে সম্পাদনা হিসাবে ফসফ্রিডমের একটিতে যুক্ত করতে চাইতে পারেন।
ওয়িবো

1

আমি একই সমস্যার মুখোমুখি হয়েছি এবং আমি কাস্টম এক্সএমএল ফাইলটি সম্পাদন করতে পাইথন স্ক্রিপ্ট লিখেছিলাম /usr/share/gnome-background-properties/my-backgrounds.xml। এটি গিটহাবে রয়েছে

ব্যবহারের উদাহরণ:

এক্সএমএল ফাইল যুক্ত করতে space_galaxy.jpegএবং যুক্ত fuzz_dog.pngকরতে:

python my-backgrounds.py -a space_galaxy.jpeg fuzzy_dog.png -n "Cool Galaxy" "Cute Dog"

নোট করুন যে ডিফল্ট এক্সএমএল ফাইলটি এখানে রয়েছে /usr/share/gnome-background-properties/my-backgrounds.xml(এটি যেখানে জিএনএমএল xML এর জন্য নজর রাখে)। একটি বিকল্প এক্সএমএল ফাইল নির্দিষ্ট করতে, -xবিকল্পটি ব্যবহার করুন :

python my-backgrounds.py -a space_galaxy.jpeg -x ~/my-backgrounds.xml

এক্সএমএল ফাইল থেকে এন্ট্রিগুলি সরাতে -rবিকল্পটি ব্যবহার করুন :

python my-backgrounds.py -r "Cool Galaxy" fuzzy_dog.png

এটি জিনোম ৩.6 এবং পাইথন ৩.৩ এর সাথে কাজ করে


0

এইভাবেই আমি এটি করি।

  1. ডেস্কটপ> পরিবর্তন পটভূমিতে ডান ক্লিক করুন।

  2. পটভূমি ট্যাবে অ্যাড ক্লিক করুন।

  3. ফোল্ডারে যান এবং একটিতে ক্লিক করে এবং Ctrl+ টিপে সমস্ত ওয়ালপেপার নির্বাচন করুন A

সেগুলি এখন চয়নকারীতে প্রদর্শিত হবে। ওয়ালপেপারটি স্বয়ংক্রিয়ভাবে পরিবর্তন করতে আমি একটি ছোট অ্যাপ্লিকেশন ব্যবহার করেছি যা আমি ব্যবহার করেছিলাম। আমি যখন এটি খুঁজে পাব।

আমি ওয়ালি নামে পরিচিত একটি পেয়েছি এবং এটির প্রস্তাবিত উচ্চারণ রয়েছে, তবে আমার মনে আছে আমি সেটিকে ব্যবহার করি নি। যাইহোক, আপনি টাইপ করে এটি ইনস্টল করতে পারেন

sudo apt-get install wally

টার্মিনালে

নির্বাচকটিতে ওয়ালপেপারগুলি প্রদর্শনের জন্য, ম্যানুয়ালি ফোল্ডারটি আপডেট না করে, আপনাকে সেগুলিতে যুক্ত করতে হবে /usr/share/backgrounds

আমি ফোল্ডারে একটি সিমিলিংক তৈরি করে ওয়ালপেপারগুলি চয়নকারীতে তালিকাবদ্ধ করতে সক্ষম হয়েছি।

$ cd /usr/share/backgrounds
$ ln -s /path/to/wallpapers

এটি সহায়ক হতে পারে, কারণ প্রতিটি সময় মূলের মালিকানাধীন কোনও ফোল্ডারে ওয়ালপেপার যুক্ত করা সর্বদা বিশ্বাসযোগ্য নয়।


আমি জানি যে এটি ফোল্ডারের সমস্ত ওয়ালপেপার আমদানি করে, তবে আমি কীভাবে এটি ফোল্ডারটি চেক করতে পারি, তাই যখন আমি ফোল্ডারে আরও যুক্ত করি, তখন সেগুলি আবার আমদানি না করে স্বয়ংক্রিয়ভাবে চয়নকারীটিতে উপস্থিত হয়?
স্লিপস্ট্রিম

স্লিপস্ট্রিম আমার উত্তর সম্পাদনা করেছে।
TheTuxRacer

আমি এই সিমলিংকটি যুক্ত করেছি, যা আমি ভেবেছিলাম এটি আগে করার একটি উপায় হতে পারে তবে তারা এখনও সেখানে প্রদর্শিত হবে বলে মনে হয় না ...
স্লিপস্ট্রিম

@ স্লিপস্ট্রিম হ্যাঁ, সত্যিই। আমার উত্তরটি ভুল। আমি চিত্রটি যুক্ত হতে দেখেছি, তবে আমি সেগুলি ম্যানুয়ালি যোগ করতে পেরেছি, অনেক আগে, যা ফলাফলের সাথে গোলমাল করেছিল। আমি হতাশ বাজি আপনিও আছেন। দুঃখিত :(
TheTuxRacer
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.