APLawrence.com -  Resources for Unix and Linux Systems, Bloggers and the self-employed

Basic Home Networking, Part 3, File and Printer Sharing

© August 2011 Anthony Lawrence

The point of a home network is sharing. You might not be sharing much, perhaps even only the Internet connection. If that's the end of it, you don't need much more than part one of this series, which deals with the setup of a basic home network.

However, it certainly can be convenient to share more. Why should only one computer be able to print or scan things? What if you'd like to transfer some files to another of your home computers?

If you are working on your laptop at one end of the house, you might even want to access and control your desktop back at your desk. That's a possibility, too.

Sharing will be the subject of this part of the series.

Sharing Printers and files

One of the worst ways to share a printer in a home network is the one you often see recommended, which is to attach the printer to one computer and then share it using networking sharing tools built in to the operating system.

The disadvantage of this is that the computer that has the printer has to be turned on for any other printing to occur. If there is no other reason to have it turned on, you are just wasting electricity. Many printers have built in networking capability and, if not, can be attached to a network print server instead.

Print servers

Network print servers plug into your network or can even use your wireless network. They have serial, parallel or usb ports to which you attach your printer. The printer is then available to any computer on the network at the IP address of the print server.

This allows the printer to be located anywhere - it no longer has to be near a computer.

Installation of these devices is generally easy. They almost always come with an installation disk that will guide you through setting up the server and the printer or printers. Most of these are either LPR/LPD printers or direct port printers; support for both of those protocols is built into Windows, Mac OS X and Linux. A few have very odd software interfaces and require special drivers to be installed; I would advise avoiding those. HP print servers are direct port (often called Jet Direct), are easy to use and very reliable, but also tend to be more expensive - they are still my first choice.


One issue you may see with newer print servers and older parallel port printers is a setting for Enhanced Parallel Port or Standard Parallel port; with older printers you want Standard.

