Как установить другой каталог поиска для обоев?

Я сохраняю все свои документы на отдельном диске из моей установки ubuntu, и у меня есть папка, полная хороших обоев на этом диске. Как я могу заставить ubuntu автоматически искать в этом каталоге, чтобы обои отображались в диалоге смены обоев, которые были достигнуты при щелчке правой кнопкой мыши на рабочем столе и выборе «Замена рабочего стола»?

Изменить: я попытался помещать символическую ссылку в Замените папку рабочего стола на другой диск, и это не сработало.

11
задан 26 April 2011 в 23:37

45 ответов

* EDIT - вторая попытка - и немедленно извиниться за всю работу терминала - надеюсь, это должно быть просто копирование и вставка выделенных записей *

папка, содержащая детали обоев гнома, называется / usr / share / gnome-background-properties / ubuntu-wallpapers.xml

Вы можете отредактировать этот файл для создания обоев ... / обоев для обоев, указывающих на вашу новую папку & amp; файлы обоев

Ниже приведен сценарий, измененный с этой записи в форуме, который автоматически обновит файл ubuntu-wallpaper.xml для папки, содержащей файлы .png и .jpg.

скопируйте и вставьте содержимое в новый текстовый файл под названием «ubuntu-wallpaper-generator»

Затем выполните файл с синтаксисом

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

Это приведет к созданию файла с именем ubuntu-wallpapers.xml в той же папке, где вы используете этот скрипт.

Безопасное резервное копирование текущего xml-файла, т. е.

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
9
ответ дан 25 May 2018 в 22:02
  • 1
    Это установит папку только в вашу собственную папку. Вам все равно придется импортировать обои в чейнджер. – bdr529 27 April 2011 в 01:32
  • 2
    Может быть, я не был ясен - извините. Например, если ваша новая папка с обоями находилась в / media / & lt; somedrive & gt; / & lt; somefolder & gt; затем sudo ln -s / media / & lt; somedrive & gt; / & lt; somefolder & gt; фоны будут перечислять все ваши новые обои. Если бы вы хотели также стандартные обои, я бы просто скопировал текущее содержимое папки фона в вашу новую папку обоев. Я только что проверил это на Natty - когда я выбираю «новые фоны». от правого щелчка на рабочем столе, он отображает содержимое обоев с новой папкой без «импорта», – fossfreedom♦ 27 April 2011 в 01:42
  • 3
    oops - только что видел, что не так ... – fossfreedom♦ 27 April 2011 в 02:34
  • 4
    отлично работает, поэтому смена обоев работает немного медленнее из-за дополнительных снимков. Благодаря! – Slipstream 27 April 2011 в 13:25
  • 5
    Мне тоже спасибо. Я поместил ваш скрипт и cp в другой скрипт и добавил «gnome-appearance-properties -show-page = background " для отображения диалога изменений. Я запускаю новый скрипт из своего меню. – bdr529 27 April 2011 в 17:11

* EDIT - вторая попытка - и немедленно извиниться за всю работу терминала - надеюсь, это должно быть просто копирование и вставка выделенных записей *

папка, содержащая детали обоев гнома, называется / usr / share / gnome-background-properties / ubuntu-wallpapers.xml

Вы можете отредактировать этот файл для создания обоев ... / обоев для обоев, указывающих на вашу новую папку & amp; файлы обоев

Ниже приведен сценарий, измененный с этой записи в форуме, который автоматически обновит файл ubuntu-wallpaper.xml для папки, содержащей файлы .png и .jpg.

скопируйте и вставьте содержимое в новый текстовый файл под названием «ubuntu-wallpaper-generator»

Затем выполните файл с синтаксисом

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

Это приведет к созданию файла с именем ubuntu-wallpapers.xml в той же папке, где вы используете этот скрипт.

Безопасное резервное копирование текущего xml-файла, т. е.

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
9
ответ дан 25 July 2018 в 22:11

* EDIT - вторая попытка - и немедленно извиниться за всю работу терминала - надеюсь, это должно быть просто копирование и вставка выделенных записей *

папка, содержащая детали обоев гнома, называется / usr / share / gnome-background-properties / ubuntu-wallpapers.xml

Вы можете отредактировать этот файл для создания обоев ... / обоев для обоев, указывающих на вашу новую папку & amp; файлы обоев

Ниже приведен сценарий, измененный с этой записи в форуме, который автоматически обновит файл ubuntu-wallpaper.xml для папки, содержащей файлы .png и .jpg.

скопируйте и вставьте содержимое в новый текстовый файл под названием «ubuntu-wallpaper-generator»

Затем выполните файл с синтаксисом

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

Это приведет к созданию файла с именем ubuntu-wallpapers.xml в той же папке, где вы используете этот скрипт.

Безопасное резервное копирование текущего xml-файла, т. е.

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
9
ответ дан 31 July 2018 в 11:52

* EDIT - вторая попытка - и немедленно извиниться за всю работу терминала - надеюсь, это должно быть просто копирование и вставка выделенных записей *

папка, содержащая детали обоев гнома, называется / usr / share / gnome-background-properties / ubuntu-wallpapers.xml

Вы можете отредактировать этот файл для создания обоев ... / обоев для обоев, указывающих на вашу новую папку & amp; файлы обоев

Ниже приведен сценарий, измененный с этой записи в форуме, который автоматически обновит файл ubuntu-wallpaper.xml для папки, содержащей файлы .png и .jpg.

скопируйте и вставьте содержимое в новый текстовый файл под названием «ubuntu-wallpaper-generator»

Затем выполните файл с синтаксисом

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

Это приведет к созданию файла с именем ubuntu-wallpapers.xml в той же папке, где вы используете этот скрипт.

Безопасное резервное копирование текущего xml-файла, т. е.

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
9
ответ дан 2 August 2018 в 03:40

* EDIT - вторая попытка - и немедленно извиниться за всю работу терминала - надеюсь, это должно быть просто копирование и вставка выделенных записей *

