Bash – Setting environment variables for Gnome on Wayland session only

bashgnomegtkwayland

I'm testing GNOME 3.14 on Wayland on ArchLinux and I would also like to test GTK+ on Wayland.
To do so, I can set the following two env variables from terminal

export GDK_BACKEND=wayland CLUTTER_BACKEND=wayland

anf then run my app (i.e. nautilus) from terminal too.
However I would like to set this session-wide so that I don't have to launch my apps from terminal.
I think I cannot set them on .bashrc because they will break my standard GNOME on X session.

So where is the proper place to set those variables for GNOME on Wayland session ONLY?

Best Answer

I have found a way to do this.

Create (if necessary) a ~/.profile file and add the following:

WAY=$(ps -aux | head -n -1 | grep "/usr/bin/gnome-shell --wayland")

if [ -z "$WAY" ]; then
    echo X11
else
    export GDK_BACKEND=wayland
    export CLUTTER_BACKEND=wayland
fi

Logout and then login in your favorite session (either X or Wayland). By using looking glass you can check if your application is actually running on Wayland. See this.