Slackware Linux Essentials: Tutorial 06

Chapter 6 X Configuration
Table of Contents
6.1 xorgconfig
6.2 xorgsetup
6.3 xinitrc
6.4 xwmconfig
6.5 xdm

Starting with Slackware-10.0, the X Window environment in Slackware is provided by Xorg. X is responsible for providing a graphical user interface. It is independent from the operating system, unlike Windows or the MacOS.

The X Window System is implemented through many programs that run in userland. The two main components are the server and the window manager. The server provides the lowlevel functions for interacting with your video hardware, thus it is system specific. The window manager sits on top of the server and provides the user interface. The advantage to this is you can have many different graphical interfaces by simply changing the window manager you use.

Configuring X can be a complex task. The reason for this is the vast numbers of video cards available for the PC architecture, most of which use different programming interfaces. Luckily, most cards today support basic video standards known as VESA, and if your card is among them you'll be able to start X using the startx command right out of the box.

If this doesn't work with your card, or if you'd like to take advantage of the high-performance features of your video card such as hardware acceleration or 3-D hardware rendering, then you'll need to reconfigure X.

To configure X, you'll need to make an /etc/X11/xorg.conf file. This file contains lots of details about your video hardware, mouse, and monitor. It's a very complex configuration file, but fortunately there are several programs to help create one for you. We'll mention a few of them here.

6.1 xorgconfig
This is a simple menu driven frontend that's similar in feel to the Slackware installer. It simply tells the X server to take a look at the card, and then set up the best initial configuration file it can make based on the information it gathers. The generated /etc/X11/xorg.conf file should be a good starting point for most systems (and should work without modification).

This is a text-based X configuration program that's designed for the advanced system administrator. Here's a sample walkthrough using xorgconfig. First, start the program:

# xorgconfig


This will present a screenful of information about xorgconfig. To continue, press ENTER. xorgconfig will ask you to verify you have set your PATH correctly. It should be fine, so go ahead and hit ENTER.

Figure 6-1. xorgconfig Mouse Configuration



Select your mouse from the menu presented. If you don't see your serial mouse listed, pick the Microsoft protocol -- it's the most common and will probably work. Next xorgconfig will ask you about using ChordMiddle and Emulate3Buttons. You'll see these options described in detail on the screen. Use them if the middle button on your mouse doesn't work under X, or if your mouse only has two buttons (Emulate3Buttons lets you simulate the middle button by pressing both buttons simultaneously). Then, enter the name of your mouse device. The default choice, /dev/mouse, should work since the link was configured during Slackware setup. If you're running GPM (the Linux mouse server) in repeater mode, you can set your mouse type to /dev/gpmdata to have X get information about the mouse through gpm. In some cases (with busmice especially) this can work better, but most users shouldn't do this.

xorgconfig will ask you about enabling special key bindings. If you need this say “y”. Most users can say “n” -- enter this if you're not sure.

Figure 6-2. xorgconfig Horizontal Sync



In the next section you enter the sync range for your monitor. To start configuring your monitor, press ENTER. You will see a list of monitor types -- choose one of them. Be careful not to exceed the specifications of your monitor. Doing so could damage your hardware.

Figure 6-3. xorgconfig Vertical Sync



Specify the vertical sync range for your monitor (you should find this in the manual for the monitor). xorgconfig will ask you to enter strings to identify the monitor type in the xorg.conf file. Enter anything you like on these 3 lines (including nothing at all).

Figure 6-4. xorgconfig Video Card



Now you have the opportunity to look at the database of video card types. You'll want to do this, so say “y”, and select a card from the list shown. If you don't see your exact card, try selecting one that uses the same chipset and it will probably work fine.

Next, tell xorgconfig how much RAM you have on your video card. xorgconfig will want you to enter some more descriptive text about your video card. If you like, you can enter descriptions on these three lines.

You'll then be asked which display resolutions you want to use. Again, going with the provided defaults should be fine to start with. Later on, you can edit the /etc/X11/xorg.conf file and rearrange the modes so 1024x768 (or whatever mode you like) is the default.

At this point, the xorgconfig program will ask if you'd like to save the current configuration file. Answer yes, and the X configuration file is saved, completing the setup process. You can start X now with the startx command.

http://www.slackbook.org/html/x-window-system.html

Slackware Linux Essentials: Tutorial 05

Chapter 5 Network Configuration
Table of Contents
5.1 Introduction: netconfig is your friend.
5.2 Network Hardware Configuration
5.3 TCP/IP Configuration
5.4 PPP
5.5 Wireless
5.6 Network File Systems
5.1 Introduction: netconfig is your friend.