папка, содержащая детали обоев гнома, называется / usr / share / gnome-background-properties / ubuntu-wallpapers.xml

Вы можете отредактировать этот файл для создания обоев ... / обоев для обоев, указывающих на вашу новую папку & amp; файлы обоев

Ниже приведен сценарий, измененный с этой записи в форуме, который автоматически обновит файл ubuntu-wallpaper.xml для папки, содержащей файлы .png и .jpg.

скопируйте и вставьте содержимое в новый текстовый файл под названием «ubuntu-wallpaper-generator»

Затем выполните файл с синтаксисом

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

Это приведет к созданию файла с именем ubuntu-wallpapers.xml в той же папке, где вы используете этот скрипт.

Безопасное резервное копирование текущего xml-файла, т. е.

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
9
ответ дан 4 August 2018 в 19:43

* EDIT - вторая попытка - и немедленно извиниться за всю работу терминала - надеюсь, это просто нужно копировать и вставлять выделенные записи *

папка, содержащая детали обоев гнома, называется / usr / share / gnome-background-properties / ubuntu-wallpapers.xml

Вы можете отредактировать этот файл, чтобы иметь подписи обоев ... / wallpaper, указывающие на вашу новую папку & amp; файлы обоев

Ниже приведен скрипт, измененный с этого форума entry , который автоматически обновит файл ubuntu-wallpapers.xml для папки, содержащей файлы .png и .jpg.

скопируйте и вставьте содержимое в новый текстовый файл под названием «ubuntu-wallpaper-generator»

Затем выполните файл с синтаксисом

  sh ubuntu-wallpaper  -генератор & lt; путь к новой папке обоев & gt;   

Это создаст файл с именем ubuntu-wallpaper.xml в той же папке, где вы используете этот скрипт.

Безопасное резервное копирование текущего файла xml, т. е.

  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  [  ! d17] 

Вот этот файл сценария, на который я ссылался:

  #! / bin / bash # # Этот скрипт будет принимать все обои в заданной папке и # сделать их доступными как "  default "в поле« Изменить фон »gui # frontend в Ubuntu.  # ###################################################################################################  #################################CONFIG_DIR = "/ usr / share / gnome-background-properties" CONFIG_DIR = ".  / "XML_FILE =" $ CONFIG_DIR / ubuntu-wallpapers.xml ", если [$ # -ne 1];  затем echo "*** синтаксис ubuntu-wallpaper-generator & lt; путь к папке обоев & gt; ***" echo "*** например ***" echo "*** ubuntu-wallpaper-generator / usr / share / backgrounds  *** «exit 1 else WALLPAPER_DIR = $ 1 echo» *** переданные параметры: $ 1 *** «fi #### Сначала проверьте, есть ли у нас права на запись в share dirctory.  #### touch $ CONFIG_DIR / testfile & gt; / dev / null 2 ​​& gt; / dev / null, если [$?  -ne 0];  затем echo "**** Нет разрешений для каталога общего доступа к рабочему столу ****" echo "**** $ CONFIG_DIR ****" echo "**** Процедура завершена. ****" exit 1 else  rm $ CONFIG_DIR / testfile 2 & gt; / dev / null fi #### Показать сообщение описания сценария.  ### cat & lt; & lt; EOF ############################################  ######################################### Этот скрипт делает все снимки в каталоге $ WALLPAPER_DIR доступным  для всех пользователей, определенных в этой системе, как их общесистемные обои для GNOME.  ##################################################  ############################## EOF #### Ошибка, если каталог обоев не существует.  #### если [ !  -d $ WALLPAPER_DIR];  затем echo "**** Каталог обоев \ $ WALLPAPER_DIR \" не существует. **** "echo" **** Прецедент завершен. **** "exit 1 fi #### Подсчитайте количество  jpg / jpeg / png.  #### numfiles = `ls -1 $ WALLPAPER_DIR / *. jpg WALLPAPER_DIR / *. jpeg WALLPAPER_DIR / * .png 2 & gt; / dev / null |  wc -l` #### Если файлов изображений нет, то выйдите.  #### if [$ numfiles -eq 0];  затем echo "**** Каталог обоев \ $ WALLPAPER_DIR \" не имеет изображений. **** "echo" **** Преступление завершено. **** "exit 1 fi #### Теперь мы создаем  XML-файл, содержащий изображения для фона.  #### #### Начните с создания заголовка в файле XML.  #### cat & lt; EOF & gt;  $ XML_FILE & lt;? Xml version = "1.0" encoding = "UTF-8"? & Gt;  & lt;! DOCTYPE wallpapers SYSTEM "gnome-wp-list.dtd" & gt;  & Lt; & обои GT;  EOF #### Добавьте каждый файл в файл XML.  #### #### Выполнение этого способа гарантирует, что файлы с пробелами в их именах правильно обрабатываются #### ####.  (ls .... | while read fname; do) #### ls -1 $ WALLPAPER_DIR / *. jpg $ WALLPAPER_DIR / *. png $ WALLPAPER_DIR / *. jpeg 2 & gt;  / dev / null |  при чтении image_name;  do echo "Добавление:` basename "$ image_name". ".  fname = `basename" $ ​​image_name "` fname = "$ {fname %% \. *}" echo "& lt; wallpaper & gt;"  & GT; & GT;  $ XML_FILE echo "& lt; имя & gt; $ fname & lt; / name & gt;"  & GT; & GT;  $ XML_FILE echo "& lt; имя_файла & gt; $ image_name & lt; / filename & gt;"  & GT; & GT;  $ XML_FILE echo "& lt; options & gt; stretched & lt; / options & gt;"  & GT; & GT;  $ XML_FILE echo "& lt; pcolor & gt; # c58357 & lt; / pcolor & gt;"  & GT; & GT;  $ XML_FILE echo "& lt; scolor & gt; # c58357 & lt; / scolor & gt;"  & GT; & GT;  $ XML_FILE echo "& lt; shade_type & gt; solid & lt; / shade_type & gt;"  & GT; & GT;  $ XML_FILE echo "& lt; / wallpaper & gt;"  & GT; & GT;  $ XML_FILE done #### Создайте нижний колонтитул для файла XML.  #### echo "& wallpapers & gt;"  & GT; & GT;  $ XML_FILE cat & lt; & lt; EOF ####################################################  ###################################### Вы почти закончили.  скопируйте сгенерированный файл ubuntu-wallpapers.xml в папку / usr / shared / gnome-background-properties ЗАПОМНИТЬ, чтобы сначала создать резервную копию текущего ubuntu-wallpaper.xml в этой папке!  ##################################################  ############################### EOF  
9
ответ дан 6 August 2018 в 03:48

* EDIT - вторая попытка - и немедленно извиниться за всю работу терминала - надеюсь, это просто нужно копировать и вставлять выделенные записи *

папка, содержащая детали обоев гнома, называется / usr / share / gnome-background-properties / ubuntu-wallpapers.xml

Вы можете отредактировать этот файл, чтобы иметь подписи обоев ... / wallpaper, указывающие на вашу новую папку & amp; файлы обоев

Ниже приведен скрипт, измененный с этого форума entry , который автоматически обновит файл ubuntu-wallpapers.xml для папки, содержащей файлы .png и .jpg.

скопируйте и вставьте содержимое в новый текстовый файл под названием «ubuntu-wallpaper-generator»

Затем выполните файл с синтаксисом

  sh ubuntu-wallpaper  -генератор & lt; путь к новой папке обоев & gt;   

Это создаст файл с именем ubuntu-wallpaper.xml в той же папке, где вы используете этот скрипт.

Безопасное резервное копирование текущего файла xml, т. е.

  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  [  ! d17] 

Вот этот файл сценария, на который я ссылался:

  #! / bin / bash # # Этот скрипт будет принимать все обои в заданной папке и # сделать их доступными как "  default "в поле« Изменить фон »gui # frontend в Ubuntu.  # ###################################################################################################  #################################CONFIG_DIR = "/ usr / share / gnome-background-properties" CONFIG_DIR = ".  / "XML_FILE =" $ CONFIG_DIR / ubuntu-wallpapers.xml ", если [$ # -ne 1];  затем echo "*** синтаксис ubuntu-wallpaper-generator & lt; путь к папке обоев & gt; ***" echo "*** например ***" echo "*** ubuntu-wallpaper-generator / usr / share / backgrounds  *** «exit 1 else WALLPAPER_DIR = $ 1 echo» *** переданные параметры: $ 1 *** «fi #### Сначала проверьте, есть ли у нас права на запись в share dirctory.  #### touch $ CONFIG_DIR / testfile & gt; / dev / null 2 ​​& gt; / dev / null, если [$?  -ne 0];  затем echo "**** Нет разрешений для каталога общего доступа к рабочему столу ****" echo "**** $ CONFIG_DIR ****" echo "**** Процедура завершена. ****" exit 1 else  rm $ CONFIG_DIR / testfile 2 & gt; / dev / null fi #### Показать сообщение описания сценария.  ### cat & lt; & lt; EOF ############################################  ######################################### Этот скрипт делает все снимки в каталоге $ WALLPAPER_DIR доступным  для всех пользователей, определенных в этой системе, как их общесистемные обои для GNOME.  ##################################################  ############################## EOF #### Ошибка, если каталог обоев не существует.  #### если [ !  -d $ WALLPAPER_DIR];  затем echo "**** Каталог обоев \ $ WALLPAPER_DIR \" не существует. **** "echo" **** Прецедент завершен. **** "exit 1 fi #### Подсчитайте количество  jpg / jpeg / png.  #### numfiles = `ls -1 $ WALLPAPER_DIR / *. jpg WALLPAPER_DIR / *. jpeg WALLPAPER_DIR / * .png 2 & gt; / dev / null |  wc -l` #### Если файлов изображений нет, то выйдите.  #### if [$ numfiles -eq 0];  затем echo "**** Каталог обоев \ $ WALLPAPER_DIR \" не имеет изображений. **** "echo" **** Преступление завершено. **** "exit 1 fi #### Теперь мы создаем  XML-файл, содержащий изображения для фона.  #### #### Начните с создания заголовка в файле XML.  #### cat & lt; EOF & gt;  $ XML_FILE & lt;? Xml version = "1.0" encoding = "UTF-8"? & Gt;  & lt;! DOCTYPE wallpapers SYSTEM "gnome-wp-list.dtd" & gt;  & Lt; & обои GT;  EOF #### Добавьте каждый файл в файл XML.  #### #### Выполнение этого способа гарантирует, что файлы с пробелами в их именах правильно обрабатываются #### ####.  (ls .... | while read fname; do) #### ls -1 $ WALLPAPER_DIR / *. jpg $ WALLPAPER_DIR / *. png $ WALLPAPER_DIR / *. jpeg 2 & gt;  / dev / null |  при чтении image_name;  do echo "Добавление:` basename "$ image_name". ".  fname = `basename" $ ​​image_name "` fname = "$ {fname %% \. *}" echo "& lt; wallpaper & gt;"  & GT; & GT;  $ XML_FILE echo "& lt; имя & gt; $ fname & lt; / name & gt;"  & GT; & GT;  $ XML_FILE echo "& lt; имя_файла & gt; $ image_name & lt; / filename & gt;"  & GT; & GT;  $ XML_FILE echo "& lt; options & gt; stretched & lt; / options & gt;"  & GT; & GT;  $ XML_FILE echo "& lt; pcolor & gt; # c58357 & lt; / pcolor & gt;"  & GT; & GT;  $ XML_FILE echo "& lt; scolor & gt; # c58357 & lt; / scolor & gt;"  & GT; & GT;  $ XML_FILE echo "& lt; shade_type & gt; solid & lt; / shade_type & gt;"  & GT; & GT;  $ XML_FILE echo "& lt; / wallpaper & gt;"  & GT; & GT;  $ XML_FILE done #### Создайте нижний колонтитул для файла XML.  #### echo "& wallpapers & gt;"  & GT; & GT;  $ XML_FILE cat & lt; & lt; EOF ####################################################  ###################################### Вы почти закончили.  скопируйте сгенерированный файл ubuntu-wallpapers.xml в папку / usr / shared / gnome-background-properties ЗАПОМНИТЬ, чтобы сначала создать резервную копию текущего ubuntu-wallpaper.xml в этой папке!  ##################################################  ############################### EOF  
9
ответ дан 7 August 2018 в 21:43

* EDIT - вторая попытка - и немедленно извиниться за всю работу терминала - надеюсь, это просто нужно копировать и вставлять выделенные записи *

папка, содержащая детали обоев гнома, называется / usr / share / gnome-background-properties / ubuntu-wallpapers.xml

Вы можете отредактировать этот файл, чтобы иметь подписи обоев ... / wallpaper, указывающие на вашу новую папку & amp; файлы обоев

Ниже приведен скрипт, измененный с этого форума entry , который автоматически обновит файл ubuntu-wallpapers.xml для папки, содержащей файлы .png и .jpg.

скопируйте и вставьте содержимое в новый текстовый файл под названием «ubuntu-wallpaper-generator»

Затем выполните файл с синтаксисом

  sh ubuntu-wallpaper  -генератор & lt; путь к новой папке обоев & gt;   

Это создаст файл с именем ubuntu-wallpaper.xml в той же папке, где вы используете этот скрипт.

Безопасное резервное копирование текущего файла xml, т. е.

  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  [  ! d17] 

Вот этот файл сценария, на который я ссылался:

  #! / bin / bash # # Этот скрипт будет принимать все обои в заданной папке и # сделать их доступными как "  default "в поле« Изменить фон »gui # frontend в Ubuntu.  # ###################################################################################################  #################################CONFIG_DIR = "/ usr / share / gnome-background-properties" CONFIG_DIR = ".  / "XML_FILE =" $ CONFIG_DIR / ubuntu-wallpapers.xml ", если [$ # -ne 1];  затем echo "*** синтаксис ubuntu-wallpaper-generator & lt; путь к папке обоев & gt; ***" echo "*** например ***" echo "*** ubuntu-wallpaper-generator / usr / share / backgrounds  *** «exit 1 else WALLPAPER_DIR = $ 1 echo» *** переданные параметры: $ 1 *** «fi #### Сначала проверьте, есть ли у нас права на запись в share dirctory.  #### touch $ CONFIG_DIR / testfile & gt; / dev / null 2 ​​& gt; / dev / null, если [$?  -ne 0];  затем echo "**** Нет разрешений для каталога общего доступа к рабочему столу ****" echo "**** $ CONFIG_DIR ****" echo "**** Процедура завершена. ****" exit 1 else  rm $ CONFIG_DIR / testfile 2 & gt; / dev / null fi #### Показать сообщение описания сценария.  ### cat & lt; & lt; EOF ############################################  ######################################### Этот скрипт делает все снимки в каталоге $ WALLPAPER_DIR доступным  для всех пользователей, определенных в этой системе, как их общесистемные обои для GNOME.  ##################################################  ############################## EOF #### Ошибка, если каталог обоев не существует.  #### если [ !  -d $ WALLPAPER_DIR];  затем echo "**** Каталог обоев \ $ WALLPAPER_DIR \" не существует. **** "echo" **** Прецедент завершен. **** "exit 1 fi #### Подсчитайте количество  jpg / jpeg / png.  #### numfiles = `ls -1 $ WALLPAPER_DIR / *. jpg WALLPAPER_DIR / *. jpeg WALLPAPER_DIR / * .png 2 & gt; / dev / null |  wc -l` #### Если файлов изображений нет, то выйдите.  #### if [$ numfiles -eq 0];  затем echo "**** Каталог обоев \ $ WALLPAPER_DIR \" не имеет изображений. **** "echo" **** Преступление завершено. **** "exit 1 fi #### Теперь мы создаем  XML-файл, содержащий изображения для фона.  #### #### Начните с создания заголовка в файле XML.  #### cat & lt; EOF & gt;  $ XML_FILE & lt;? Xml version = "1.0" encoding = "UTF-8"? & Gt;  & lt;! DOCTYPE wallpapers SYSTEM "gnome-wp-list.dtd" & gt;  & Lt; & обои GT;  EOF #### Добавьте каждый файл в файл XML.  #### #### Выполнение этого способа гарантирует, что файлы с пробелами в их именах правильно обрабатываются #### ####.  (ls .... | while read fname; do) #### ls -1 $ WALLPAPER_DIR / *. jpg $ WALLPAPER_DIR / *. png $ WALLPAPER_DIR / *. jpeg 2 & gt;  / dev / null |  при чтении image_name;  do echo "Добавление:` basename "$ image_name". ".  fname = `basename" $ ​​image_name "` fname = "$ {fname %% \. *}" echo "& lt; wallpaper & gt;"  & GT; & GT;  $ XML_FILE echo "& lt; имя & gt; $ fname & lt; / name & gt;"  & GT; & GT;  $ XML_FILE echo "& lt; имя_файла & gt; $ image_name & lt; / filename & gt;"  & GT; & GT;  $ XML_FILE echo "& lt; options & gt; stretched & lt; / options & gt;"  & GT; & GT;  $ XML_FILE echo "& lt; pcolor & gt; # c58357 & lt; / pcolor & gt;"  & GT; & GT;  $ XML_FILE echo "& lt; scolor & gt; # c58357 & lt; / scolor & gt;"  & GT; & GT;  $ XML_FILE echo "& lt; shade_type & gt; solid & lt; / shade_type & gt;"  & GT; & GT;  $ XML_FILE echo "& lt; / wallpaper & gt;"  & GT; & GT;  $ XML_FILE done #### Создайте нижний колонтитул для файла XML.  #### echo "& wallpapers & gt;"  & GT; & GT;  $ XML_FILE cat & lt; & lt; EOF ####################################################  ###################################### Вы почти закончили.  скопируйте сгенерированный файл ubuntu-wallpapers.xml в папку / usr / shared / gnome-background-properties ЗАПОМНИТЬ, чтобы сначала создать резервную копию текущего ubuntu-wallpaper.xml в этой папке!  ##################################################  ############################### EOF  
9
ответ дан 10 August 2018 в 09:57

* EDIT - вторая попытка - и немедленно извиниться за всю работу терминала - надеюсь, это просто нужно копировать и вставлять выделенные записи *

папка, содержащая детали обоев гнома, называется / usr / share / gnome-background-properties / ubuntu-wallpapers.xml

Вы можете отредактировать этот файл, чтобы иметь подписи обоев ... / wallpaper, указывающие на вашу новую папку & amp; файлы обоев

Ниже приведен скрипт, измененный с этого форума entry , который автоматически обновит файл ubuntu-wallpapers.xml для папки, содержащей файлы .png и .jpg.

скопируйте и вставьте содержимое в новый текстовый файл под названием «ubuntu-wallpaper-generator»

Затем выполните файл с синтаксисом

  sh ubuntu-wallpaper  -генератор & lt; путь к новой папке обоев & gt;   

Это создаст файл с именем ubuntu-wallpaper.xml в той же папке, где вы используете этот скрипт.

Безопасное резервное копирование текущего файла xml, т. е.

  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  [  ! d17] 

Вот этот файл сценария, на который я ссылался:

  #! / bin / bash # # Этот скрипт будет принимать все обои в заданной папке и # сделать их доступными как "  default "в поле« Изменить фон »gui # frontend в Ubuntu.  # ###################################################################################################  #################################CONFIG_DIR = "/ usr / share / gnome-background-properties" CONFIG_DIR = ".  / "XML_FILE =" $ CONFIG_DIR / ubuntu-wallpapers.xml ", если [$ # -ne 1];  затем echo "*** синтаксис ubuntu-wallpaper-generator & lt; путь к папке обоев & gt; ***" echo "*** например ***" echo "*** ubuntu-wallpaper-generator / usr / share / backgrounds  *** «exit 1 else WALLPAPER_DIR = $ 1 echo» *** переданные параметры: $ 1 *** «fi #### Сначала проверьте, есть ли у нас права на запись в share dirctory.  #### touch $ CONFIG_DIR / testfile & gt; / dev / null 2 ​​& gt; / dev / null, если [$?  -ne 0];  затем echo "**** Нет разрешений для каталога общего доступа к рабочему столу ****" echo "**** $ CONFIG_DIR ****" echo "**** Процедура завершена. ****" exit 1 else  rm $ CONFIG_DIR / testfile 2 & gt; / dev / null fi #### Показать сообщение описания сценария.  ### cat & lt; & lt; EOF ############################################  ######################################### Этот скрипт делает все снимки в каталоге $ WALLPAPER_DIR доступным  для всех пользователей, определенных в этой системе, как их общесистемные обои для GNOME.  ##################################################  ############################## EOF #### Ошибка, если каталог обоев не существует.  #### если [ !  -d $ WALLPAPER_DIR];  затем echo "**** Каталог обоев \ $ WALLPAPER_DIR \" не существует. **** "echo" **** Прецедент завершен. **** "exit 1 fi #### Подсчитайте количество  jpg / jpeg / png.  #### numfiles = `ls -1 $ WALLPAPER_DIR / *. jpg WALLPAPER_DIR / *. jpeg WALLPAPER_DIR / * .png 2 & gt; / dev / null |  wc -l` #### Если файлов изображений нет, то выйдите.  #### if [$ numfiles -eq 0];  затем echo "**** Каталог обоев \ $ WALLPAPER_DIR \" не имеет изображений. **** "echo" **** Преступление завершено. **** "exit 1 fi #### Теперь мы создаем  XML-файл, содержащий изображения для фона.  #### #### Начните с создания заголовка в файле XML.  #### cat & lt; EOF & gt;  $ XML_FILE & lt;? Xml version = "1.0" encoding = "UTF-8"? & Gt;  & lt;! DOCTYPE wallpapers SYSTEM "gnome-wp-list.dtd" & gt;  & Lt; & обои GT;  EOF #### Добавьте каждый файл в файл XML.  #### #### Выполнение этого способа гарантирует, что файлы с пробелами в их именах правильно обрабатываются #### ####.  (ls .... | while read fname; do) #### ls -1 $ WALLPAPER_DIR / *. jpg $ WALLPAPER_DIR / *. png $ WALLPAPER_DIR / *. jpeg 2 & gt;  / dev / null |  при чтении image_name;  do echo "Добавление:` basename "$ image_name". ".  fname = `basename" $ ​​image_name "` fname = "$ {fname %% \. *}" echo "& lt; wallpaper & gt;"  & GT; & GT;  $ XML_FILE echo "& lt; имя & gt; $ fname & lt; / name & gt;"  & GT; & GT;  $ XML_FILE echo "& lt; имя_файла & gt; $ image_name & lt; / filename & gt;"  & GT; & GT;  $ XML_FILE echo "& lt; options & gt; stretched & lt; / options & gt;"  & GT; & GT;  $ XML_FILE echo "& lt; pcolor & gt; # c58357 & lt; / pcolor & gt;"  & GT; & GT;  $ XML_FILE echo "& lt; scolor & gt; # c58357 & lt; / scolor & gt;"  & GT; & GT;  $ XML_FILE echo "& lt; shade_type & gt; solid & lt; / shade_type & gt;"  & GT; & GT;  $ XML_FILE echo "& lt; / wallpaper & gt;"  & GT; & GT;  $ XML_FILE done #### Создайте нижний колонтитул для файла XML.  #### echo "& wallpapers & gt;"  & GT; & GT;  $ XML_FILE cat & lt; & lt; EOF ####################################################  ###################################### Вы почти закончили.  скопируйте сгенерированный файл ubuntu-wallpapers.xml в папку / usr / shared / gnome-background-properties ЗАПОМНИТЬ, чтобы сначала создать резервную копию текущего ubuntu-wallpaper.xml в этой папке!  ##################################################  ############################### EOF  
