Hack 37 Run Remote Desktops 
Use a computer running Knoppix as a base for
remotely controlling other computers on the network via rdesktop or
xvncviewer.
System administrators often need to
be in two places at once. You might be on the phone walking a person
through a technical problem when you realize that it would be much
simpler if you could perform the problem-solving steps yourself. You
might need to perform the same task on multiple computers, such as a
manual virus or spyware scan or software update, that requires some
initial setup and then a lot of waiting. If you could access all of
the computers at the same time, you could start on the second
computer once the first got going. In any of these cases, you might
want to remotely control the computer, and with Knoppix, you can
connect to both Remote Desktop Protocol (RDP) and any Virtual Network
Computing (VNC) server using software on the CD. This hack explains
the steps and software required to turn any machine on the network
running Knoppix into a mobile command center for remotely controlling
all of the computers on your network.
5.2.1 VNC
VNC is an open source remote access
project created by AT&T Labs at Cambridge, U.K.
VNC's
original purpose was to enable remote access to computers running X
from thin clients that could be disconnected and reconnected later
from the same or another thin client. The fact that the software is
open source and runs on a variety of different platforms (Windows,
Linux, Solaris, and OS X among others) has made it rather popular to
both system administrators, who want a single program to remotely
control multiple platforms, and to programmers, who have improved the
VNC protocol by adding encryption and compressions and incorporated
it into their open source projects. The current open source version
of VNC is maintained by the company
RealVNC and can be
downloaded for free from its site at http://www.realvnc.com.
Knoppix includes the Linux RealVNC client
xvncviewer to connect
to remote VNC servers. For system administrators who are familiar
with that program, open a terminal, and type this command to connect
to a remote VNC server:
knoppix@ttyp0[knoppix]$ xvncviewer server :display#
Now type the password for that server at the prompt. The
xvncviewer program also has a large number of
options to enable full-screen mode and control settings such as color
depth. Use xvncviewer from the command line if
you are already experienced with the program or your connection
requires special options. If you're not comfortable
with the command line or don't have one open, you
can click on K Menu Internet More
Programs xvncviewer to launch a GUI that makes connecting to
remote machines quick and easy.
If you are completely new to VNC or you plan on managing multiple
connections at once, you might find the included KDE application
krdc (for KDE Remote
Desktop Connection) a better choice. Krdc allows
you to manage multiple VNC and RDP sessions from a single easy-to-use
program. To launch krdc, click K
Menu Internet Remote Desktop Connection. When first
run, you are presented with a simple window that prompts you to enter
the address of the computer to which you wish to connect. For a VNC
connection, this is as simple as typing the hostname or IP address
for the remote computer, followed by a colon and the display name.
Usually, the remote machine is running a single VNC session, so to
connect to the machine at the IP address 192.168.0.1, type the
following command and click Connect:
192.168.0.1:0
Krdc then prompts you for your connection type
so it can choose the settings that best suit your connection (such as
a lower color depth for low-speed connections). After configuring
your connection, krdc next prompts you for the
remote server's VNC password and, once it is
provided, connects you. Krdc superimposes a
small taskbar at the top of your VNC window that tells you which
server this window belongs to and allows you to toggle full-screen
mode and close or minimize the window. This taskbar is particularly
useful if you are in full-screen mode and can't
remember the key combination to escape it (Ctrl-Alt-Enter). If the
taskbar bothers you, you can easily set it to hide by clicking the
pushpin icon.
One nice feature of krdc is that it keeps track
of servers to which you have already connected, and the next time you
run the program you can quickly select your server from the drop-down
menu. Krdc also saves session information, and
you only have to enter settings, such as the resolution for the
remote connection and the connection rate, once.
5.2.2 RDP
Knoppix also comes with tools to
connect to servers accepting RDP connections.
RDP is a protocol used by Microsoft for its Terminal Services
software to allow mouse, keyboard, and even sound channels to be
accessed remotely. The functionality to make at least a single RDP
connection to a machine exists out of the box in Windows XP
Professional, Windows Server 2000 and 2003, and NT Server 4.0
Terminal Server Edition. For instance, to enable RDP connections on a
Windows XP Professional machine, click on System under the Control
Panel and check "Allow users to connect remotely to
this computer" under the Remote tab.
The primary client for RDP connections under Linux is the
command-line program
rdesktop.
Like xvncviewer,
rdesktop has a number
of command-line arguments to tweak settings, such as color depth and
desktop geometry, and even forward sound to your local machine. To
reference all of these settings, run man
rdesktop or visit the official site at http://www.rdesktop.org, but for most usage,
simply type this command in a terminal:
knoppix@ttyp0[knoppix]$ rdesktop servername
If the remote computer accepts RDP connections, you are presented
with a standard Windows login page. Once connected, you can toggle
full-screen mode by pressing Ctrl-Alt-Enter in the
rdesktop window or by passing the -f
argument to rdesktop when you start
it.
Similar to VNC connections, RDP connections are also managed within
the krdc program in much the same way. The
primary difference is the syntax used for the hostname. For VNC
connections, the syntax is hostname:display or
vnc:/hostname:display; with RDP connections, the
syntax is rdp:/hostname. To connect to a machine
running at 192.168.0.1 at the prompt, type this command and click
Connect:
rdp:/192.168.0.1
You are prompted for the resolution to use for the desktop and are
then presented with the login screen. This presents a similar result
as rdesktop only with the
krdc taskbar appearing along the top of the
screen, allowing you to toggle full-screen mode and a few other
settings. These sessions are saved with any VNC sessions, making
krdc an excellent choice for system
administrators who are on a mixed network of VNC and RDP servers.
5.2.3 NX Server
Knoppix 3.4 has also introduced a suite of tools to connect to
NoMachine's NX server. You can use the NX server to
create encrypted and compressed remote connections to X, VNC, and RDP
servers, which are responsive even over a dial-up connection.
NoMachine's NX client and other software included on
Knoppix are licensed under the GPL, but it is worth noting that the
NX server does require that you purchase a license from
NoMachine. Further
information about the NX server can be found at http://www.nomachine.com.
If you have an NX server to which you wish to connect, start the NX
Connection Wizard by clicking K Menu Internet NX
Connection Wizard. The wizard asks you a series of questions about
the server's IP address, your connection type, and
the protocol the remote connection is using to share the desktop.
Fill out the information in the wizard to see the NX Client login
window, and the session for the server you have just configured is
selected in the drop-down Session menu. Type in your NX server login
and password, and click Login to connect to the remote NX server and
start your remote desktop connection. For further help with using the
included NX software, Knoppix has a direct link to
NoMachine's support page that is accessible by
clicking K Menu Internet NX Help on the Web.
5.2.4 Share the Local Desktop
Knoppix also supports
sharing its own desktop with remote users by using the VNC protocol.
This is useful when you find yourself talking someone through
repairing a system that is unable to boot. The machine is unbootable
so you can't take advantage of any remote control
utilities the computer may already have. You know that with Knoppix,
you can use some of the advanced system-recovery tools to fix the
system, but it might be difficult to talk the user through all of the
commands (not to mention that there is always a potential for typos
that could cause further damage). If the user has a Knoppix disc
(plan ahead and hide a copy under every user's
machine), then she can boot and get network access. You can then walk
her through the simple steps of sharing her desktop, and remotely
connect and finish the system recovery.
Sharing the local Knoppix desktop is pretty simple. The
user's first step is to run the Desktop Sharing
applet by clicking K Menu System Desktop Sharing.
Have the user click "Create Personal Invitation . .
. " in the main window to create a personal
invitation to share her desktop, which then displays a new window
containing the address and the temporary password to use for the
connection. This information can be entered into any VNC-compatible
client on the remote end, causing a prompt to appear on the local
user's screen and requesting the user to accept the
remote desktop connection.
 |
The user can also click "Invite via Email . . .
" to send an email containing connection information
to the system administrator. This email provides a direct link to
click on if the recipient is running a KDE desktop with
krdc installed. The sender must have an email
account set up on her Knoppix machine for this to work.
|
|
The randomly generated password expires after an hour, so any new
connections after that point require creating a new invitation. To
remove an invitation before it expires, click
"Manage invitations" on the main
Desktop Sharing Wizard screen to see all current invitations, along
with options to delete them and create new invitations. The Desktop
Sharing Wizard makes sharing your current KDE desktop pretty easy
even for people new to VNC or Linux, and it is simple to explain to
users over the phone or through email.
With all of the different remote desktop protocols Knoppix supports,
along with the fact that it includes a simple method to share its own
desktop, you might find it worthwhile to hand out an emergency
Knoppix CD to friends or clients for those times when you need to do
some quick technical support but are unable to physically be there.
If a client has a network of machines that needs support, you can use
the desktop-sharing feature of Knoppix to connect remotely to a
machine on the network booted off of Knoppix, and then use that
machine as a remote command center to connect to the rest of the
machines within the network. This allows you to support all of the
machines from a single remote connection.
|