When you initially installed Slackware, the setup program invoked the netconfig program. netconfig attempted to perform the following functions for you:

•It asked you for the name of your computer, and the domain name for your computer.

•It gave a brief explanation of the various types of addressing schemes, told when they should be used, and asked you which IP addressing scheme you wished to use to configure your network card:

◦Static-IP

◦DHCP

◦Loopback




•It then offered to probe for a network card to configure.

netconfig will generally take care of about 80% of the work of configuring your LAN network connection if you will let it. Note that I would strongly suggest that you review your config file for a couple of reasons:

1.You should never trust a setup program to properly configure your computer. If you use a setup program, you should review the configuration yourself.

2.If you are still learning Slackware and Linux system management, viewing a working configuration can be helpful. You'll at least know what the configuration should look like. This will allow you to correct problems due to misconfiguration of the system at a later date.

http://www.slackbook.org/html/network-configuration.html

Slackware Linux Essentials: Tutorial 04

Chapter 4 System Configuration
Table of Contents
4.1 System Overview
4.2 Selecting a Kernel

Before you can configure the more advanced parts of your system, it's a good idea to learn how the system is organized and what commands can be used to search for files and programs. It's also good to know if you need to compile a custom kernel and what the steps for doing that are. This chapter will familiarize you with system organization and configuration files. Then, you can move on to configuring the more advanced parts of the system.

4.1 System Overview
It's important to understand how a Linux system is put together before diving into the various configuration aspects. A Linux system is significantly different from a DOS, Windows, or Macintosh system (with the exception of the Unix-based Mac OS X), but these sections will help you get acquainted with the layout so that you can easily configure your system to meet your needs.

4.1.1 File System Layout
The first noticeable difference between Slackware Linux and a DOS or Windows system is the filesystem. For starters, we do not use drive letters to denote different partitions. Under Linux, there is one main directory. You can relate this to the C: drive under DOS. Each partition on your system is mounted to a directory on the main directory. It's kind of like an ever-expanding hard disk.

We call the main directory the root directory, and it's denoted with a single slash (/). This concept may seem strange, but it actually makes life easy for you when you want to add more space. For example, let's say you run out of space on the drive that has /home on it. Most people install Slackware and make one big root drive. Well, since a partition can be mounted to any directory, you can simply go to the store and pick up a new hard drive and mount it to /home. You've now grafted on some more space to your system. And all without having to move many things around.

Below, you will find descriptions of the major top level directories under Slackware.

bin
Essential user programs are stored here. These represent the bare minimum set of programs required for a user to use the system. Things like the shell and the filesystem commands (ls, cp, and so on) are stored here. The /bin directory usually doesn't receive modification after installation. If it does, it's usually in the form of package upgrades that we provide.

boot
Files that are used by the Linux Loader (LILO). This directory also receives little modification after an installation. The kernel is stored here as of Slackware 8.1. In earlier releases of Slackware, the kernel was simply stored under / , but common practice is to put the kernel and related files here to facilitate dual-booting.

dev
Everything in Linux is treated as a file, even hardware devices like serial ports, hard disks, and scanners. In order to access these devices, a special file called a device node has to be present. All device nodes are stored in the /dev directory. You will find this to be true across many Unix-like operating systems.

etc
This directory holds system configuration files. Everything from the X Window configuration file, the user database, to the system startup scripts. The system administrator will become quite familiar with this directory over time.

home
Linux is a multiuser operating system. Each user on the system is given an account and a unique directory for personal files. This directory is called the user's home directory. The /home directory is provided as the default location for user home directories.

lib
System libraries that are required for basic operation are stored here. The C library, the dynamic loader, the ncurses library, and kernel modules are among the things stored here.

mnt
This directory contains temporary mount points for working on hard disks or removable drives. Here you'll find mount points for your CD-ROM and floppy drives.

opt
Optional software packages. The idea behind /opt is that each software package installs to /opt/software-package, which makes it easy to remove later. Slackware distributes some things in /opt (such as KDE in /opt/kde), but you are free to add anything you want to /opt.

proc
This is a unique directory. It's not really part of the filesystem, but a virtual filesystem that provides access to kernel information. Various pieces of information that the kernel wants you to know are conveyed to you through files in the /proc directory. You can also send information to the kernel through some of these files. Try doing cat /proc/cpuinfo.

