To all Debian jessie/testing users: DO NOT upgrade gnome-bluetooth to 3.8.1-1 yet [Edit: Fixed]
Posted on June 30, 2013 by Kevin Keijzer
[Edit: This bug has been fixed as of July 3, 2013. If you upgrade gnome-shell to 3.4.2-10 and gnome-bluetooth to 3.8.1-2 simultaneously, all will be fine.]
Due to a bug in the current GNOME Shell in testing (3.4.2-8), installing the latest gnome-bluetooth package will brick your entire desktop:
JS ERROR: !!! Exception was: TypeError: GnomeBluetoothApplet.KillswitchState is undefined
JS ERROR: !!! message = ‘”GnomeBluetoothApplet.KillswitchState is undefined”‘
JS ERROR: !!! fileName = ‘”/usr/share/gnome-shell/js/ui/status/bluetooth.js”‘
JS ERROR: !!! lineNumber = ’97′
JS ERROR: !!! stack = ‘”()@/usr/share/gnome-shell/js/ui/status/bluetooth.js:97
Window manager warning: Log level 32: Execution of main.js threw exception: TypeError: GnomeBluetoothApplet.KillswitchState is undefined
This will cause your entire desktop environment to crash, leaving you with nothing but a wallpaper.
According to this bug report, the behaviour has been fixed in gnome-shell 3.4.2-9, which is, at this point, still in sid/unstable. So once more: do not upgrade gnome-bluetooth to 3.8.1-1 before gnome-shell 3.4.2-9 has entered the jessie/testing repositories.
In case you have accidentally upgraded and are now facing a useless desktop, switch to tty1 (Ctrl + Alt + F1), log in, and type the following:
sudo apt-get install gnome-bluetooth/stable gir1.2-gnomebluetooth-1.0/stable
After downgrading the packages, run sudo service gdm3 restart and log back in again. (If you’re using sysvinit, run sudo /etc/init.d/gdm3 restart.)
In order for this to work, you’ll need the stable repositories to be present in your /etc/apt/sources.list. If they’re not, first run sudo nano /etc/apt/sources.list (or another text editor) and make sure it contains the following line:
deb http://ftp.nl.debian.org/debian/ stable main
Obviously, the exact server can be different depending on the country you live in.