Something that can be a bit confusing with Windows is that when you add a network print server (or network printer), you usually say that it is a Local Printer rather than a Network Printer (it's shared printers that you define as Network printers, oddly). For a direct port or LPR device, you then add a new port (TCP/IP or LPR), specifying the IP address and port (9100 for HP and many others, sometimes 4010 for Netgear). Usually the software supplied with the device can also do this for you, but I find it is often quicker to just do it myself.

Wireless versions are of course a little trickier, usually requiring an initial wired connection for setup. Other than that, they work like their wired cousins.

Sharing from a computer

However, sharing from a computer does have advantages. For one thing, it is cheap: there's nothing else to buy, everything you need is built right into your operating system (Mac, Windows, Linux with Samba).

Unfortunately, this can also get fairly complicated and especially so if you have a mixed lot of computers running different operating systems. Homogenous networks tend to be pretty simple.


XP: If you aren't part of a network domain, XP defaults to Simple File Sharing, and that really is simple: right click on a folder, click that you want to share it, give it a share name, and finally check whether or not other users can write to files. For small networks, that's probably exactly what you want: no user names, no complicated permissions, just simple access, with the only option being to turn off the default of read-only. If you don't pick that, XP takes you through a much more complex setup procedure. I recommend that you just "turn it on" - that is sufficient for most home and small office use situations.

If you want more powerful sharing, see Microsoft File Sharing. This gives you the ability to specify ACL's for particular users and/or groups, saying whether or not John can read or Harry can write and so on.

Win 7: If you just have two or three brand new Windows 7 computers at home, setting up sharing is very easy: you just use the "HomeGroup" feature in Control Panel.

If you want more than that, see Windows 7 File sharing essentials.

Mixed machines: It's when we start mixing things that it gets more complicated. For example, you need to do a bit more work if you want to share printers on a Windows 7 machine with Windows XP or vice versa.

Macintosh sharing

Mac printer sharing

On a homogenous Mac network, you start by clicking "Share this Printer on the Network" in the Print & Fax Preferences pane and then, on another Mac, go to the same Preference Pane, click the "+" to add a new printer, and select the shared printer listed under the Kind tab as Shared Printer.

A group of Linux machines isn't much more difficult; you'd simply configure Samba to use the same Workgroup and, by default, printers are shared automatically. If that isn't true for your systems, a quick edit of smb.conf will suffice or use Swat to add or delete printer shares.

Domains and Workgroups

Changing the Workgroup name in XP: Control Panel- System- Computer Name

Most home users do NOT want to set up a domain on their network. Some business users shouldn't either. A domain does offer advantages, but it is more complicated to set up and manage and is also more expensive unless you are using Linux and Samba as the Domain Controller.

Therefore, a Workgroup is the simple solution. A Windows machine can be in any Workgroup you wish; the default is MSHOME. You set the XP Workgroup name in Control Panel->System->Computer Name. It is similar on Windows 7 and Vista..

Generally you'd want all systems (Windows or Samba) to share the same workgroup name. This just makes it easier to find the other machines.

Getting Macs into your workgroup varies a bit with your version. Snow Leopard (OS X 10.6) is a little different from older versions, but it's never very difficult to do with Macs or Linux.

Mac browsing another Mac

Windows XP browsing Mac

As implied above, you need to pick the printers and files you want to share. With files, you can also assign passwords and optionally give other users the right to create new files or overwrite those that now exist.

It is similar on Macs and Linux, although these also add the ability to set different access rights to different users. You'd need a Domain Controller or at least XP Professional with Simple Sharing disabled to do that with Windows.

Hint: If you are not seeing the shared resources from other computers, a trick you can use from Windows is to choose Start->Run (or WindowsKey-R on Vista or Win 7) and type two backslashes and the computer name or ip address where the resources should be found.

For example, if I have shared files on, I would type


Note these are backslashes - leaning to the left - not forward slashes.

This should bring up any shares on the machine. You can also use the share name - if that doesn't work but the IP does, you have a NetBios issue.

If a printer is shared on that machine and you are running Windows, just double click on that printer to install it on your machine. I recommend using the share name rather than the IP address unless the IP will never change.

To access shared folders, just double click. However, unlike clicking on a printer, that action doesn't make anything permanent - when you reboot, you would have access to the printer but not shared folders.

Map Network Drive

If you'd like to have those resources always available, you can "map" a drive letter to a shared folder. This is easy enough to do unless there are multiple resources you want to map from the same machine.

Macs and Linux machines do not have the concept of "drives", so that isn't possible or even necessary. However, you can set them to automatically reconnect shared resources upon startup.

Sharing Desktops

You can also "share" your desktop. Almost all Windows operating systems support the Remote Desktop Protocol and RDP clients exist for Mac and Linux.

I prefer to use VNC. You can download TightVNC server (it is free) for Windows. VNC servers and clients are built into Mac OS X and are easily available for Linux.

The pictures here show me connecting from a Mac to a Windows XP machine running TightVNC. The server is configured to ask for a password, and after supplying it, I have full shared control of the XP machine.

Mac Go to Server to TightVNC Windows machine

TightVNC asks for password

Controlling XP from the MAC

I find this particularly useful when I want to take screenshots of Windows for support purposes - I connect from my Mac and use Skitch to capture screens such as those shown here. Skitch makes it easy to add markup like arrows or text notes to what I send to my customers.

Without VNC, I'd have to capture the screen on the Windows box using far less powerful and much more clumsy methods and then transfer it to the Mac for more editing and final transfer.

Got something to add? Send me email.

(OLDER)    <- More Stuff -> (NEWER)    (NEWEST)   

Printer Friendly Version

-> Basic Home Networking, Part 3, File and Printer Sharing

Inexpensive and informative Apple related e-books:

Take Control of IOS 11

Take Control of OS X Server

El Capitan: A Take Control Crash Course

Take control of Apple TV, Second Edition

Photos: A Take Control Crash Course

More Articles by © Anthony Lawrence

Printer Friendly Version

Have you tried Searching this site?

This is a Unix/Linux resource website. It contains technical articles about Unix, Linux and general computing related subjects, opinion, news, help files, how-to's, tutorials and more.

Contact us

Printer Friendly Version

In C++ it's harder to shoot yourself in the foot, but when you do, you blow off your whole leg. (Bjarne Stroustrup)

Linux posts

Troubleshooting posts

This post tagged:





Unix/Linux Consultants

Skills Tests

Unix/Linux Book Reviews

My Unix/Linux Troubleshooting Book

This site runs on Linode