root
The system administrator is known as root on the system. root's home directory is kept in /root instead of /home/root. The reason is simple. What if /home was a different partition from / and it could not be mounted? root would naturally want to log in and repair the problem. If his home directory was on the damaged filesystem, it would make it difficult for him to log in.

sbin
Essential programs that are run by root and during the system bootup process are kept here. Normal users will not run programs in this directory.

tmp
The temporary storage location. All users have read and write access to this directory.

usr
This is the big directory on a Linux system. Everything else pretty much goes here, programs, documentation, the kernel source code, and the X Window system. This is the directory to which you will most likely be installing programs.

var
System log files, cache data, and program lock files are stored here. This is the directory for frequently-changing data.

You should now have a good feel for which directories contain what on the filesystem. More detailed information about the filesystem layout is available in the hier(7) man page. The next section will help you find specific files easily, so you don't have to do it by hand.

4.1.2 Finding Files
You now know what each major directory holds, but it still doesn't really help you find things. I mean, you could go looking through directories, but there are quicker ways. There are four main file search commands available in Slackware.

4.1.2.1 which
The first is the which(1) command. which is usually used to locate a program quickly. It just searches your PATH and returns the first instance it finds and the directory path to it. Take this example:

% which bash
/bin/bash


From that you see that bash is in the /bin directory. This is a very limited command for searching, since it only searches your PATH.

4.1.2.2 whereis
The whereis(1) command works similar to which, but can also search for man pages and source files. A whereis search for bash should return this:

% whereis bash
bash: /bin/bash /usr/bin/bash /usr/man/man1/bash.1.gz


This command not only told us where the actual program is located, but also where the online documentation is stored. Still, this command is limited. What if you wanted to search for a specific configuration file? You can't use which or whereis for that.

4.1.2.3 find
The find(1) command allows the user to search the filesystem with a rich collection of search predicates. Users may specify a search with filename wildcards, ranges of modification or creation times, or other advanced properties. For example, to search for the default xinitrc file on the system, the following command could be used.

% find / -name xinitrc
/var/X11R6/lib/xinit/xinitrc


find will take a while to run, since it has to traverse the entire root directory tree. And if this command is run as a normal user, there will be permission denied error messages for directories that only root can see. But find found our file, so that's good. If only it could be a bit faster...

4.1.2.4 slocate
The slocate(1) command searches the entire filesystem, just like the find command can do, but it searches a database instead of the actual filesystem. The database is set to automatically update every morning, so you have a somewhat fresh listing of files on your system. You can manually run updatedb(1) to update the slocate database (before running updatedb by hand, you must first su to the root user). Here's an example of slocate in action:

% slocate xinitrc # we don't have to go to the root
/var/X11R6/lib/xinit/xinitrc
/var/X11R6/lib/xinit/xinitrc.fvwm2
/var/X11R6/lib/xinit/xinitrc.openwin
/var/X11R6/lib/xinit/xinitrc.twm


We got more than what we were looking for, and quickly too. With these commands, you should be able to find whatever you're looking for on your Linux system.

4.1.3 The /etc/rc.d Directory
The system initialization files are stored in the /etc/rc.d directory. Slackware uses the BSD-style layout for its initialization files as opposed to System V init scripts, which tend to make configuration changes much more difficult without using a program specifically designed for that purpose. In BSD-init scripts, each runlevel is given a single rc file. In System V, each runlevel is given its own directory, each containing numerous init scripts. This provides an organized structure that is easy to maintain.

There are several categories of initialization files. These are system startup, runlevels, network initialization, and System V compatibility. As per tradition, we'll lump everything else into another category.

4.1.3.1 System Startup
The first program to run under Slackware besides the Linux kernel is init(8). This program reads the /etc/inittab(5) file to see how to run the system. It runs the /etc/rc.d/rc.S script to prepare the system before going into your desired runlevel. The rc.S file enables your virtual memory, mounts your filesystems, cleans up certain log directories, initializes Plug and Play devices, loads kernel modules, configures PCMCIA devices, sets up serial ports, and runs System V init scripts (if found). Obviously rc.S has a lot on its plate, but here are some scripts in /etc/rc.d that rc.S will call on to complete its work:

rc.S
This is the actual system initialization script.

rc.modules
Loads kernel modules. Things like your network card, PPP support, and other things are loaded here. If this script finds rc.netdevice, it will run that as well.

rc.pcmcia
Probes for and configures any PCMCIA devices that you might have on your system. This is most useful for laptop users, who probably have a PCMCIA modem or network card.

