Virtual Network Computing
In today's changing world, an increasing number of UNIX system administrators are finding they need to support Windows NT servers in their work environments. Whether Exchange or application servers, NT servers are starting to creep into what were once UNIX-only shops. The responsibility of managing an NT server can be discouraging to any UNIX guru. UNIX users are used to the flexibility of the X Window System—the ability to run applications easily on any UNIX server and have remote X applications display on the local desktop. It is much more difficult to manage NT servers remotely and the administrator usually needs to be at the system's console to run most NT applications.
Several commercial products allow MS Windows applications to be controlled remotely from an X desktop. In addition, there are several commercial X servers for MS Windows which allow the opposite. However, until recently an equivalent free software package was not available.
Researchers at the Olivetti & Oracle Research Laboratory (ORL) have released the VNC software package under the GNU general public license. VNC, which stands for Virtual Network Computing, is a client/server-based, stateless, platform-independent protocol developed at ORL. This protocol implements a remote display system in which a user is allowed to control a computing “desktop” managed by a VNC server, by connecting to it from a VNC client application called a “viewer”. VNC servers currently exist for Windows 95/NT, Macintosh and UNIX. A variety of VNC clients exist as well for a number of operating systems. Figure 1 shows all the connections currently possible with the VNC protocol. Many of the VNC viewers are ported by users on the Net. ORL supplies precompiled server and client binaries for Windows 95/NT, Macintosh, Linux, Digital UNIX and Solaris. In addition, ORL provides a Windows CE client.
In this article, I will discuss how to set up the VNC software, allowing you to control a Windows desktop from Linux running the X Window System (probably the most common use of VNC for Linux users).
ORL provides an x86 Linux 2.0 binary that works great with Red Hat 5.1 and can be retrieved from their download page (see Resources). Once you have the package, unarchive it using gunzip and tar. The binary distribution provides no installation script, but for our purposes we simply need to have root copy the viewer binary, vncviewer, into a suitable location accessible by others, such as /usr/local/bin.
ORL provides a precompiled Windows 95/NT binary supplied as a package that can also be downloaded from their download page. The package installs like most other Windows software packages, i.e., using InstallShield. The VNC server (WinVNC) can be installed as a regular application (started/stopped by the user currently logged on to the console) or as an NT service (starts automatically when NT boots; does not exit when user logs out). Installation as a service is a new feature in recent versions of WinVNC. The latest version at the time of writing, is 3.3.2R5. VNC is actively developed, so a newer version of the software will most likely be ready to download by the time you read this. I recommend installing WinVNC as a service so that the VNC server is always running and you do not have to remain logged in on the Windows console at all times.
To install WinVNC as a service, simply install the package as you would normally install any other Windows application, then type in a command window:
cd WinVNC.exe -install WinVNC.exe -run # or reboot NT to have the<\n> # service start automatically
The Linux VNC viewer requires no configuration to use. However, the Windows VNC server does require some minor configuration. To bring up the configuration window, either right-click on the WinVNC icon in the Windows NT/95 system tray and select Properties, or open a DOS command window and type:
cd WinVNC.exe -settings
In the configuration window, shown in Figure 2, the following options can be set:
Make sure Accept Socket Connections is selected. If this option is not checked, all incoming connections will be disabled.
The Display Number can be left at 0. This value is specified when using a VNC viewer to connect to this server.
Set a Password to secure access to this VNC desktop (a good idea). When connecting to this VNC server via a viewer, you will be prompted for the same password.
If Disable Remote Keyboard & Pointer is selected, all incoming viewer connections will be able to see the desktop but will not be able to move the mouse or type anything (a read-only connection).
In the Update Handling section, various options can be turned on/off to control how the VNC server sends “desktop changes” to a VNC viewer. See http://www.orl.co.uk/vnc/winvnc.html for in-depth explanations on the pros and cons of each option.
Press the Ok or Apply button to apply your configuration changes.
Fast/Flexible Linux OS Recovery
On Demand Now
In this live one-hour webinar, learn how to enhance your existing backup strategies for complete disaster recovery preparedness using Storix System Backup Administrator (SBAdmin), a highly flexible full-system recovery solution for UNIX and Linux systems.
Join Linux Journal's Shawn Powers and David Huffman, President/CEO, Storix, Inc.
Free to Linux Journal readers.Register Now!
- Devuan Beta Release
- May 2016 Issue of Linux Journal
- EnterpriseDB's EDB Postgres Advanced Server and EDB Postgres Enterprise Manager
- The US Government and Open-Source Software
- The Humble Hacker?
- The Death of RoboVM
- BitTorrent Inc.'s Sync
- Open-Source Project Secretly Funded by CIA
- New Container Image Standard Promises More Portable Apps
- AdaCore's SPARK Pro
In modern computer systems, privacy and security are mandatory. However, connections from the outside over public networks automatically imply risks. One easily available solution to avoid eavesdroppers’ attempts is SSH. But, its wide adoption during the past 21 years has made it a target for attackers, so hardening your system properly is a must.
Additionally, in highly regulated markets, you must comply with specific operational requirements, proving that you conform to standards and even that you have included new mandatory authentication methods, such as two-factor authentication. In this ebook, I discuss SSH and how to configure and manage it to guarantee that your network is safe, your data is secure and that you comply with relevant regulations.Get the Guide