Friday, July 24, 2009

GNOME in Slackware 12.2

Hi folks, today in "Talking about Linux" I wanna write about how to get GNOME (The name originally stood for GNU Network Object Model Environment) working under Slackware Linux.

Although nowadays it has been happening to me that some people who come to my desktop and watch my Slack box working with GNOME on it, the first thing on their minds is "Hey Is it Ubuntu?" I think to myself at least people is starting to play with Linux, but please don't confuse these things, Ubuntu it's a Linux distribution based on Debian (another Linux flavor called with this name by his creator Ian concatenating the name of his girlfriend at this time Debora who now she's his wife plus his own name) OK getting back our topic Ubuntu uses GNOME as Desktop Environment GUI (Graphics User Interface) but still it's using the Linux kernel that is an operating system. Therefore Kubuntu it's use the Ubuntu Linux Kernel + KDE, Xubuntu it's the same Ubuntu Linux Kernel + XFCE Environment Desktop. Said that I want to come back to show how to use Gnome with Slackware.

First at all I want to give thanks to GNOME SlackBuild (GSB) team (GSB a GNOME distribution for Slackware Linux ) who brings us this beautiful and useful Desktop Environment to use in our Slack Boxes. To me it's an excellent Gnome Environment to work, compared with another Linux distributions that have it by default. I can say it's an stable Desktop Environment. I installed twice before, first in my home notebook a Toshiba Satellite S2326 and a Desktop PC at work, it's an IBM ThinkCentre Pentium dual core inside.

GSB has an important warning before you start to do anything: NOTE: There is a fairly serious bug in Slackware 12.2's X.Org Server package. If you find that when you are running a GNOME desktop your X process is spiked at 100%, then you will need to use the xorg-server package supplied by GSB. It is found in the extra/ directory. Please see our Xorg Package README. In my case I experienced this trouble with my notebook which uses an ATI Xpress 200 Graphics Card. This bug isn't so bad but your processor will work at 100% so you will not work fine, but it can be fixed so easy, just go to extra/ directory (GSB 2.26) and download xorg files from there to install them with installpkg tool. In case you aren't using the default Slackware Xorg driver for your ATI, it will work fine after you restart your PC when you finnished GSB Install process, I mean using the propietary drivers that now I'm using as well.

NOTE: Please visit GSB web page if you want to ask for specific information or you want to read about this project or If you just wanted to give thanks. and don't forget I'm writing that as a guide without any warranty, you use that as your own risk.

To begin installation process I decided to do it with the slapt-get binary package. This one is the management tool used by GSB, also Slapt-get tries to emulate Debian's apt-get as closely as possible as its describe in its own web page.

Information below has been taken from GSB a GNOME distribution for Slackware Linux

slapt-get requirements: gpgme curl pkgtools

Download slapt-get for Slackware v12.2 from: <http://www.slackware.org.uk/gsb/gsb-2.26/gsb/packages/tools/slapt-get0.10.1a-i486-1gsb.tgz>.

After downloading the slapt-get binary package, you can install it
with:
$ installpkg slapt-get-0.10.1a-i486-1gsb.tgz

Although GSB recommends you will need to modify the/etc/slapt-get/slapt-getrc file to point to local mirrors of both a Slackware 12.2 mirror as well as a GNOME SlackBuild mirror, it's really not necessary because this file has configured the WORKINGDIR, EXCLUDE, SOURCE Environment variables by default, that works fine, in the opposite case you wanted to do you should edit it.

To complain with install process, GSB also recommends to do a required update, just typing:

$ slapt-get --upgrade

*Required Slackware Package Replacements for GNOME 2.26.3*

alsa-lib: ( > 1.0.19 required by pulseaudio 0.9.15, libcanberra, and
gnome-control-center)
bluez: ( > 4.2 bluez replaces bluez-utils/libs, required for gvfs
support for Bluetooth, and other GNOME 2.26 bluetooth userspace
applications)
cairo: ( > 1.8 required by Evince 2.26)
glib2: ( > 2.20 required by libgnome 2.26, gvfs 1.2.2,
nautilus 2.26, etc.)
gtk+2: ( > 2.16 required by libgnome 2.26, gvfs 1.2.2,
gnome-panel 2.26.0, etc.)
libwnck: ( > 2.26 required by Metacity 2.26, and GNOME 2.26)
pango ( > 1.24 required by newer cairo and gtk versions.)
poppler: ( > 0.10 required by newer cairo, as well as Evince 2.26)

The really good part of that is: GNOME SlackBuild (GSB as well) is designed to replace as few Slackware packages as possible, also they add to it's information "it is not possible to free ourselves wholly from replacing some packages, here are three packages that are optional and replace official Slackware packages, but their replacement are only necessary for added functionality, or for certain GNOME applications. Their replacement is recommended, but not required if you do not plan to use certain applications" Packages are: mozilla-firefox, compiz-fusion, libgsf. GSB in its web page explain what's the difference between its own packages against original slack packages.

GSB also gives some options for use with slapt-get
--upgrade
Use this to upgrade all of your currently installed packages.
--search
This is used to locate packages of interest by the package name, disk set, or version. This supports POSIX and extended regular expressions.
--install
Used to install a specified package. If the package is already installed it will be upgraded.
--list
This is used to see all the packages available from the package sources you specified inside the slapt-getrc configuration file.
--clean
This is used to remove all downloaded packages from the local cache.
--autoclean
This is used to remove packages from local cache that are no longer available on the package sources specified in the slapt-getrc file.

For a full list of available options, please consult the slapt-get manual

GSB also recommends to read the Post-Installation and Configuration Notes after you start the Installation process. But GSB specify that there are a few minor changes users may wish to make in order to get the best possible GSB system running so don't afraid if you read later.

To install a basic GNOME SlackBuild GNOME Desktop, just type:

$ slapt-get --install gsb-desktop

But I'm sure you would like to get a full installation to get the Power of GNOME, to do that run:

$ slapt-get --install gsb-complete

This operation will take a long time to complete, above all if you have a short bandwidth internet connection. When it finished to install GSB recommends that is strongly necessary that you reboot your system. But after to do that I recommend you to do some tricks to get a good benefit at the first view of your GNOME, although of course you can do that later.

Into /etc/X11/xinit by default Slackware has a link of xinitrc to xinitrc.kde, as you know the default Slackware's Session Manager is GDM (if you don't believe me check your /etc/rc.d/rc.4) so it indicates next time when you start your Slack Box GDM will be your default Session Manager as well, to me of course it's ok, but if itsn't for you then proceed to change it. So if you decide to work with GDM please go to /etc/X11/xinit and delete the link xinitrc then make a new one to xinitrc.gnome.