rc.serial
Configures your serial ports by running the appropriate setserial commands.

rc.sysvinit
Looks for System V init scripts for the desired runlevel and runs them. This is discussed in more detail below.

4.1.3.2 Runlevel Initialization Scripts
After system initialization is complete, init moves on to runlevel initialization. A runlevel describes the state that your machine will be running in. Sound redundant? Well, the runlevel tells init if you will be accepting multiuser logins or just a single user, whether or not you want network services, and if you will be using the X Window System or agetty(8) to handle logins. The files below define the different runlevels in Slackware Linux.

rc.0
Halt the system (runlevel 0). By default, this is symlinked to rc.6.

rc.4
Multiuser startup (runlevel 4), but in X11 with KDM, GDM, or XDM as the login manager.

rc.6
Reboot the system (runlevel 6).

rc.K
Startup in single user mode (runlevel 1).

rc.M
Multiuser mode (runlevels 2 and 3), but with the standard text-based login. This is the default runlevel in Slackware.

4.1.3.3 Network Initialization
Runlevels 2, 3, and 4 will start up the network services. The following files are responsible for the network initialization:

rc.inet1
Created by netconfig, this file is responsible for configuring the actual network interface.

rc.inet2
Runs after rc.inet1 and starts up basic network services.

rc.atalk
Starts up AppleTalk services.

rc.httpd
Starts up the Apache web server. Like a few other rc scripts, this one can also be used to stop and restart a service. rc.httpd takes arguments of stop, start, or restart.

rc.news
Starts up the news server.

4.1.3.4 System V Compatibility
System V init compatibility was introduced in Slackware 7.0. Many other Linux distributions make use of this style instead of the BSD style. Basically each runlevel is given a subdirectory for init scripts, whereas BSD style gives one init script to each runlevel.

The rc.sysvinit script will search for any System V init scripts you have in /etc/rc.d and run them, if the runlevel is appropriate. This is useful for certain commercial software packages that install System V init scripts

4.1.3.5 Other Files
The scripts described below are the other system initialization scripts. They are typically run from one of the major scripts above, so all you need to do is edit the contents.

rc.gpm
Starts up general purpose mouse services. Allows you to copy and paste at the Linux console. Occasionally, gpm will cause problems with the mouse when it is used under X windows. If you experience problems with the mouse under X, try taking away the executable permission from this file and stopping the gpm server.

rc.font
Loads the custom screen font for the console.

rc.local
Contains any specific startup commands for your system. This is empty after a fresh install, as it is reserved for local administrators. This script is run after all other initialization has taken place.

To enable a script, all you need to do is add the execute permissions to it with the chmod command. To disable a script, remove the execute permissions from it. For more information about chmod, see Section 9.2.

http://www.slackbook.org/html/system-configuration.html

Slackware Linux Essentials: Tutorial 03

Chapter 3 Installation
Table of Contents
3.1 Getting Slackware
3.2 System Requirements
3.3 Partitioning
3.4 The setup Program

Before you can use Slackware Linux, you'll have to obtain and install it. Getting Slackware is as easy as purchasing it or downloading it for free over the Internet. Installing it is also easy as long as you have some basic knowledge about your computer and are willing to learn a few other things. The installation program itself is very much a step-by-step process. Because of this, you can be up and running very quickly. In fact, Slackware boasts one of the lowest installation times of any full-featured Linux distribution.

3.1 Getting Slackware
3.1.1 The Official Disc and Box Sets
The official Slackware Linux CD set is available from Slackware Linux, Inc. The CD set consists of 4 discs. The first disk contains all the software needed for a basic server install, and the X window system. The second cd is a “live” cd; that is, a bootable cd that installs into RAM and gives you a temporary installation to play around with or do a data or machine rescue. This cd also contains a few packages such as the KDE and GNOME desktop environments. A few other goodies are included on the second cd including many non-vital packages in the “extra” folder. The third and fourth CDs contain the source code to all of Slackware, along with the original edition of this book.

One may also purchase a boxed set that includes the 4 discs and a copy of this book, as well as lots of neat Slackware gear to show off your geek pride. CD subscriptions are available at a reduced rate also.

The preferred method for shopping for Slackware merchandise is online at the Slackware store.

http://store.slackware.com

You can also call or e-mail your order in.

Table 3-1. Slackware Linux, Inc. Contact Information

Method Contact Details
Telephone 1-(925) 674-0783
Website http://store.slackware.com
Email orders@slackware.com
Postal 1164 Claremont Drive, Brentwood, CA 94513

3.1.2 Via the Internet
Slackware Linux is also freely available over the Internet. You may email in your support questions, but higher priority will be given to those who have purchased the official CD set. With that said, we get a lot of e-mails and our time is rather limited. Before e-mailing for support consider reading Chapter 2 first.

The official Slackware Linux Project website is located at:

http://www.slackware.com/

The primary FTP location for Slackware Linux is:

ftp://ftp.slackware.com/pub/slackware/

Bear in mind that our ftp site, while open for general use, does not have unlimited bandwidth. Please consider using a mirror near you to download Slackware. An incomplete list of mirrors can be found on our site at http://www.slackware.com/getslack.

http://www.slackbook.org/html/installation.html

Slackware Linux Essentials: Tutorial 02

Chapter 2 Help
Table of Contents
2.1 System Help
2.2 Online Help

Often there are times when you might need help with a specific command, setting up a program, or getting a piece of hardware to work. Maybe you simply want to understand a given command better, or see what other options are available to use with it. Luckily, there are a variety of ways that you can get the help you're looking for. When you install Slackware you have the option of installing packages from the “F” series which includes FAQs and HOWTOs. Programs also come with help about their options, configuration files, and usage.

2.1 System Help
2.1.1 man
The man command (short for “manual”) is the traditional form of online documentation in Unix and Linux operating systems. Comprised of specially formatted files, the “man pages”, are written for the vast majority of commands and are distributed with the software itself. Executing man somecommand will display the man page for (naturally) the command specified, in our example this would be the imaginary program somecommand.

As you might imagine, the amount of man pages can quickly add up, becoming overly confusing and seriously complicated, even for an advanced user. So, for this reason, man pages are grouped into enumerated sections. This system has been around for a very long time; enough so that you will often see commands, programs, and even programming library functions referred to with their man section number.

For example:

You might see a reference to man(1). The numbering tells you that “man” is documented in section 1 (user commands); you can specify that you want the section 1 man page for “man” with the command man 1 man. Specifying the section that man should look in is useful in the case of multiple items with the same name.

Table 2-1. Man Page Sections

Section Contents
Section 1 user commands (intro only)
Section 2 system calls
Section 3 C library calls
Section 4 devices (e.g., hd, sd)
Section 5 file formats and protocols (e.g., wtmp, /etc/passwd, nfs)
Section 6 games (intro only)
Section 7 conventions, macro packages, etc. (e.g., nroff, ascii)
Section 8 system administration (intro only)

In addition to man(1), there are the commands whatis(1) and apropos(1) available to you, whose shared purpose is to make it easier to find information in the man system.

The command whatis gives a very brief description of system commands, somewhat in the style of a pocket command reference.

Example:

% whatis whatis
whatis (1) - search the whatis database for complete words


The command apropos is used to search for a man page containing a given keyword.

Example:

% apropos wav
cdda2wav (1) - a sampling utility that dumps CD audio data into wav sound files
netwave_cs (4) - Xircom Creditcard Netwave device driver
oggdec (1) - simple decoder, Ogg Vorbis file to PCM audio file (WAV or RAW)
wavelan (4) - AT&T GIS WaveLAN ISA device driver
wavelan_cs (4) - AT&T GIS WaveLAN PCMCIA device driver
wvlan_cs (4) - Lucent WaveLAN/IEEE 802.11 device driver


If you'd like further information on any of these commands, read their man pages for the details. ;)

2.1.2 The /usr/doc Directory
The source for most packages that we build comes with some sort of documentation: README files, usage instructions, license files, etc. Any sort of documentation that comes with the source is included and installed on your system in the /usr/doc directory. Each program will (usually) install its own documentation in the order of:

/usr/doc/$program-$version

Where $program is the name of the program you are wanting to read about, and $version is (obviously) the appropriate version of software package installed on your system.

For example, to read the documentation for the command man(1) you would want to cd to:

% cd /usr/doc/man-$version


If reading the appropriate man page(s) doesn't provide you with enough information, or address what you're looking for in particular, the /usr/doc directory should be your next stop.

2.1.3 HOWTOs and mini-HOWTOs
It is in the truest spirit of the Open Source community that brings us to the HOWTO/mini-HOWTO collection. These files are exactly what they sound like - documents and guides describing how to do stuff. If you installed the HOWTO collection, the HOWTOs will be installed to /usr/doc/Linux-HOWTOs and the mini-HOWTOs to /usr/doc/Linux-mini-HOWTOs.

