Wednesday, March 14, 2012

Installing Debian Linux on PPC Part III - Installing the GUI

[4/24/15: Updated for Jessie stable]

By now you should be booted into your new system (if you're dual booting OS 9 and you didn't see a "MacOS" option in yaboot, see how to add it manually in Part IV). You're past the startup dialogues and are staring at a terminal prompt, yourhostnamelogin: _

Here you want to type root, then enter your root password. Now you're logged in as root with all the superpowers that come with it. Don't let it go to your head, though. You'll only be the root user momentarily.

We logged in as root because in order to get administrative access through your user account, you have to install the sudo package first. So at the command prompt, type:

aptitude install sudo

Aptitude is the installer program we'll be using. Other people may use apt-get, but they're basically the same. Once it's done installing, type visudo at the next prompt and you'll see a text file to edit. Navigate down to the line:

root ALL=(ALL:ALL) ALL

and just below it add the line:

yourusernameALL=(ALL:ALL) ALL

Then save changes with ctrl + o (and name it "/etc/sudoers" not "/etc/sudoers.tmp"), exit with ctrl + x, and finally logout of your root session by typing logout.

At the next prompt, type your username and user password and you should be logged in with sudo capabilities. Incidentally, if you want to take a break here, enter:

systemctl poweroff

and this will shutdown your computer.

But if you're still here, now's the time to install your GUI. Again, you could install "lxde" or "xfce4" here, but for our purposes (fastest performance, obsessive DIYism) we're going with Openbox. At a terminal prompt, type on one line:

1) Xorg provides the X window server.
2) Slim is a slim and fast login manager (LightDM is a more popular, but sometimes troublesome, choice).
3) Openbox, obconf, and obmenu are what you need for Openbox.
4) menu-xdg provides a Debian applications menu.
5) The murrine and pixbuf engines are required by many third-party themes.
6) fonts-freefont-otf and fonts-linuxlibertine provide some extra fonts I like.
7) LXAppearance manages your themes, fonts, and icons.

Enter your password and watch the install happen. Once done, we can move on to installing applications, but let's take care of a couple of things first. First, edit your apt sources:

sudo nano /etc/apt/sources.list

In here, you'll want to add extra repositories by adding "contrib" and "non-free" to each of the entries like this (single line):

deb http://ftp.us.debian.org/debian/ jessie main contrib non-free

Make sure they all end in main contrib non-free. Then save and exit, and run:

sudo aptitude update

to update to your new repositories. That last update step is required every time you change your sources list, and it's a good idea to run it before installing any new software.

Next, if you have a first-generation Airport card or an ATI graphics card you need to install non-free firmware*, and you also may want to add the Microsoft fonts installer for fonts many web pages use (single line):

*Note: With firmware-linux-nonfree installed, Radeon users may get graphics lock-ups unless you force PCI mode at boot, i.e. at the second Yaboot screen, type "Linux radeon.agpmode=-1" without quotes. This is explained more in Part IV - Graphics.

Meanwhile, the mscorefonts installer will auto-launch and take a bit to install all the fonts.

Now we can install some applications. Since my laptop is going to be used for web surfing, writing, and music/video, I'm going to install just a basic set by typing on one line:

1) Iceweasel and Icedove are Firefox and Thunderbird rebranded.
2) QupZilla is a full-featured webkit browser. To set your system's default browser, check this page (Note: QupZilla doesn't receive security updates like Iceweasel does).
3) Sabnzbdplus and Transmission (execute command is transmission-gtk, FYI) are for Usenet and BitTorrent.
4) Audacious is a really cool, lightweight music player (or if you like console apps, there's Cmus which supports internet radio streaming, too).
5) mpv, MPlayer, and VLC are media players (See below for adding deb-multimedia apt sources as MPlayer is no longer in the official repositories. G3 users will need to compile VLC from source without Altivec--see Part V for more on that.).
6) SMTube is a Youtube viewer.
7) Pluma is basically the old Gedit without all the Gnome dependencies.
8) LibreOffice is for those of us who can't abide by Abiword, and libreoffice-gtk ensures LibreOffice uses your GTK theme.
9) Fotoxx is a lightweight image editor.
10) Shutter is a versatile Skitch replacement and screenshot utility.
11) Mirage and Evince are for viewing pics and pdfs, while Xournal offers basic pdf editing.
12) Asunder is a CD ripper and encoder.
13) Rox-filer is a lightning-fast file manager that I wrote about here (Thunar and PCManFM are two other relatively lightweight alternatives).
14) XArchiver is a GUI tool for unpacking zips and tars, etc.
15) LXTerminal is a close equivalent to OS X's Terminal.app.
16) default-jre installs open-source java (replace jre with jdk if you intend to develop java applications), and icedtea-plugin is a java web plug-in (some people report they need to disable this in Iceweasel because it causes their cpu to jump to 100%).
17) FileZilla I use for SFTP-ing between Macs.
18) Gufw is a simple firewall utility that requires root access, so you launch it with "gksudo gufw" (gksudo is installed with the gksu package).

As noted earlier, you need the unofficial Deb-Multimedia repositories to install MPlayer and a bunch of other multimedia packages which Debian's official repositories don't carry for licensing reasons. Go to www.deb-multimedia.org and follow the instructions, which are basically:

I should also tell you about a little aptitude trick. There's a disc burning application called Brasero that I want, but when you install it the normal way it pulls in Yelp, a Gnome help guide, which I don't need. So to avoid that, try (on one line):

