Remote, Terminal, and Assisted Computing Terms and Definitions

Let's define some terms that will help us as we sally forth through this chapter:

  • Remote computing You might want to access a server in the basement and do an administrative task that would otherwise require access to the console. We'll call this remote computing .

  • Terminal computing You might want to centralize your applications on a single terminal server (sometimes known as an application server ) with numerous users logging on from simple, interchangeable PCs, or specialized terminal devices. The terminal server is going to actually run the application for us, but we'll just remotely connect to it. It's a lot like remote computing, but on a larger, multiuser scale. We'll refer to this as terminal computing .

    As we said, terminal computing's main job is to centralize applications on the server, but secondarily, it's to keep users out of each other's lives. That is, when Johnny is remotely using the server at the same time as Sally, they don't see the same desktop and they don't interfere with each other's activities. Terminal computing allows multiple users to log into the same server completely independently of one another and without interfering with one another. We'll get a feel for this a bit later.

    Note 

    When client workstations are used exclusively for terminal computing, they are sometimes referred to as "thin clients ." The term is particularly popular for workstations designed expressly to be used with a terminal server and not as standalone PCs.

  • Assisted computing You might want to help another user solve a problem with their PC while they watch and learn. This differs from remote computing in that you are remotely operating the same display they can see. That is, you're sharing the same consoleexcept you're not sitting in the user's lap. We'll call this assisted computing .

Windows and Linux can deliver all three kinds of "computing at a distance" just described. Because this book is all about integrating Windows and Linux together in the same organization, in this chapter we'll focus on solutions that allow Linux to remotely access Windows and vice versa.

To avoid confusion in this chapter, let's embrace a second set of definitions.

The host The computer to which we are remotely connecting.

The guest The computer we are physically typing and moving the mouse on. It controls stuff happening on the host.

If you were to buy a book specifically on, say, Microsoft Terminal Services, you wouldn't find these definitions. Indeed, you might think the words server and client would be most appropriate. However, the terms server and client are confusing in this context because users frequently connect remotely to both client workstations (for instance, to provide assisted computing) and to server systems (for terminal computing or remote administration). Except it's a "server" program that accepts your connection, and it's a "client" program that makes the outbound connection. Because of this, for the rest of this chapter, we'll reserve the terms server and client to refer only to specific software that plays a server or client role, such as VNC server software. We'll stick with host as the computer we're operating, and guest as the computer we're operating it from.

Let's examine the two main situations: Windows connecting to Linux under various conditions and Linux connecting to Windows under various conditions.

What tools help us connect a Linux guest to our Windows host? For remote computing (to make a connection to a server in a basement or in the server room), we'll use the Remote Desktop feature of Windows, which relies on the RDP (Remote Desktop Protocol). RDP clients are available for both Windows and Linux guests and work quite well.

For assisted computing (when someone needs help), it would be great to use Microsoft's Remote Assistance feature, but unfortunately the Linux RDP client currently doesn't support this. Fortunately, VNC (Virtual Network Computing) works quite well for assisted computing purposes and is widely available for both Windows and Linux, so we'll use VNC in this scenario.

For terminal computing (logging into a terminal server to do all or most of your computing tasks on the server, instead of installing applications on the local desktop), we'll use the Remote Desktop application in exactly the same way we use it for remote computing. Of course, we'll have to deal with licensing issues to permit numerous users to log on at the same time.

What tools help us connect a Windows guest to our Linux host? What about the opposite situation: Windows guests accessing a Linux host? Here VNC is always the answer. Linux doesn't have an application that can accept RDP requests and, since VNC guest (or viewer ) applications are easy to find for Windows, they make a great choice. We'll demonstrate how to accomplish remote, assisted, and terminal computing with VNC on a Linux host.

See the sidebar "RDP Versus VNC: Which Is Better?" for a more detailed discussion of the pros and cons of RDP and VNC.

image from book
RDP Versus VNC: Which Is Better?

RDP has certain advantages over VNC that usually make it the superior choice for remote computing when the host computer runs Windows.

There are currently no production-quality RDP host programs for Linux, although a guest application is available, and we will use it for Linux-to-Windows remote and terminal computing in this chapter.