Also included in the same package series is a collection of FAQs, which is an acronym which stands for

Frequently
Asked
Questions

These documents are written in a “Question and answer” style for (surprise) Frequently Asked Questions. The FAQs can often be a very useful place to look if you're just looking for a “Quick Fix” to something. If you decide to install the FAQs during setup, you will find them installed to the /usr/doc/Linux-FAQs directory.

These files are well worth reading whenever you're not quite sure how to proceed with something. They cover an amazing range of topics, more often than not in a surprisingly detailed manner. Good stuff!

http://www.slackbook.org/html/help.html

Slackware Linux Essentials: Tutorial 01

Chapter 1: An Introduction to Slackware Linux

Table of Contents
1.1 What is Linux?
1.2 What is Slackware?
1.3 Open Source and Free Software
1.1 What is Linux?

Linus Torvalds started Linux, an operating system kernel, as a personal project in 1991. He started the project because he wanted to run a Unix-based operating system without spending a lot of money. In addition, he wanted to learn the ins and outs of the 386 processor. Linux was released free of charge to the public so that anyone could study it and make improvements under the General Public License. (See Section 1.3 and Appendix A for an explanation of the license.) Today, Linux has grown into a major player in the operating system market. It has been ported to run on a variety of system architectures, including HP/Compaq's Alpha, Sun's SPARC and UltraSPARC, and Motorola's PowerPC chips (through Apple Macintosh and IBM RS/6000 computers.) Hundreds, if not thousands, of programmers all over the world now develop Linux. It runs programs like Sendmail, Apache, and BIND, which are very popular software used to run Internet servers. It's important to remember that the term “Linux” really refers to the kernel - the core of the operating system. This core is responsible for controlling your computer's processor, memory, hard drives, and peripherals. That's all Linux really does: It controls the operations of your computer and makes sure that all of its programs behave. Various companies and individuals bundle the kernel and various programs together to make an operating system. We call each bundle a Linux distribution.

1.1.1 A Word on GNU
The Linux kernel project began as a solo endeavor by Linus Torvalds in 1991, but as Isaac Newton once said, “If I have seen further, it is by standing on the shoulders of giants.” When Linus Torvalds began the kernel the Free Software Foundation had already established the idea of collaborative software. They entitled their effort GNU, a recursive acronym that means simply “GNU's Not Unix”. GNU software ran atop the Linux kernel from day 1. Their compiler gcc was used to compile the kernel. Today many GNU tools from gcc to gnutar are still at the basis of every major Linux distribution. For this reason many of the Free Software Foundation's proponents fervently state that their work should be given the same credit as the Linux kernel. They strongly suggest that all Linux distributions should refer to themselves as GNU/Linux distributions.

This is the topic of many flamewars, surpassed only by the ancient vi versus emacs holy war. The purpose of this book is not to fan the fires of this heated discussion, but rather to clarify the terminology for neophytes. When one sees GNU/Linux it means a Linux distribution. When one sees Linux they can either be referring to the kernel, or to a distribution. It can be rather confusing. Typically the term GNU/Linux isn't used because it's a mouth full.

http://www.slackbook.org/html/introduction.html

Choose and Register a Domain Name

Find the best web address and protect it with domain name registration.

To do business on the Web, you'll need at least one domain name -- the .com or .net website identifier that has become so familiar (and sometimes annoying) in commercials and print advertising. You may want to use your business name as your domain name, with .com or .net tacked on at the end -- or you might pick a new domain name that you think will draw people to your site.

To help your website, and business, flourish, pick a domain name that:

- is easy for Web users to remember and find
- suggests the nature of your product or service
- serves as a strong trademark so competitors won't be able to use a business name or domain name similar to it, and
- is free of legal conflicts with trademarks belonging to other businesses.

Choosing a Domain Name
The best domain names are often the simple ones -- short, memorable, clever, and easy to spell and pronounce. Nevertheless, you must weigh the sometimes competing concerns of a Web-friendly name with the importance of obtaining trademark protection for the name you choose.

Can You Get Trademark Protection?
Straightforward domain names that describe a business's product or service are more difficult to protect as trademarks than distinctive and clever domain names. Many good domain names -- for instance, coffee.com, drugs.com, and business.com -- are not eligible for much trademark protection because they aren't unique; they identify whole categories of products or services. Likewise, domain names that use geographic identifiers or surnames are less likely to receive trademark protection -- unless your name happens to be Dr. Koop or something equally famous.