sudo aptitude install brasero --without-recommends

and it'll leave out recommended extras without interfering with the basic functions of the program.

Once all that's done, you're ready to enter your GUI. Just note that right and middle click are mapped by mouseemu to F10 and F11 (or on some keyboards F11 and F12) by default. You can change these by editing /etc/default/mouseemu and restarting the daemon with "sudo /etc/init.d/mouseemu restart". Xev and showkey are two command-line tools to get keycodes from (showkey must be run in an actual console, not a terminal emulator).

So to get to our GUI, type "systemctl reboot" to restart. I hope I didn't forget anything...

19 comments:

Is a GUI really necessary? Long term, this stuff is gonna be high-maintenance.

No matter how much you strip down the eye-candy and UI bells & whistles, browsing any modern website with a graphical browser is gonna hurt on a sub-800MHz G3.

I tried e17, afterstep, and dwm. Eventually, I just gave up on Xorg. When I use my Lombard Powerbook, I just run mc, w3m, mutt, lynx, nethack, gopher, etc. Virtual terminals are good enough for multitasking. Things are quite fast, this way, but not so maccy.

Also, having a login manager adds needless complexity. Simpler just to edit your .xinitrc to your liking and startx. (Could be I grew up in the DOS/Windows 3.1 era, when you booted to command line to do fun stuff and typed win to do boring office stuff.)

I just got sick of messing around with frankenstein desktops to the point where I can live w/o a desktop.

They're all frankenstein desktops since the first monitor that tilted for use in portrait mode...and now because of the VMs, 2 monitors and HDMI-in on every videocard, etc. The login manager is to keep your partitions and security managed despite local access, I suppose.

That is not terrible disuse of a machine with iffy graphical capability, but a) surely w3m and lynx (no maintainers, lately...or are there) are oddball security risks and a burden on pf plugins, and b) how about frankenstein memory for that Lombard? No go patching in 8GiB as L2 cache (and maybe some USB2 or USB3 ports?) plus c) pdfs...mailed to the nice reader on your phone, I suppose?

Hi great tutorial! Iv got a slight problem with having a power cut during finishing the gui installation (updating app sources) and the emac restarted and brought up the loggin which I tried logging in to see if I could run terminal but it just shows up with the cursor and a grey screen. Any ideas? Its a first gen emac (700mhz) I beleive.

A cursor on a grey screen sounds like OpenFirmware. I'm guessing Yaboot didn't get installed, it's usually the last thing. Re-installing the system might be the easiest solution, as installing Yaboot manually from a rescue disc looks fairly complicated and a bit beyond me.

Thanks for the great effort.Following the guidance, I have installed Debian Wheezy on my iBook G4 1.3GHz already. Unfortunately, I meet a problem, after setting X done, that I cannot recognize any word on screen in tty1. The words on screen are all broken. However, it is good in X window. This is really bothered me.

I tried to Google it but cannot find the solution.Would you like to recommended me how to solve it?

Thanks for the reply, Dan. I feel better as I am not alone.Actually, it was happened when I tested with startx initially and came back to console mode. It was happened. Yup, it does. Lightdm is my window manager.

Now, it can be fixed after I upgraded to Jessie version. Unfortunately, Jessie, or above 3.9.x kernel, has another issue--sound card. There is no sound, sadly!

I got sound working on Jessie by booting with the old 3.2 kernel, by hitting Tab at the second yaboot screen and choosing "old". If the kernel you want to boot with is previous to "old", you can find it in your /boot folder and configure yaboot accordingly. The details for that are in this thread:

I found a great article about how to install GUI (Graphical User Interface). Easy to follow and there some options of GUI to choose from gnome, kde, xfce... http://namhuy.net/1085/install-gui-on-debian-7-wheezy.html

You see a gray screen with just a mouse cursor? It sounds like you're in Openbox. You need to right-click to bring down a menu. Right-click is F11 or F12 by default, unless you changed it in mouseemu settings or inside sysctl.conf.

Thanks for the hard work.Everything was fine until i reach the point where i have to configure stuffs with openbox.I can pass the login screen and use f11, and then everything freezes, i can still move the cursor but no right or left click or even response with the keyboard.Though i have to mention That my mouse and keyboard are on usb, because of à disfunctional PowerBook g4 original keyboard ( i hope this one is clear).Could you help me in anyway to deal with That problem, or do i have to reinstall everything (it's not a problem if i have to).Thanks anyway if you time to answer.

Hmm. What happens if you install LXDE (not a huge install)? LXDE uses Openbox as a window manager, but it's a full-fledged desktop environment. Do you still get the same bug with right and middle click?

Another thing you can do is open /etc/default/mouseemu in a text editor and change mouseemu's default keys for right and middle-click.

I'm really That you took the time to answer,i totally forgot That i left a comment here (and also sorry), but anyway, i have to mention That it seems complicated at the time and i didn't have a lot of it, so i tried an install found on "powerPC Liberation" with openbox (who also have a link to your site by the way) and everything sent well t'il today after a few days without using it, the os doesn't run properly at all. So now That i have a little bit more knowledge i gonna give another try to your way of doing it.

Hi Dan,followed your instructions on a G4 12" laptop but i can't get the desktop GUI to appear. after i enter 'systemctl reboot'i just get a debian login prompt. I've tried logging in and then startx but i only get a further prompt with a 'File', 'Edit', 'Tabs' and 'Help' option at the top of the screen. I may add that this section doesn't fill the whole screen. everything else is black :(