9
ответ дан 13 August 2018 в 16:16
  • 1
    Это установит папку только в вашу собственную папку. Вам все равно придется импортировать обои в чейнджер. – bdr529 27 April 2011 в 01:32
  • 2
    Может быть, я не был ясен - извините. Например, если ваша новая папка с обоями находилась в / media / & lt; somedrive & gt; / & lt; somefolder & gt; затем sudo ln -s / media / & lt; somedrive & gt; / & lt; somefolder & gt; фоны будут перечислять все ваши новые обои. Если бы вы хотели также стандартные обои, я бы просто скопировал текущее содержимое папки фона в вашу новую папку обоев. Я только что проверил это на Natty - когда я выбираю «новые фоны». от правого щелчка на рабочем столе, он отображает содержимое обоев с новой папкой без «импорта», – fossfreedom♦ 27 April 2011 в 01:42
  • 3
    oops - только что видел, что не так ... – fossfreedom♦ 27 April 2011 в 02:34
  • 4
    отлично работает, поэтому смена обоев работает немного медленнее из-за дополнительных снимков. Благодаря! – Slipstream 27 April 2011 в 13:25
  • 5
    Мне тоже спасибо. Я поместил ваш скрипт и cp в другой скрипт и добавил «gnome-appearance-properties -show-page = background & quot; для отображения диалога изменений. Я запускаю новый скрипт из своего меню. – bdr529 27 April 2011 в 17:11

С помощью CreBS (Create Background Slideshow) вы можете создавать файлы XML для слайд-шоу для обоев - полный путь к изображениям хранится в XML, поэтому перемещение файлов не требуется.

https: // launchpad .net / crebs

https://launchpad.net/crebs

1
ответ дан 25 May 2018 в 22:02

обновлено:

    #!/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
1
ответ дан 25 May 2018 в 22:02
  • 1
    Добро пожаловать в AskUbuntu! Если это обновленный ответ, вы можете добавить его в Fossfreedom в качестве редактирования, указав, к какой версии относится этот обновленный ответ. – Oyibo 18 November 2012 в 14:38

У меня была та же проблема, и я написал скрипт python для редактирования пользовательского XML-файла, который можно поместить в /usr/share/gnome-background-properties/my-backgrounds.xml.

Пример использования:

Чтобы добавить space_galaxy.jpeg и fuzz_dog.png в xml-файл:

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

Обратите внимание, что по умолчанию xml файл находится в /usr/share/gnome-background-properties/my-backgrounds.xml (это то, где GNOME смотрит на xml). Чтобы указать альтернативный xml-файл, используйте параметр -x:

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

Чтобы удалить записи из файла xml, используйте параметр -r:

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

Это работает с GNOME 3.6 и Python 3.3

1
ответ дан 25 May 2018 в 22:02

Вот как я это делаю.

Щелкните правой кнопкой мыши на рабочем столе> Изменить фон. Нажмите «Добавить» на вкладке «Фон». Зайдите в папку и выберите все обои, щелкнув по одному и нажав Ctrl + A.

Теперь они должны отображаться в списке выбора. Я также пытаюсь найти небольшое приложение, которое я использовал, чтобы автоматически менять обои.

Я нашел одного, которого назвали Уолли, и его очень рекомендуется, но я помню, что я не использовал его. В любом случае вы можете установить его, набрав в терминале

sudo apt-get install wally

.

Чтобы показать обои в селекторе, без необходимости вручную обновлять папке, вам придется добавить их в /usr/share/backgrounds.

Теперь они должны отображаться в списке выбора. Я также пытаюсь найти небольшое приложение, которое я использовал, чтобы автоматически менять обои. Ill post, когда я нахожу его.