$ ls xinitrc -rwxr-xr-x 1 root root 516 2008-10-25 20:03 xinitrc -> xinitrc.kde $ rm xinitrc $ ln -s xinitrc.gnome xinitrc $ ls xinitrc $ lrwxrwxrwx 1 root root 13 2009-07-07 07:25 xinitrc -> xinitrc.gnome

please note that xinitrc.gnome which is the X startup script for a gnome-session with Metacity as the default window manager. At this point you will have a good start with Gnome this time. Also if you want to test or just use NetworkManager instead the default
rc.inet1 for Slackware we need to a little more (don't be afraid, it's easy ;) ).

First at all we need to go to /etc/rc.d and take off execution permissions to rc.inet1 and give them to rc.networkmanager to use only NetworkManager, note that if you use NewtworkManager and you are using wireless connection you will need to configure it when NM found internet signals available to you it means it'll not work anymore with rc.wireless.conf and wpa_supplicant.conf, also as GSB says NetworkManager and the applet install a few configuration files into the dbus system messaging system, and this daemon will need to be restarted, please do as shown below

$ ./rc.messagebus restart
$ chmod -x rc.inet1 $ chmod 755 rc.networkmanager
$ ./rc.networkmanager start

It's so important to take note that KDE (and others Desktop Environment that have not support to NetworkManager) will not have internet connection unless you'll get to work with KNetworkManager, but if not and you plan to use KDE doesn't change that or just do above in reverse mode to get to work rc.inet1 again.

If you have some troubles with PulseAudio I will show you how to fix it in next post ;) please be patient.

I really hope you can find useful this post, and you can get envolved to enjoy working with Linux, above all Slackware ;).

Que viva el pingüino!

No comments: