Linux as a Workstation

Why Linux?

Linux is stable. But Linux is just a kernel, so we need more than that. Besides being stable you get nice performance, a multiuser operating system, documentation, flexibility. Linux supports a wide range of hardware, I use it on i386, SPARC and a PowerPC notebook. If you don't know what UNIX is you might want to read more about it at www.unix-systems.org.

Why Debian GNU/Linux?

Debian GNU/Linux is a distribution which comes with Linux and nice package management called APT. It is free, non-commercial, high quality and a very clean system. You can install it even on small harddisks. Migration of the software is easy (no drive letters or registry files). No more hassles with license keys or expiration of serial numbers. No more viruses either. For a little thoughts about why debian go www.debian.org/intro/why_debian. Debian is not only Linux, there is also work in progress to have other kernels, like *BSD and The Hurd. They also support other architectures besides i386 very well.

Find more Information about Debian here:
www.debianplanet.org
www.aboutdebian.com
www.debianhelp.org
Download a copy from (just get the first .ISO):
http://www.debian.org/CD/http-ftp/ offical place to get Debian GNU .iso from
www.linuxiso.org/distro.php?distro=4 about 633 mb (bootable cdrom .iso for i386, ppc, alpha and sparc)
There are also Debian based live CD's which can be installed:
www.morphix.org Gnome 2.2, XFree 4.3.0
www.knoppix.org KDE 3.1
You can find install floppy images at ftp://ftp.de.debian.org/debian/dists/stable/main/. You download the three files rescue.bin (this boots), root.bin and driver-1.bin. In linux you can write them to floppy disks like this:

dd if=rescue.bin of=/dev/fd0
Under DOS/Windows use rawrite2.exe.

Why I use Windowmaker?

There is not just KDE or Gnome but also GNUstep. I don't need a desktop environment. However you still can use KDE and Gnome applications. There are others which you might want to try out: fvwm, twm, sawfish, icewm, orobus, amiwm, ion, blackbox, fluxbox, openbox, englightenment, afterstep, tell me more. A windowmanager is enough. Window Maker is easy to use, looks nice and works fine, even on a Pentium 100 with 64 mb memory. What does it look like? Here is an example what my screen looks like. You can make yours look like that too, using that theme called sodawater.

Using the NeXTSTEP theme you can make it fit better to GNUstep. You can find GNUstep applications at freshmeat.net.


Preparations

Installing the system.
Install Debian GNU/Linux, minimal installation. Then change to unstable:
cd /etc/apt
mv sources.list sources.list.backup
telnet www.linuks.mine.nu > sources.list
#if you want to stay on stable (woody) or testing (sarge), just use
#telnet www.linuks.mine.nu | sed s/sid/woody/g > sources.list
apt-get update
Install the X Window System:
apt-get install xfree86-common xserver-xfree86 xserver-common xbase-clients \
xfonts-base

Configuring the X Window System (note there is no "s" in Window)

Configuring X can be done using this simple command:
dpkg-reconfigure xserver-xfree86
Install Window Maker with a graphical Login:
(for Login.app to work you need X configured and working, as we use X version 4.x.x, you should ln -s /etc/X11/XF86Config-4 /etc/X11/XF86Config so Login.app doesn't complain about it couldn't find the config.)
apt-get install wmaker wmaker-data wmakerconf wmakerconf-data login.app

Tools to configure the system.
modconf: driver modules for scsi, sound, network cards
dpkg-reconfigure: to reconfigure packages
networking: edit /etc/network/interfaces and /etc/resolv.conf, man interfaces
printing: printtool

Install gtk-engines-gtkstep to change the look of all the gtk applications to look like NextStep(tm):

apt-get install gtk-engines-gtkstep
In your homedirectory do:
ln -s /usr/share/themes/Step/gtk/gtkrc .gtkrc
If you think the font of your gtk applications is too big, open .gtkrc in your homedirectory and add
font = "-B&H-Lucida-Medium-R-Normal-Sans-11-80-100-100-P-63-ISO8859-1"
to the style "nextstep" section. You could also just apt-get install gtk-theme-switch and then start switch.

Install tkstep8.0 to change the look of all the tk applications to look like NextStep(tm):

apt-get install tkstep8.0
In /usr/bin/ do:
ln -s wish8.0 wish
More things you will want to install:
apt-get install bzip2 hdparm mc ssh wget lftp

Installing TrueType Fonts (.ttf)

apt-get install ttmkfdir msttcorefonts (ttf-baekmuk,ttf-openoffice)
And add the following line to your /etc/X11/XF86Config-4 at the right place:
FontPath "/usr/lib/X11/fonts/TrueType"

Getting help

In the shell (or while communicating with a daemon) or whereever you are "help" is always a good try to get some help. UNIX alike systems have manpages (short for manual pages), for more information read
man man
Now you don't know what "man man" does and you are right, it is always a good idea to know what you do (read: do not do things which you don't understand). There is a command called "whatis" which displays manual page descriptions, try:
whatis man
Install man and the manpages including developer manpages. If your system has not installed the manpages yet you can view them also online at www.linuks.mine.nu/manstep/. On Debian you install them like this:
apt-get install man man-db manpages manpages-dev less
There are also translated manpages available - to get a list type:
apt-cache search manpages
apt-cache search -- -doc
For help about parameters and options of a program use --help, example:
ls --help
If you don't know the exact name of some command you could try a search like this:
apropos whatever
For documents and howto's look on www.tldp.org. The usenet / newsgroups (news.gmane.org) the web (www.google.com) and irc (irc.debian.org) are also a good source for information. The Debian channel FAQ might answer a few answers.

Joining a LUG (Linux User Group) in your area, or forming one if there is not yet one might help too.


Language settings

Setting the language for x applications/wmaker. To see what is available use
locale -a; edit /etc/locale.gen
and then use this command
local-gen
export LANGUAGE=tr_TR
export LC_ALL=tr_TR
export LANG=tr_TR
To make the setting systemwide type that in /etc/profile, for users use .profile or .bashrc in the users home directory. For KDE check the language packages:
apt-cache search kde-i18n

Basics of package management (Yes, this is about apt-get)

whatis apt-get tells this:
apt-get (8)          - APT package handling utility - command-line interface
You have got a sources.list in /etc/apt which tells where to get packages from. You can easily edit that in any editor or set it up using apt-setup. Before you start installing you should make sure your list of packages is up to date:
apt-get update
Now you can begin to install (or upgrade) packages like this:
apt-get install vrms deborphan
What is vrms? deborphan? And how would you know what software has what package name?
apt-cache show pkgname
will tell you more about pkgname.

You need software but you don't know the package name of the software? Search software using this command:

apt-cache search package
There is a list of software at freshmeat.net too. Removing software is easy too:
apt-get remove packagename
dpkg (-L/-S/-l) Source packages (.tar.gz, tar, tgz, tar.bz2, tar.Z) the command "file", command "tar" and apt-get source (cd dir; fakeroot dpkg-buildpackage)
For more information (as with everything) please consult your manual pages.

Configuring a soundcard

sndconfig
lspci/modprobe
modconf
to allow a user to play music do this
adduser user audio
(see /etc/passwd and /etc/group)
(oops you first need to create a user for yourself too)
Note: you need to relogin for this to work.

Configuring a networkcard

Use lspci to find out what pci devices you have, modprobe to try out drivers (they are in /lib/modules/`uname -r`. If they work ok you can write the drivername in /etc/modules. Alternatively you can do all this menudriven with modconf.
edit /etc/network/interfaces
and use ifup and ifdown dev
where dev could be eth0

Securing the system - something not the OS but the admin should do

Please read harden-doc, the latest version is online at Debian.
Netstat gives you a list of what is listening on what port.
netstat -plunt

Applications

I use a graphical login called Login.app. You can use "reboot" or "halt" as name and the root password to reboot or halt the machine.
login.jpg picture

I do my mail using sylpheed, the latest version is sylpheed-claws, also check documentation from sylpheed-doc. It is fast and lightweight, supports multiple accounts, pgp and alot more. If you want to use pgp i suggest to install gnupg.

apt-get install gnupg
Find a little howto and basic information what gpg is at codesorcery.net/mutt/mutt-gnupg-howto. To get you started:
gpg --gen-key
gpg --list-keys
gpg --export -a > $HOME/pubkey.asc
gpg --import < otherpeopleskey.asc
gpg --send-key --keyserver wwwkeys.pgp.net person
You can find my public key at www.linuks.mine.nu/me
sylpheed picture

I do read news using pan.
pan picture

I chat on irc using xchat. It supports multiple ircd connections. I quit using xchat on 24/december/2001, now i use irssi (irssi-text).
xchat picture

I listen to icecast streams, .mp3 and .ogg music with xmms + NeXTamp. Some streams I listen to are http://mp3.jazzradio.net:9000 and http://nlc.no:8002. There are much more streams like that available, you can find some at www.icecast.org. If you install smpeg-xmms and you can also view .mpeg movies. With xmms-modplug you can also listen to modules like .mod. There are other plugins like CD Audio Player, AVI (plays .asf and divx .avi), MikMod, OGG Vorbis, XMP and Wave.
xmms picture

To draw graphics you can use the gimp.
gimp picture

I view pictures with xzgv. There are other nice viewers like feh and gqview.
xzgv picture

The terminal I use is aterm. You can leave the +sb parameter away if you want the scrollbar.
aterm picture

Ding a dictionary. Find some more dictionaries for it here.
ding picture

LinNeighborhood and jags are browsers for your Microsoft Windows network.
linneighborhood picture

I use galeon for browsing the web. For https:// to work apt-get install mozilla-psm, and for flash to work apt-get install flashplayer-mozilla.
Dillo and links are lighter browsers which support graphics, but not CSS.
galeon picture

If you miss notepad, you can install gnotepad+ and start it with gnp.
gnotepad+ picture

If you need a word processor there is abiword.
abiword picture

If you need a spreadsheet software there is gnumeric.
gnumeric picture

Endeavour Mark II is a filemanager.
endeavour2 picture

I watch TV using wmtv/motv, read teletext using alevt. There is nxtvepg a Nextview EPG (Electronic Programme Guide) Decoder. For my "00:08.0 Multimedia video controller: Brooktree Corporation Bt848 TV with DMA push (rev 12)" (lspci) to work, I had to "modprobe bttv msp3400 tuner" (see modconf or /etc/modules).
nextview picture

There is a nice frontend for apt, it is called synaptic.
synaptic picture

For recording from you microphone, or tracking .xm/.mod music and playing it back, there is soundtracker and cheesetracker.
soundtracker picture

Timidity++ is a great MIDI Player. You will also want to install timidity-patches and then edit your timidity.cfg to use them. For non-debian users the GUS Patches can be get from here. EAW Patches can be found here
timidity picture

You can burn cd-r using gcombust or Eclipt roaster (eroaster).
gcombust picture

Transfering pictures from a digital camera can be done using gphoto, gphoto2 or gtkam. You can find a list of supported cameras at www.gphoto.org/cameras.html.

Anyone experience with DVD, watching movies?
http://www.mplayerhq.hu/homepage/
http://www.dtek.chalmers.se/groups/dvd/
http://www.linuxvideo.org/oms/
http://www.videolan.org/
http://xine.sourceforge.net/


Dockapps

asclock picture Time and date
asclock -24 -noblink -theme shaped -d
bubblefishymon picture Monitor for cpu, free/used memory and network traffic, load averages and swap. I use to start my *terminal and play some .wav with left and right mousebutton on this one.
bubblefishymon -n "aterm -tr -sh 69 -rv +sb" "play /usr/share/doc/wmbubble/misc/wak.wav"
licq picture ICQ messaging
licq
System, Options, Docking, use dock icon, default icon
mountapp picture Tool to mount/unmount devices
mountapp
wmmail picture A mail notification program
wmmail
wmmixer picture Mixer application
wmmixer -s -w
wmnd picture Shows a graph of incoming/outgoing network traffic
wmnd
wmpinboard picture Miniature pinboard including alarm functions
wmpinboard
wmtv picture TV application
wmtv -e 'xawtv "%f"'
wmusic picture Remote control for xmms
wmusic -t
Find more at www.bensinclair.com/dockapp and www.linuks.mine.nu/dockapp.


What about games?

Yes they exist, my favourites are nethack, jumpnbump, GNU Robbo, luola, freeciv and dopewars.


I-want-them-all-script will try to install all software mentioned here for you.


Further reading
The Linux Cookbook
Rute User's Tutorial and Exposition

If you are happy with your new system I would like to hear from you. And don't forget to register at www.linuxcounter.org. Also register at www.linuks.mine.nu/debian-worldmap/


This document is also available in other languages
Türkçe thanks to Fatih YILMAZ (experience) for translation, experience@email.com, linux.projesi.com, icq 13345035
Deutsch thanks to Marc Ruef for translation, marc.ruef@computec.ch, www.computec.ch, icq 10742206
Español thanks to Maximiliano Palermo for translation, max_drake2001@yahoo.com.ar, www.bahiapinguino.550m.com
Italian thanks to Rocco Gagliardi for translation, rocco_gagliardi@gmx.net, http://lupig.mine.nu
French thanks to Nicolas Berdugo for translation, nico@mandrakesoft.com
Finnish thanks to Lassi Maasalo for translation, lash@jousi.nipponfever.com
English Gürkan Sengün


Gürkan Sengün (gurkan@linuks.mine.nu), Version 0.4.4.1, last changed on 6 October 2003