LINUX.ORG.RU

Написать скрипт (для продвинутых — расширение для GnomeShell), который будет случайным образом выбирать файл с картинкой и через dconf выставлять в качестве обоины ,а затем добавить его в автозагрузку? (альтернативный вариант — выбрать в dconf в качестве обоины ссылку, например, ~/wallpaper.png, а скриптом менять файл, на который она показывает).

kss ★★★★★
()

Даже в гноме 2 была автоматическая смена обоев из каталога. Только частота смены не настраивалась. В третьем не должны были выпилить.

gentoo_root ★★★★★
()
Ответ на: комментарий от gentoo_root

>Только частота смены не настраивалась.

Если я правильно понял о чем ты, то настраивалась, через xml-файл

kss ★★★★★
()
Ответ на: комментарий от kss

>настраивалась, через xml-файл

А, точно, нашёл его. Ну и костыльные же там переходы между обоинами.

gentoo_root ★★★★★
()
Ответ на: комментарий от sphericalhorse

>а мне нужно что-то типа «при включении»

Самый простой способ — это как я выше описал: скриптом на баше при загрузке менять обоину на случайную.

kss ★★★★★
()

От идеи писать расширение для шела я отказался (лень его копать). Для второгнома работает так:

#!/bin/bash
gconftool-2 --type string --set /desktop/gnome/background/picture_filename $(find ~/Pictures/ -type f \( -name '*.png' -o -name '*.PNG' -o -name '*.jpg' -o -name '*.JPG' \) | sort -R | head -1)
Для третьегнома должно работать так (нету сейчас возможности проверить):
#!/bin/bash
gsettings set org.gnome.desktop.background picture-uri file:///$(find ~/Pictures/ -type f \( -name '*.png' -o -name '*.PNG' -o -name '*.jpg' -o -name '*.JPG' \) | sort -R | head -1)
Проверю - отпишусь и закрою тему.

sphericalhorse ★★★★★
() автор топика
Ответ на: комментарий от Deleted

переименовать все обои в {0..100}, написать скрипт для этого

UPS="$(($RANDOM % 100)).[jJ][pP][gG]" #or .*
feh --bg-scale $UPS

Deleted
()
Ответ на: комментарий от Deleted
finder="ls -1 ~/wallpapers/"
UPS=$((eval $finder | sed -n $((1+$((RANDOM % `eval $finder | wc -l`))))'p'))
feh --bg-scale --no-xinerama $UPS

и можно без переименования

вместо ls -1 можно использовать любую команду выдающую список файлов :)

lazyklimm ★★★★★
()
Ответ на: комментарий от lazyklimm

ну или так, мне лень сильно углубляться.

Deleted
()
Ответ на: комментарий от Deleted

Пусть будет по вашему. Но поскольку у меня нет нужных программ для исполнения вашего скрипта, и он мне не очень понятен (я в шеле не силен) то буду использовать свой, но все же спасибо.

Для адекватной работы того, что я написал необходимо взять в кавычки 'file://...', иначе возникает проблема с изображениями в названии которых есть пробелы, а также лучше убрать один слэш после 'file://' так как dconf-editor показывает, что их там должно быть три, а один добавляется find'ом. Вот финальный вариант:

#!/bin/bash
gsettings set org.gnome.desktop.background picture-uri "file://$(find ~/Pictures/ -type f \( -name '*.png' -o -name '*.PNG' -o -name '*.jpg' -o -name '*.JPG' \) | sort -R | head -1)"

sphericalhorse ★★★★★
() автор топика
Ответ на: комментарий от sphericalhorse

Блин, только вариант с Гномом 2 на Убунту работал нормально, а на третьегноме сначала грузится система со старой обоиной, а потом переключается на новую. Нужно как-то сделать чтобы скрипт выполнялся после логина в gdm, но перед запуском шела (или чего там). Как?!

sphericalhorse ★★★★★
() автор топика
Ответ на: комментарий от sphericalhorse

А можна сделать, чтобы это все не при логине исполнялось, а при логауте?

sphericalhorse ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.