The following table shows how RDP and VNC stack up in several feature areas. We'll discuss each of these feature areas in more detail. In many cases, workarounds are available for the shortcomings of VNC.

Feature

RDP

VNC

Built-in encryption

X

 

Optimized application integration

X

 

Sound

X

 

Printing

X

 

Linux hosts supported

 

X

Most guest devices

 

X

Open standard

 

X

Multiple spectators

 

X

Built-In Encryption RDP is secure out of the box. Encryption is built into the RDP protocol. Currently most VNC guest and host applications do not support encryption all by themselves , but that's not the whole story. The initial logon is secure, at least in an assisted computing configuration, but otherwise pretty much all other data goes across unencrypted. In a terminal computing configuration, the logon prompt itself is just another remotely displayed Linux application, so that is not encrypted either. However, since connecting to Linux host via RDP isn't an option, we'll show you how to encrypt a VNC connection to a Linux host by routing it over a secure ssh shell connection from a Windows guest. Or, if you don't want to "roll your own encryption," there are commercial VNC products that offer built-in encryption (available for both Windows and Linux) from RealVNC ( www.realvnc.com ). There is also the option of encrypting the entire network connection with a VPN (Virtual Private Network), as discussed in Chapter 9.

Optimized Application Integration RDP is tightly integrated into Windows. That means that incoming RDP connections to Windows have a lesser impact on the host than incoming VNC connections. Also, applications like Microsoft Internet Explorer are "RDP-aware" and can automatically choose to behave in a more network-friendly manner. Specifically, if you pull down the "Tools" menu of Internet Explorer and select "Internet Options," you'll notice this option, turned off by default: "Force offscreen compositing even under Terminal Server." What this means is that, by default, Internet Explorer is smart enough to deliver web pages to the screen in a slightly different way for the benefit of terminal server users. (The option exists to give users a way to force Internet Explorer to behave exactly the same as it would at the console. It's a bit confusing because turning this option on disables something.) No similar "remote-awareness" exists in, for instance, Firefox for Linux.

Sound and Printing When you connect an RDP host to an RDP guest, you can redirect the sound from the host so it plays on your guest. Ditto for printers physically attached to the guest when connecting a Windows RDP guest to a Windows RDP host. Right now, the Linux RDP client implements only sound. Of course, this is only an issue if you care about sound or about printing to a device attached to the guest computer. VNC does support the basic "system beep" bell sound. Alternative solutions to the printing problem exist, such as making the guest printer visible through network printing techniques discussed in Chapter 5.

Linux Hosts Supported Host software for VNC is available for non-Windows hosts. VNC host software (usually referred to as a "VNC server") is readily available for a very wide range of operating systems. As stated, on Windows, RDP is king, and RDP servers for non-Windows systems are rare, because the RDP specification is not freely available.

Most Guest Devices VNC guest software is available for a staggering range of devices, including Palm Pilots, Java-based cell phones, and other similar equipment. RDP guest applications do exist for some lightweight devices, especially those that run Windows CE. It should be noted that an RDP client is available from Microsoft for Mac OS X. The Linux client, rdesktop , has also been ported to several other operating systems, including Mac OS X.

Open Standard The Linux rdesktop RDP guest application does not currently offer redirected local printing. Printing is not supported in VNC either, but there are other ways around this problem (such as sharing the local printer over the network). Still, this brings up a larger issue: the challenge of maintaining full-featured compatibility with a closed standard. As of this writing, the RDP 5.0 specification is only available from Microsoft under a nondisclosure agreement (NDA). Since NDAs are incompatible with open source licenses, they usually cannot be signed by contributors to open source software like the rdesktop guest application. As with Samba, the added burden of reverse engineering makes full-featured compatibility harder to achieve.

Multiple Spectators In an assisted computing scenario, many VNC guests can connect to the same VNC host. Obviously, this is impractical if everyone is moving the mouse, but there is no limit on the number of "view-only" guests who may observe what is happening. This is potentially useful in training scenarios. Windows Remote Assistance supports only one guest at a time.

image from book
 


Windows and Linux Integration. Hands-on Solutions for a Mixed Environment
Windows And Linux Integration Hands-on Solutions for a Mixed Environment - 2005 publication.
ISBN: B003JFRFG0
EAN: N/A
Year: 2005
Pages: 71

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net