0
ответ дан 25 May 2018 в 22:02
  • 1
    Я знаю, что это импортирует все обои в папке, но как мне получить его, чтобы проверить папку, поэтому, когда я добавляю больше в папку, автоматически появляется в выборе, без необходимости импортировать их снова? – Slipstream 18 April 2011 в 19:36
  • 2
    @Slipstream Отредактировал мой ответ. – theTuxRacer 18 April 2011 в 19:42
  • 3
    Я добавил символическую ссылку, которая, как я думал, может быть одним из способов сделать это раньше, но они все еще не появляются там ... – Slipstream 19 April 2011 в 13:56
  • 4
    @Slipstream Да, действительно. Мой ответ неверен. Я видел, что изображение добавлено, но я, возможно, добавил их вручную, давным-давно, который испортил результаты. Я разочарован. Ставка на вас тоже. Извини :( – theTuxRacer 19 April 2011 в 22:24

обновлено:

#!/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
1
ответ дан 25 July 2018 в 22:11
  • 1
    Добро пожаловать в AskUbuntu! Если это обновленный ответ, вы можете добавить его в Fossfreedom в качестве редактирования, указав, к какой версии относится этот обновленный ответ. – Oyibo 18 November 2012 в 14:38

У меня была та же проблема, и я написал скрипт python для редактирования пользовательского XML-файла, который можно поместить в /usr/share/gnome-background-properties/my-backgrounds.xml.

Пример использования:

Чтобы добавить space_galaxy.jpeg и fuzz_dog.png в xml-файл:

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

Обратите внимание, что по умолчанию xml файл находится в /usr/share/gnome-background-properties/my-backgrounds.xml (это то, где GNOME смотрит на xml). Чтобы указать альтернативный xml-файл, используйте параметр -x:

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

Чтобы удалить записи из файла xml, используйте параметр -r:

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

Это работает с GNOME 3.6 и Python 3.3

1
ответ дан 25 July 2018 в 22:11

Вот как я это делаю.

Щелкните правой кнопкой мыши на рабочем столе> Изменить фон. Нажмите «Добавить» на вкладке «Фон». Зайдите в папку и выберите все обои, щелкнув по одному и нажав Ctrl + A.

Теперь они должны отображаться в списке выбора. Я также пытаюсь найти небольшое приложение, которое я использовал, чтобы автоматически менять обои.

Я нашел одного, которого назвали Уолли, и его очень рекомендуется, но я помню, что я не использовал его. В любом случае вы можете установить его, набрав в терминале

sudo apt-get install wally

.

Чтобы показать обои в селекторе, без необходимости вручную обновлять папке, вам придется добавить их в /usr/share/backgrounds.

Теперь они должны отображаться в списке выбора. Я также пытаюсь найти небольшое приложение, которое я использовал, чтобы автоматически менять обои. Ill post, когда я нахожу его.

0
ответ дан 25 July 2018 в 22:11
  • 1
    Я знаю, что это импортирует все обои в папке, но как мне получить его, чтобы проверить папку, поэтому, когда я добавляю больше в папку, автоматически появляется в выборе, без необходимости импортировать их снова? – Slipstream 18 April 2011 в 19:36
  • 2
    @Slipstream Отредактировал мой ответ. – theTuxRacer 18 April 2011 в 19:42
  • 3
    Я добавил символическую ссылку, которая, как я думал, может быть одним из способов сделать это раньше, но они все еще не появляются там ... – Slipstream 19 April 2011 в 13:56
  • 4
    @Slipstream Да, действительно. Мой ответ неверен. Я видел, что изображение добавлено, но я, возможно, добавил их вручную, давным-давно, который испортил результаты. Я разочарован. Ставка на вас тоже. Извини :( – theTuxRacer 19 April 2011 в 22:24

С помощью CreBS (Create Background Slideshow) вы можете создавать файлы XML для слайд-шоу для обоев - полный путь к изображениям хранится в XML, поэтому перемещение файлов не требуется.

https: // launchpad .net / crebs

https://launchpad.net/crebs

1
ответ дан 25 July 2018 в 22:11

обновлено:

#!/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
1
ответ дан 31 July 2018 в 11:52
  • 1
    Добро пожаловать в AskUbuntu! Если это обновленный ответ, вы можете добавить его в Fossfreedom в качестве редактирования, указав, к какой версии относится этот обновленный ответ. – Oyibo 18 November 2012 в 14:38

У меня была та же проблема, и я написал скрипт python для редактирования пользовательского XML-файла, который можно поместить в /usr/share/gnome-background-properties/my-backgrounds.xml.

Пример использования:

Чтобы добавить space_galaxy.jpeg и fuzz_dog.png в xml-файл:

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

Обратите внимание, что по умолчанию xml файл находится в /usr/share/gnome-background-properties/my-backgrounds.xml (это то, где GNOME смотрит на xml). Чтобы указать альтернативный xml-файл, используйте параметр -x:

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

Чтобы удалить записи из файла xml, используйте параметр -r:

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

Это работает с GNOME 3.6 и Python 3.3

1
ответ дан 31 July 2018 в 11:52

Вот как я это делаю.

Щелкните правой кнопкой мыши на рабочем столе> Изменить фон. Нажмите «Добавить» на вкладке «Фон». Зайдите в папку и выберите все обои, щелкнув по одному и нажав Ctrl + A.

Теперь они должны отображаться в списке выбора. Я также пытаюсь найти небольшое приложение, которое я использовал, чтобы автоматически менять обои.

Я нашел одного, которого назвали Уолли, и его очень рекомендуется, но я помню, что я не использовал его. В любом случае вы можете установить его, набрав в терминале

sudo apt-get install wally

.

Чтобы показать обои в селекторе, без необходимости вручную обновлять папке, вам придется добавить их в /usr/share/backgrounds.

Теперь они должны отображаться в списке выбора. Я также пытаюсь найти небольшое приложение, которое я использовал, чтобы автоматически менять обои. Ill post, когда я нахожу его.

0
ответ дан 31 July 2018 в 11:52
  • 1
    Я знаю, что это импортирует все обои в папке, но как мне получить его, чтобы проверить папку, поэтому, когда я добавляю больше в папку, автоматически появляется в выборе, без необходимости импортировать их снова? – Slipstream 18 April 2011 в 19:36
  • 2
    @Slipstream Отредактировал мой ответ. – theTuxRacer 18 April 2011 в 19:42
  • 3
    Я добавил символическую ссылку, которая, как я думал, может быть одним из способов сделать это раньше, но они все еще не появляются там ... – Slipstream 19 April 2011 в 13:56
  • 4
    @Slipstream Да, действительно. Мой ответ неверен. Я видел, что изображение добавлено, но я, возможно, добавил их вручную, давным-давно, который испортил результаты. Я разочарован. Ставка на вас тоже. Извини :( – theTuxRacer 19 April 2011 в 22:24

С помощью CreBS (Create Background Slideshow) вы можете создавать файлы XML для слайд-шоу для обоев - полный путь к изображениям хранится в XML, поэтому перемещение файлов не требуется.

https: // launchpad .net / crebs

https://launchpad.net/crebs

1
ответ дан 31 July 2018 в 11:52

обновлено:

#!/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
1
ответ дан 2 August 2018 в 03:40
  • 1
    Добро пожаловать в AskUbuntu! Если это обновленный ответ, вы можете добавить его в Fossfreedom в качестве редактирования, указав, к какой версии относится этот обновленный ответ. – Oyibo 18 November 2012 в 14:38

У меня была та же проблема, и я написал скрипт python для редактирования пользовательского XML-файла, который можно поместить в /usr/share/gnome-background-properties/my-backgrounds.xml.

Пример использования:

Чтобы добавить space_galaxy.jpeg и fuzz_dog.png в xml-файл:

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

Обратите внимание, что по умолчанию xml файл находится в /usr/share/gnome-background-properties/my-backgrounds.xml (это то, где GNOME смотрит на xml). Чтобы указать альтернативный xml-файл, используйте параметр -x:

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

Чтобы удалить записи из файла xml, используйте параметр -r:

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

Это работает с GNOME 3.6 и Python 3.3

1
ответ дан 2 August 2018 в 03:40

Вот как я это делаю.

Щелкните правой кнопкой мыши на рабочем столе> Изменить фон. Нажмите «Добавить» на вкладке «Фон». Зайдите в папку и выберите все обои, щелкнув по одному и нажав Ctrl + A.

Теперь они должны отображаться в списке выбора. Я также пытаюсь найти небольшое приложение, которое я использовал, чтобы автоматически менять обои.

Я нашел одного, которого назвали Уолли, и его очень рекомендуется, но я помню, что я не использовал его. В любом случае вы можете установить его, набрав в терминале

sudo apt-get install wally

.

Чтобы показать обои в селекторе, без необходимости вручную обновлять папке, вам придется добавить их в /usr/share/backgrounds.

Теперь они должны отображаться в списке выбора. Я также пытаюсь найти небольшое приложение, которое я использовал, чтобы автоматически менять обои. Ill post, когда я нахожу его.

0
ответ дан 2 August 2018 в 03:40
  • 1
    Я знаю, что это импортирует все обои в папке, но как мне получить его, чтобы проверить папку, поэтому, когда я добавляю больше в папку, автоматически появляется в выборе, без необходимости импортировать их снова? – Slipstream 18 April 2011 в 19:36
  • 2
    @Slipstream Отредактировал мой ответ. – theTuxRacer 18 April 2011 в 19:42
  • 3
    Я добавил символическую ссылку, которая, как я думал, может быть одним из способов сделать это раньше, но они все еще не появляются там ... – Slipstream 19 April 2011 в 13:56
  • 4
    @Slipstream Да, действительно. Мой ответ неверен. Я видел, что изображение добавлено, но я, возможно, добавил их вручную, давным-давно, который испортил результаты. Я разочарован. Ставка на вас тоже. Извини :( – theTuxRacer 19 April 2011 в 22:24

С помощью CreBS (Create Background Slideshow) вы можете создавать файлы XML для слайд-шоу для обоев - полный путь к изображениям хранится в XML, поэтому перемещение файлов не требуется.

https: // launchpad .net / crebs

https://launchpad.net/crebs

1
ответ дан 2 August 2018 в 03:40

обновлено:

#!/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
1
ответ дан 4 August 2018 в 19:43
  • 1
    Добро пожаловать в AskUbuntu! Если это обновленный ответ, вы можете добавить его в Fossfreedom в качестве редактирования, указав, к какой версии относится этот обновленный ответ. – Oyibo 18 November 2012 в 14:38

У меня была та же проблема, и я написал скрипт python для редактирования пользовательского XML-файла, который можно поместить в /usr/share/gnome-background-properties/my-backgrounds.xml.

Пример использования:

Чтобы добавить space_galaxy.jpeg и fuzz_dog.png в xml-файл:

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

Обратите внимание, что по умолчанию xml файл находится в /usr/share/gnome-background-properties/my-backgrounds.xml (это то, где GNOME смотрит на xml). Чтобы указать альтернативный xml-файл, используйте параметр -x:

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

Чтобы удалить записи из файла xml, используйте параметр -r:

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

Это работает с GNOME 3.6 и Python 3.3

1
ответ дан 4 August 2018 в 19:43

Вот как я это делаю.

Щелкните правой кнопкой мыши на рабочем столе> Изменить фон. Нажмите «Добавить» на вкладке «Фон». Зайдите в папку и выберите все обои, щелкнув по одному и нажав Ctrl + A.

Теперь они должны отображаться в списке выбора. Я также пытаюсь найти небольшое приложение, которое я использовал, чтобы автоматически менять обои.

Я нашел одного, которого назвали Уолли, и его очень рекомендуется, но я помню, что я не использовал его. В любом случае вы можете установить его, набрав в терминале

sudo apt-get install wally

.

Чтобы показать обои в селекторе, без необходимости вручную обновлять папке, вам придется добавить их в /usr/share/backgrounds.

Теперь они должны отображаться в списке выбора. Я также пытаюсь найти небольшое приложение, которое я использовал, чтобы автоматически менять обои. Ill post, когда я нахожу его.

0
ответ дан 4 August 2018 в 19:43
  • 1
    Я знаю, что это импортирует все обои в папке, но как мне получить его, чтобы проверить папку, поэтому, когда я добавляю больше в папку, автоматически появляется в выборе, без необходимости импортировать их снова? – Slipstream 18 April 2011 в 19:36
  • 2
    @Slipstream Отредактировал мой ответ. – theTuxRacer 18 April 2011 в 19:42
  • 3
    Я добавил символическую ссылку, которая, как я думал, может быть одним из способов сделать это раньше, но они все еще не появляются там ... – Slipstream 19 April 2011 в 13:56
  • 4
    @Slipstream Да, действительно. Мой ответ неверен. Я видел, что изображение добавлено, но я, возможно, добавил их вручную, давным-давно, который испортил результаты. Я разочарован. Ставка на вас тоже. Извини :( – theTuxRacer 19 April 2011 в 22:24

С помощью CreBS (Create Background Slideshow) вы можете создавать файлы XML для слайд-шоу для обоев - полный путь к изображениям хранится в XML, поэтому перемещение файлов не требуется.

https: // launchpad .net / crebs

https://launchpad.net/crebs

1
ответ дан 4 August 2018 в 19:43

С помощью CreBS (Create Background Slideshow) вы можете создавать XML-файлы для слайд-шоу обоев - полный путь к изображениям хранится в XML, поэтому перемещение файлов не требуется.

https: //launchpad.net/crebs

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

1
ответ дан 6 August 2018 в 03:48

Другие вопросы по тегам:

Похожие вопросы: