HOWTO: Gnome Shell 3.2 on LMDE with custom shell themes

Archived topics about LMDE 1 and LMDE 2
Locked
Lippy

HOWTO: Gnome Shell 3.2 on LMDE with custom shell themes

Post by Lippy »

I thought I'd better make myself useful. :)

This guide is for those who are using LMDE and want to get their hands dirty with Gnome Shell 3.2 in all its glory. If you want to use Cinnamon, that handles things a bit differently (everything works out of the box), so you won't need to use this guide for that.

This How To was originally created when the packages were only in Sid, but since then Update Pack 4 has been released which has them included. You will also need to dip into Debian Testing in order to update gnome-tweak-tool, as the version supplied with Update Pack 4 is broken. Finally, your mileage may vary so please use the guide responsibly. Thank you. ;)

Step 1: Updating Gnome Shell to 3.2

Anyway, the first thing to do is to grab the Gnome 3.2 packages if you don't have them already. Update Pack 4 is now available in Latest, so I'd recommend that you update to that if you are still on Update Pack 3 or earlier. Make sure you read the Update Pack Info to get a heads up on any possible quirks, crashes or random gremlins crawling out of your computer before you proceed. You can find that by clicking on the green 'i' icon in the Update Manager window.

You probably should reboot afterwards as the update is huge and affects many system files.

Step 2: Getting gnome-tweak-tool to play nice

Now, it's time to get gnome-tweak-tool to work. The version included with Update Pack 4 has a couple of known bugs which means that it won't work properly (or at all) without a few tweaks. There is a newer version in the Debian Testing repository that has fixed these bugs, so the easiest way would be to update the package to the Testing version.

What you will need to do is to temporarily enable the Testing respository and upgrade just the gnome-tweak-tool package, or install the package if you don't have it already, then disable Testing again. It shouldn't pull in any additional dependencies so it should be safe. Version 3.2.2-3 of gnome-tweak-tool and later will work properly.

Once that is done, you should be able to open Advanced Settings. From here you can control the font, theme, window button placement and some other things you can't tweak in the vanilla Gnome Shell interface (without having to go into gconf-editor).

Step 3: Installing extensions from the Gnome website

Now let's get some extensions working. The Gnome Shell Extensions website is live, which has been the subject of a great number of threads. :twisted:

Just in case you don't know, the link is https://extensions.gnome.org/.

Here we install the Gnome Shell Integration plugin. I'd recommend using Firefox for this, as apparently the plugin doesn't yet work perfectly for WebKit-based browsers. This is where I then ran into my second problem. Installing any extension from the website did not work. The dialog popped up, but clicking Install did nothing. It turns out that there is a missing dependency it doesn't tell you about. Install unzip from the repository and that should fix the problem. Once you have extensions installed, you can control them in Advanced Settings.

It is possible to uninstall extensions using an interface, but this is only provided at the Gnome Shell Extensions website if you click on Installed Extensions. The website doesn't always work for me however as sometimes my extensions fail to show up. It also cannot uninstall extensions that have been installed system-wide. In those cases, you may need to manually uninstall them. For that, you must navigate to ~/.local/share/gnome-shell/extensions or /usr/share/gnome-shell/extensions, depending on where you installed it. Once there, delete the directory containing the extension you want to uninstall. When Gnome Shell is restarted, it should no longer be listed in Advanced Settings.

Step 4: Using custom shell themes

Finally, let's swap out the shell theme for something a bit shinier. This requires the user-theme extension. The Gnome website lists it, but that version is not compatible, as it has a different uuid to what gnome-tweak-tool is looking for. Instead, the best way to grab the extension is to install the gnome-shell-extensions package from the repository. This will install a few other extensions along with user-theme, but you can enable or disable them at will.

Now, in order to get the extension to appear in Advanced Settings, we need to reload the shell. Press Alt+F2. In the dialog, type 'r' and hit return. Sometimes it will crash and force you to logout. That sometimes happens when reloading the shell. After that, open Advanced Settings and in the Shell Extensions pane, enable the User Theme Extension. Close Advanced Settings. You might need to reload the shell again for this to take effect, although lately it seems to load up on the fly for me.

Once the shell is reloaded, open Advanced Settings again and navigate to the Theme pane. The Shell theme option should be active now.

The next step is to look for a theme to install. Mint-X already looks fantastic; it now seems to be based on Mint-Z, but it doesn't come with a shell theme on LMDE. So if you find the default shell theme a bit boring, you are going to want to look for one. There is a good selection on http://gnome-look.org, so find one that suits your tastes and enjoy.

In order to install a shell theme, you need to extract the theme directory to ~/.themes. The theme directory should be the one containing the gnome-shell directory. Once you have it installed, it should then be listed in Advanced Settings.

---

If you have used this guide before the 1.5 update (see edits at bottom of post)

Up until the 1.5 edit, the version of gnome-tweak-tool was broken and didn't work out of the box without a few tweaks to some system files. If you have used the guide before this and made those tweaks, there might be a bit of cruft left behind or a future update to either gnome-tweak-tool or gnome-shell-extensions could cause the other package to break. So this is how to return those files to normal.

First of all, uninstall both gnome-tweak-tool and gnome-shell-extensions. Next we need to delete the directory that used to be the old location for gnome-tweak-tool, if it exists. Even completely uninstalling the package will not remove this. Open up a terminal and look for the directory:

Code: Select all

cd /usr/local/lib/python2.7/dist-packages
ls | grep gtweak
If the gtweak directory shows up, it will need to be deleted. If it's not there, then obviously you won't need to do this next bit. :)

Code: Select all

sudo rm -r gtweak
Now that the system is clean, reinstall gnome-shell-extensions, and then grab the Testing version of gnome-tweak-tool.

---

Hope this has helped. I thought it was best to mention each issue I encountered, and if it helps other people out too, then great! If you spot that something is wrong in the guide, tell me and I'll correct it. Have fun! :D

Edits
1.7 - 12/04/06 16:29 - Update Pack 4 is now released with all packages apart from gnome-tweak-tool working out of the box. Add link to gnome-look.org; not sure why I didn't do that earlier.
1.6 - 12/03/05 04:05 - The fixed version of gnome-tweak-tool is now in Testing. Also, the Mint-Z theme seems to have been removed from the repository.
1.5 - 12/02/26 02:24 - A fixed version of gnome-tweak-tool has landed in Sid. There is no longer a need to tweak any system files now. Added instructions for those who used this guide before this update.
1.4 - 12/02/23 21:43 - Update Pack 4 is available for testing, which includes all the required packages. Add installation of the Mint-Z theme. Add note about Cinnamon. Elaborate on the user-theme uuid issue.
1.3 - 12/02/22 23:26 - The gnome-shell-extensions package has now migrated to Testing.
1.2.1 - 12/02/17 15:00 - Looks like the uuid of the user-theme extension from the Sid repository also needs to be changed for Advanced Settings to detect it. Add reasoning for this.
1.2 - 12/02/17 14:22 - There is a much easier way to install the user-theme extension which means simply installing a package from Sid. (thanks luis.nando!)
1.1 - 12/02/16 10:20 - Gnome 3.2 has landed in Testing, so it is no longer required to update to Sid.
1.0.2 - 12/02/16 10:02 - Add note that glib2.0-dev is needed in order to compile the user-theme extension.
1.0.1 - 12/01/02 04:30 - Fix quotation marks.
Last edited by LockBot on Wed Dec 28, 2022 7:16 am, edited 11 times in total.
Reason: Topic automatically closed 6 months after creation. New replies are no longer allowed.
luis.nando

Re: HOWTO: Gnome Shell 3.2 on LMDE with custom shell themes

Post by luis.nando »

Hello Lippy,

i got the following error after make and make install:

Code: Select all

luis@luis-desktop:~/gnome-shell-extensions$ make && sudo make install
Making all in extensions
make[1]: Entrando no diretório `/home/luis/gnome-shell-extensions/extensions'
Making all in user-theme
make[2]: Entrando no diretório `/home/luis/gnome-shell-extensions/extensions/user-theme'
Makefile:435: *** faltando o separador.  Pare.
make[2]: Saindo do diretório `/home/luis/gnome-shell-extensions/extensions/user-theme'
make[1]: ** [all-recursive] Erro 1
make[1]: Saindo do diretório `/home/luis/gnome-shell-extensions/extensions'
make: ** [all-recursive] Erro 1
any suggestion?
Lippy

Re: HOWTO: Gnome Shell 3.2 on LMDE with custom shell themes

Post by Lippy »

Looks like the quotation marks were incorrect in the original post, so the user-theme extension didn't get configured. Sorry about that. I've just corrected that, thanks!

Try this; it should solve the problem.

Code: Select all

cd $HOME/gnome-shell-extensions
./autogen.sh -prefix=/usr -enable-extensions="user-theme"
make && sudo make install
luis.nando

Re: HOWTO: Gnome Shell 3.2 on LMDE with custom shell themes

Post by luis.nando »

Hello Lippy,

I still cant get this to work, here are the outputs:

luis@luis-desktop:~$ git clone git://git.gnome.org/gnome-shell-extensions

Code: Select all

Cloning into 'gnome-shell-extensions'...
remote: Counting objects: 1947, done.
remote: Compressing objects: 100% (1848/1848), done.
remote: Total 1947 (delta 1332), reused 115 (delta 68)
Receiving objects: 100% (1947/1947), 357.46 KiB | 97 KiB/s, done.
Resolving deltas: 100% (1332/1332), done.
luis@luis-desktop:~$ cd gnome-shell-extensions
luis@luis-desktop:~/gnome-shell-extensions$ git checkout 3.2.3

Code: Select all

Note: checking out '3.2.3'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b new_branch_name

HEAD is now at 8349925... Bump version for 3.2.3
luis@luis-desktop:~/gnome-shell-extensions$ ./autogen.sh -prefix=/usr -enable-extensions="user-theme"
/usr/bin/gnome-autogen.sh
checking for autoconf >= 2.53...
  testing autoconf2.50... not found.
  testing autoconf... found 2.68
checking for automake >= 1.9...
  testing automake-1.11... found 1.11.2
checking for intltool >= 0.30...
  testing intltoolize... found 0.41.1
Checking for required M4 macros...
Checking for forbidden M4 macros...
Processing ./configure.ac
Running intltoolize...
Running aclocal-1.11...
Running autoconf...
Running automake-1.11...
configure.ac:7: installing `config/install-sh'
configure.ac:7: installing `config/missing'
Running ./configure -prefix=/usr -enable-extensions=user-theme ...
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking how to create a ustar tar archive... gnutar
checking whether NLS is requested... yes
checking for style of include used by make... GNU
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking dependency style of gcc... none
checking for intltool >= 0.26... 0.41.1 found
checking for intltool-update... /usr/bin/intltool-update
checking for intltool-merge... /usr/bin/intltool-merge
checking for intltool-extract... /usr/bin/intltool-extract
checking for xgettext... /usr/bin/xgettext
checking for msgmerge... /usr/bin/msgmerge
checking for msgfmt... /usr/bin/msgfmt
checking for gmsgfmt... /usr/bin/msgfmt
checking for perl... /usr/bin/perl
checking for perl >= 5.8.1... 5.14.2
checking for XML::Parser... ok
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.22... yes
./configure: line 4219: GLIB_GSETTINGS: command not found
configure: creating ./config.status
config.status: creating extensions/alternate-tab/Makefile
config.status: creating extensions/alternative-status-menu/Makefile
config.status: creating extensions/apps-menu/Makefile
config.status: creating extensions/auto-move-windows/Makefile
config.status: creating extensions/dock/Makefile
config.status: creating extensions/drive-menu/Makefile
config.status: creating extensions/example/Makefile
config.status: creating extensions/gajim/Makefile
config.status: creating extensions/native-window-placement/Makefile
config.status: creating extensions/places-menu/Makefile
config.status: creating extensions/systemMonitor/Makefile
config.status: creating extensions/user-theme/Makefile
config.status: creating extensions/windowsNavigator/Makefile
config.status: creating extensions/workspace-indicator/Makefile
config.status: creating extensions/xrandr-indicator/Makefile
config.status: creating extensions/Makefile
config.status: creating Makefile
config.status: creating po/Makefile.in
config.status: executing depfiles commands
config.status: executing po/stamp-it commands
Now type `make' to compile gnome-shell-extensions
luis@luis-desktop:~/gnome-shell-extensions$ make && sudo make install

Code: Select all

Making all in extensions
make[1]: Entrando no diretório `/home/luis/gnome-shell-extensions/extensions'
Making all in user-theme
make[2]: Entrando no diretório `/home/luis/gnome-shell-extensions/extensions/user-theme'
Makefile:442: *** faltando o separador.  Pare.
make[2]: Saindo do diretório `/home/luis/gnome-shell-extensions/extensions/user-theme'
make[1]: ** [all-recursive] Erro 1
make[1]: Saindo do diretório `/home/luis/gnome-shell-extensions/extensions'
make: ** [all-recursive] Erro 1
I still changed the command to:
luis@luis-desktop:~/gnome-shell-extensions$ git checkout 3.2.2

But I got the same error. Any ideas?
Lippy

Re: HOWTO: Gnome Shell 3.2 on LMDE with custom shell themes

Post by Lippy »

Ah, that looks like a different problem. Do you have libglib2.0-dev installed? If not, installing that should fix it. I already had it installed so I thought nothing of it.

Sorry again! I'll add that to the original post. :oops:
luis.nando

Re: HOWTO: Gnome Shell 3.2 on LMDE with custom shell themes

Post by luis.nando »

Hello Lippy,

yesterday playing with this I found out that a package named gnome-shell-extensions entered the experimental branch of debian. I installed it and that allowed the theme and extensions tab to appear on gnome-tweak through that I was able to install Ambiance-Graphite theme http://www.webupd8.org/2012/01/ambiance ... -pack.html on Gnome-Shell, but I couldn't get the windows borders to play nice... Do you have any suggestions on this case?

Thanks.
Lippy

Re: HOWTO: Gnome Shell 3.2 on LMDE with custom shell themes

Post by Lippy »

I never realised there was a gnome-shell-extensions package in Experimental. It looks like there's a newer version that has landed in Sid recently. Thanks for the information; I'll update the original post again!

About the problem with your window borders, it looks like an issue with that particular theme. I've tried to use it on here and it just reverts to the default window borders. After looking further, it appears that the Metacity theme has <padding> and <shadow> tags, which aren't allowed in Gnome Shell. If you navigate into the Ambiance-Graphite directory and open metacity-theme-1.xml, delete the lines with those tags and then save the file. Reload the shell and it should work properly.

Edit: Sorry, I forgot to add that only the lines that are within the <frame_style> tags containing <padding> or <shadow> need to be deleted. The lines containing <padding> tags that are outside of the <frame_style> tags can be left alone.
luis.nando

Re: HOWTO: Gnome Shell 3.2 on LMDE with custom shell themes

Post by luis.nando »

Thank you!
Locked

Return to “LMDE Archive”