Ubuntu, Linux Mint, elementary OS, and other Ubuntu derivatives
Variety can be installed on Ubuntu and its variants and derivatives from its official PPA by running these commands in a terminal:
sudo add-apt-repository ppa:peterlevi/ppa
sudo apt-get update
sudo apt-get install variety variety-slideshow
This has been tested to work out of the box on the latest LTS and non-LTS versions of Ubuntu, Xubuntu, Lubuntu, Kubuntu (but see notes below for KDE), Linux Mint MATE and Cinnamon, elementary OS.
Running Variety after installation
After the installation Variety can be run from the application menus or the dash search. Or launch it from a terminal with variety.
Debian and other Debian-based systems
Variety is in Debian testing and unstable’s repos. To install simply run as root:
sudo apt-get install variety
Alternatively, you can grab any of the deb files from the PPA – ignore the differences in the versioning strings, the deb files are the same. Then install using GDebi or some other tool that will automatically resolve and install the missing dependencies.
ArchLinux
Variety is in the Community repository – https://www.archlinux.org/packages/community/any/variety/.
openSUSE
On recent versions of openSUSE install Variety from the official openSUSE repository either through yast or with zypper in variety. The same packages are available for older versions of openSUSE from https://software.opensuse.org/package/variety?search_term=variety.
Fedora, RedHat
There are now packages for RPM-based distributions, you can find them on rpmfind.
KDE
KDE provides no ways to set the wallpaper from inside a program. To use Variety in KDE you have to make some configurations or it will not work. Please read and follow the instructions here.
GNOME and XFCE
Variety uses an indicator icon. You will have to install the AppIndicator Support extension in GNOME or add the indicator plugin to the panel in XFCE.
Enlightenment
Please load the modules Modules/System/DBus Extension and Modules/Systray.
Openbox, Fluxbox, i3, xmonad and other window managers
Many of the lighter window managers do not have native desktop-drawing capabilities but rely on feh to draw the desktop. To make Variety run there, install feh, then edit the file ~/.config/variety/scripts/set_wallpaper and uncomment this line by removing the # at the front:
# feh --bg-scale "$WP" 2> /dev/null
Other distributions / running from source
Variety runs on Python 2 (2.7.3+).
1. Install Bazaar and run .
bzr branch lp:variety
cd variety
You will have the latest trunk version of Variety inside the variety folder. I try to keep trunk always stable.
2. Install the dependencies. They are listed in the debian/control file.
gir1.2-appindicator3-0.1 is optional – don’t worry if it is not present in your distribution, it is for Variety’s indicator icon, but Variety will fallback to a classic Gnome status icon if it is not present.
3. Now simply run it. No building or installing is necessary: bin/variety -v
Raspbian (Raspberry Pi)
Users are reporting Variety works well under Raspbian. The process is the same as when running from source described above.
If you are using the Raspberry Pi as a photo slideshow PC, you may also add and run unclutter to hide the mouse cursor:
sudo apt-get install unclutter
NOTE: If you have managed to install and use Variety on other systems, please contact me so I can put the instructions on this page. Thank you.
Alternative modes for positioning the wallpaper on screen
Variety adheres to the global setting for positioning the wallpaper on the screen and does not provide an in-app setting for this. On Ubuntu/Unity this is a combobox in the Appearance settings, the default value is “Zoom”. In other distributions this setting is wherever the wallpaper/desktop background settings are.
For example use Scale instead of Zoom, if you prefer the images to be fully displayed on the screen and not cropped.
Dual-monitor support
On dual-monitor machines, you probably want to open Ubuntu’s Appearance settings (or whatever is the place for changing wallpaper settings on your distribution) and change the wallpaper display mode from the default Zoom to Span. You may then also want to spend some time customizing the image sources in Variety so that it fetches images with the proper resolution to cover both monitors.
December 28, 2017 at 14:44
sudo apt-get install variety
E: dpkg was interrupted, you must manually run ‘sudo dpkg –configure -a’ to correct the problem.
December 2, 2017 at 14:39
Thank you so much for Variety app. It really makes the background experience so much more interesting in my Lubuntu.
August 4, 2017 at 17:57
I just tried Ubuntu 17.04 with the “Gnome on Wayland” session. I notice that the Variety app. icon no longer appears in the tray, although Variety runs as usual in the background. All other tray apps, including legacy ones, seem to be working as expected. Perhaps this will sort itself out. This use case may seem esoteric, but, with 17.10 Ubuntu users will be using Wayland by default so I thought this worth a mention.
May 1, 2017 at 00:08
No more rpm on RPMfind for Fedora 25, installation throws error. I used v5 rpm long before and enjoyed this app a lot, but now I can’t even install it.
May 15, 2017 at 17:20
Fedora users:
Please note that I have never built or provided myself installation files for Fedora – I don’t have experience with Fedora/RedHat myself and I am not familiar with rpm, nor with how the processes work for getting software into Fedora’s repos. The RPMs on rpmfind were uploaded by someone from the community, not by me.
I rely on the community again to build and update RPMs for Variety or get it into Fedora’s repos. If you have the necessary knowledge and are up for the task, please step up and contact me, I’ll assist with whatever is in my control.
In theory, nothing should prevent Variety from running there, as long as the dependencies are installed – it relies on fairly standard GNOME libraries. The only one thing that is Ubuntu-specific is AppIndicator, but it is not a hard dependency, Variety can run without it.
March 12, 2017 at 17:20
The link “any of the deb files from the PPA” not working.
May 15, 2017 at 17:09
Thanks, fixed.
March 7, 2017 at 17:49
Variety doesn’t appear to be available on rpmfind any more.
February 11, 2017 at 02:04
hello,
I am on FedorA 25 and i have this error :
”’
No protocol specified
Unable to init server: Could not connect: Connection refused
No protocol specified
Unable to init server: Impossible de se connecter : Connection refused
/usr/lib/python2.7/site-packages/variety/__init__.py:109: PyGIWarning: Gtk was imported without specifying a version first. Use gi.require_version(‘Gtk’, ‘3.0’) before import to ensure that the right version gets loaded.
from gi.repository import Gtk, Gdk, GObject # pylint: disable=E0611
Traceback (most recent call last):
File “/bin/variety”, line 38, in
import variety
File “/usr/lib/python2.7/site-packages/variety/__init__.py”, line 111, in
from variety import VarietyWindow
File “/usr/lib/python2.7/site-packages/variety/VarietyWindow.py”, line 24, in
from variety.FacebookHelper import FacebookHelper
File “/usr/lib/python2.7/site-packages/variety/FacebookHelper.py”, line 55, in
from variety.Util import Util
File “/usr/lib/python2.7/site-packages/variety/Util.py”, line 17, in
import requests
File “/usr/lib/python2.7/site-packages/requests/__init__.py”, line 64, in
from . import utils
ImportError: cannot import name utils
”’
Have you a idee to resolv this ?
And have you news from VRTY.ORG ?
thx
February 14, 2017 at 18:25
hey, My previous problem is resolved. But have you news from VRTY.ORG ?
February 8, 2017 at 13:14
For Fedora 25 fresh install requires additional package: –
dnf install webkitgtk3
January 25, 2017 at 22:47
Where is the black people? I l love variety, but i wanna see more diversity!
January 20, 2017 at 15:25
Any workarounds for the fact that the tray icon doesn’t appear on GNOME Shell + Wayland (I’m on Fedora 25; switching to Xorg works fine)?
January 14, 2017 at 09:41
Is there any way to disable the preview of upcoming wallpapers as opposed to just re-positioning it to top, bottom, left, or right?
January 14, 2017 at 09:46
Never mind I’m just dumb. Turns out I just didn’t close out the app from the launcher.
December 20, 2016 at 21:22
I got this working in Fedora 25 by doing the following:
1. go to Xorg session
2. install webkitgtk3
3. download variety source from https://copr.fedorainfracloud.org/coprs/sergiomb/builds_for_Stable_Releases/build/456954/
4. run/configure variety via gui
(optional)
5. go back to wayland and run variety (warning you will get no gui using wayland) But you can still send commands out such as variety -n for next wallpaper.
I haven’t fully tested this but so far it seems OK.
November 27, 2016 at 23:40
Any ideas why it’s grown to more than 2Gb resident memory (4GB virtual)? This is a bit OTT.
November 26, 2016 at 12:19
If it’s ubuntu etc it’s already in the repositories, you can install via synaptic or similar.
November 26, 2016 at 10:12
I am trying to run it from source but I get the following output:
/home/nik/src/variety-0.6.3/variety/__init__.py:108: PyGIWarning: Gtk was imported without specifying a version first. Use gi.require_version(‘Gtk’, ‘3.0’) before import to ensure that the right version gets loaded.
from gi.repository import Gtk, Gdk, GObject # pylint: disable=E0611
/home/nik/src/variety-0.6.3/variety/VarietyWindow.py:27: PyGIWarning: Notify was imported without specifying a version first. Use gi.require_version(‘Notify’, ‘0.7’) before import to ensure that the right version gets loaded.
from gi.repository import Gtk, Gdk, GdkPixbuf, GObject, Gio, Notify # pylint: disable=E0611
/home/nik/src/variety-0.6.3/variety/AddPanoramioDialog.py:19: PyGIWarning: WebKit was imported without specifying a version first. Use gi.require_version(‘WebKit’, ‘3.0’) before import to ensure that the right version gets loaded.
from gi.repository import Gtk, WebKit, GObject # pylint: disable=E0611
/home/nik/src/variety-0.6.3/variety/QuoteWriter.py:19: PyGIWarning: PangoCairo was imported without specifying a version first. Use gi.require_version(‘PangoCairo’, ‘1.0’) before import to ensure that the right version gets loaded.
from gi.repository import Gdk, Pango, PangoCairo, GdkPixbuf, GObject
Traceback (most recent call last):
File “bin/variety”, line 39, in
variety.main()
File “/home/nik/src/variety-0.6.3/variety/__init__.py”, line 225, in main
window.start(arguments)
File “/home/nik/src/variety-0.6.3/variety/VarietyWindow.py”, line 140, in start
self.prepare_config_folder()
File “/home/nik/src/variety-0.6.3/variety/VarietyWindow.py”, line 262, in prepare_config_folder
shutil.copy(varietyconfig.get_data_file(“config”, “variety.conf”),
File “/home/nik/src/variety-0.6.3/variety_lib/varietyconfig.py”, line 47, in get_data_file
return os.path.join(get_data_path(), *path_segments)
File “/home/nik/src/variety-0.6.3/variety_lib/varietyconfig.py”, line 64, in get_data_path
raise project_path_not_found
variety_lib.varietyconfig.project_path_not_found
December 9, 2016 at 11:17
I have the same problem
April 29, 2017 at 16:33
i have the same problem too ): is this because of variety and vrty.org are shutting down ?
November 15, 2016 at 02:46
Can you add the option to place patterns?
Similar to this Gnome extension: https://extensions.gnome.org/extension/919/patterned-wallpapers/
from http://www.colourlovers.com/
My desktop: https://yadi.sk/i/IoF6u-0IydcSi
:¬)
November 2, 2016 at 11:33
I thinks my previous post of moksha is accidentally missed, so I post it again. 🙂
# Enlightenment
# Needs Modules/System/DBus Extension loaded to work
if [ “
echo $DESKTOP | grep Moksha” ]; thenOUTPUT_DIR=”$HOME/.e/e/backgrounds”
TEMPLATE=’
images { image: “@[email protected]” USER; }
collections {
group {
name: “e/desktop/background”;
data { item: “style” “4”; item: “noanimation” “1”; }
max: @[email protected] @[email protected];
parts {
part {
name: “bg”;
mouse_events: 0;
description {
state: “default” 0.0;
aspect: @[email protected] @[email protected];
aspect_preference: NONE;
image { normal: “@[email protected]”; scale_hint: STATIC; }
}
}
}
}
}
‘
OFILE=”$OUTPUT_DIR/variety_wallpaper_$RANDOM”
DIMENSION=”$(identify -format “%w/%h” “$WP”)”
if [ ! -z “$DIMENSION” ]; then
WIDTH=$(echo $DIMENSION | cut -d/ -f1)
HEIGHT=$(echo $DIMENSION | cut -d/ -f2)
IMAGE=”$(echo “$WP” | sed ‘s/[^[:alnum:]_-]/\\&/g’)”
if [ -z “$HEIGHT” -o “$HEIGHT” = “0” ]; then
ASPECT=”0.0″
else
ASPECT=$(echo “scale=9; $DIMENSION” | bc)
fi
fi
printf “%s” “$TEMPLATE” | \
sed “s/@[email protected]/$ASPECT/g; s/@[email protected]/$WIDTH/g; s/@[email protected]/$HEIGHT/g; s|@[email protected]|$IMAGE|g” > “$OFILE.edc”
edje_cc “$OFILE.edc” “$OFILE.edj” 2>/dev/null
rm “$OFILE.edc”
## Get the current number of virtual desktops
desk_x_count=$(enlightenment_remote -desktops-get | awk ‘{print $1}’)
desk_y_count=$(enlightenment_remote -desktops-get | awk ‘{print $2}’)
## Get the current number of screens
screen_count=1
# If xrandr is available use it to get screen desk_x_count
if command -v xrandr >/dev/null 2>&1; then
screen_count=$(xrandr -q | grep ‘ connected’ | wc -l)
fi
## Set the wallpaper for each virtual desktop
for ((x=0; x<$desk_x_count; x++)); do
for ((y=0; y<$desk_y_count; y++)); do
for ((z=0; z $LAST_WALLPAPER_FILE
exit 0
fi
November 2, 2016 at 11:33
I thinks my previous post of moksha is accidentally missed, so I post it again. 🙂
# Enlightenment
# Needs Modules/System/DBus Extension loaded to work
if [ “
echo $DESKTOP | grep Enlightenment” ]; thenOUTPUT_DIR=”$HOME/.e/e/backgrounds”
TEMPLATE=’
images { image: “@[email protected]” USER; }
collections {
group {
name: “e/desktop/background”;
data { item: “style” “4”; item: “noanimation” “1”; }
max: @[email protected] @[email protected];
parts {
part {
name: “bg”;
mouse_events: 0;
description {
state: “default” 0.0;
aspect: @[email protected] @[email protected];
aspect_preference: NONE;
image { normal: “@[email protected]”; scale_hint: STATIC; }
}
}
}
}
}
‘
OFILE=”$OUTPUT_DIR/variety_wallpaper_$RANDOM”
DIMENSION=”$(identify -format “%w/%h” “$WP”)”
if [ ! -z “$DIMENSION” ]; then
WIDTH=$(echo $DIMENSION | cut -d/ -f1)
HEIGHT=$(echo $DIMENSION | cut -d/ -f2)
IMAGE=”$(echo “$WP” | sed ‘s/[^[:alnum:]_-]/\\&/g’)”
if [ -z “$HEIGHT” -o “$HEIGHT” = “0” ]; then
ASPECT=”0.0″
else
ASPECT=$(echo “scale=9; $DIMENSION” | bc)
fi
fi
printf “%s” “$TEMPLATE” | \
sed “s/@[email protected]/$ASPECT/g; s/@[email protected]/$WIDTH/g; s/@[email protected]/$HEIGHT/g; s|@[email protected]|$IMAGE|g” > “$OFILE.edc”
edje_cc “$OFILE.edc” “$OFILE.edj” 2>/dev/null
rm “$OFILE.edc”
## Get the current number of virtual desktops
desk_x_count=$(enlightenment_remote -desktops-get | awk ‘{print $1}’)
desk_y_count=$(enlightenment_remote -desktops-get | awk ‘{print $2}’)
## Get the current number of screens
screen_count=1
# If xrandr is available use it to get screen desk_x_count
if command -v xrandr >/dev/null 2>&1; then
screen_count=$(xrandr -q | grep ‘ connected’ | wc -l)
fi
## Set the wallpaper for each virtual desktop
for ((x=0; x<$desk_x_count; x++)); do
for ((y=0; y<$desk_y_count; y++)); do
for ((z=0; z $LAST_WALLPAPER_FILE
exit 0
fi
November 1, 2016 at 16:33
I have installed on Ubuntu 16.10 but have an issue with upgrading after reciving the following message:
“The following packages have unmet dependencies.
variety : Depends: variety-slideshow but it is not installable”
I have checked the ppa and the yakkety and zesty archive only have the variety package not variety-slideshow.
@PeterLevi can the variety-slideshow be added to the ppa?
Many thanks.