![]() |
OSXvnc 1.71 Frequently Asked Questions (Last Modified: 26 January 2006) |
OSXvnc is provided by Redstone Software for use with Eggplant: The solution for cross-platform automation and testing
For the latest information on
OSXvnc, including the latest FAQ, please visit: http://www.redstonesoftware.com/osxvnc
For additional information not covered in this FAQ please visit: http://faq.gotomyvnc.com
A:
VNC stands for Virtual Network Computing. It is remote control software which allows you to view and interact with one computer (the "server") using a simple program (the "viewer") on another computer anywhere on the Internet. The two computers don't even have to be the same type, so for example you can use VNC to view and control a MacOS X machine at home on your Windows machine at the office. VNC is freely and publicly available and is in widespread active use by millions.
Q: What is Eggplant? Why does Redstone Software provide OSXvnc?
A: If you've ever thought that it would be convenient to generate scripts that could interact with a remote VNC machine through the interface exactly the way a user can - then that's what Eggplant is! It's a powerful tool for cross-platform automation and testing. If you are interested in learning more about it, please visit Redstone Software.
Q: OSXvnc only contains a server, where's the client to connect to my machine?
A: That's right - OSXvnc is only a server. There are a number of VNC Clients available for OS X, we recommend these:
Chicken Of The VNC
VNCDimension
VNCThing (also supports MacOS 8/9)
Q: OSXvnc is running but I can't connect to it/How do I configure my Firewall to allow OSXvnc?
A: If you don't see anything in the OSXvnc log then your network isn't allowing the connection. The most likely cause of this is that your MaxOS X machine is running the built-in firewall. You can configure the firewall to allow port 5900 (or whichever port VNC is running on). Using the System Preferences application go to Sharing and then Firewall. On that panel, "Add.." another service for port 5900 and call it VNC
Q: How can I connect to my home machine from outside my home/across the internet?
A: First, if your machine is behind a device that does NAT like a Firewall, Router or Cable/DSL modem then please read the following FAQ. If not, then you need to get the IP address of your computer. It will be shown in the System Prefernces application under Network and will consist of four numbers with dots between them. In your VNC client just use this number to connect to your computer from an external network. You can also go to this handy link from the machine running OSXvnc to verify the IP address: http://www.gotomyvnc.com
Q: How can I connect to a machine that is behind a Cable/DSL Modem or NAT Firewall?
A: When working through a network address translation (NAT) device like a Cable/DSL Modem, Router, or Firewall you will need to setup "Port Forwarding" on the device to forward the VNC port (5900 by default) from that device to the internal IP address of the machine running OSXvnc (the internal IP will look like 192.168.X.X, 10.X.X.X, or 127.0.0.X). For further details on setting up port forwarding please read your device's documentation or refer to the following helpful website: http://www.portforward.com.
Not all devices offer port forwarding, for those that do not, you can set your Mac to be the designated DMZ host for the NAT but this has the effect of forwarding ALL ports from the internet to your Macintosh. If you need to go this route we highly recommend you enable the Firewall on your MacOS X machine and ONLY allow port 5900 to pass through.
Once the port for VNC has been directed toward your Macintosh you should be able to connect via an external VNC client to your Network's External (or WAN) IP address. This number will be substantially different from the internal IP of your computer and can usually be found by looking at the modem configuration information or else by visiting this handy page from the machine running OSXvnc to get your IP and check your VNC access: http://www.gotomyvnc.com
A: Yes, if you are using MacOS 10.4 (TIGER). Please read this separate guide on Multiple Desktop Sessions on MacOS 10.4 - TIGER.
Q: Why am I getting an "Incompatible Version" error message when I attempt to connect to OSXvnc?
A: The problem is that you aren't connecting to OSXvnc but instead are connecting to the Apple Remote Desktop agent, which also runs on port 5900.
We recommend that you disable ARD by unchecking it in the System Preferences -> Sharing -> Services panel. Alternatively, you can connect to OSXvnc on a different port. It is probably running on port 5901 if it found a conflict on port 5900.
Q: The OSXvnc application launches fine the first time but after that it just bounces in the Dock and never launches?
A: This is most likely because you are running APE from unsanity.org. In some situations APE can corrupt the OSXvnc bundle to the point where it can no longer function. Try adding the OSXvnc application to the "exclude" list in the Ape Manager preference pane and re-installing OSXvnc. If that does not solve your problem please contact support at urgent@unsanity.org.
Q: When I start OSXvnc it stops immediately with the error: "Unable to Bind Socket"?
A: This means that OSXvnc can't listen on the specified port, this is almost always because another VNC is already listening, often because OSXvnc has already been set as a startup item. You can check to see with the following Terminal command:
ps -auxwww | grep -i '[v]nc'
If this reports anything then vnc is probably already running, if it's another instance of OSXvnc read the FAQ "I've setup OSXvnc as a Startup item, how can I turn it off" for instructions on how to stop it.
Keep in mind that if you are running Apple Remote Desktop 2.0 that it WILL use port 5900 and prevent OSXvnc from using that port, please choose a different port for OSXvnc.
A: Currently OSXvnc doesn't handle this as well as we would like. Part of the problem is that if both the remote and local users are using an international keyboard layout the keystrokes actually get double-corrected, thus producing the standard US keys. Try setting one of the keyboards back to US; this works a bit better.
A: Normally you can just move the entire OSXvnc application into your trash.
However, if you've configured OSXvnc as a Startup Item (so that it launches at boot time) we recommend that you use the "Disable Startup Item" button on the Startup Tab for OSXvnc first. Alternatively, you can remove the /Library/StartupItems/OSXvnc folder in addition to the OSXvnc application and then reboot.
Q: I'm connecting to a system using VNC and it's not very fast, how can I improve the refresh rate/performance of OSXvnc?
A: One thing you can do is look at your selected encoding, you don't always want to choose the strongest one, it takes more CPU time on the VNC server and VNC client machine. We've found that for a LAN you are actually better off with Hextile, Zlib (Raw) or Zlib (Hextile) than the stronger compressions ZRLE and Tight (which are better over low bandwidth). This can very based on your machines as well, if they are G5's go ahead with the stronger encodings. G3's are very slow machines at this point for both clients and servers and so VNC is pretty slow on these no matter what you do, in a LAN environment you might even consider going with RAW (no encoding) for these machines.
Also, keep in mind that MacOS X uses a LOT of colors, more than some operating systems, there is shading and coloring going on in places you wouldn't even notice, but it's there. As just an example, if you have font smoothing set for a flat panel monitor your "Black" letters actually have red on one side and blue on the other(illustrated here), this is much harder on VNC than just two pixel colors. You can improve this by launching System Preferences, going to the "Appearance" tab and setting your font smoothing to Standard.
Another factor which many people ignore is the desktop background, Apple ships with a number of lovely backgrounds but they have millions of colors, so each time your desktop is exposed VNC has to resend that part of the intensive image. Instead set your background to the monotone white, grey or black, which is fast for VNC to send.
Q: I've configured OSXvnc as a Startup using the latest 10.4 TIGER and it isn't starting up?
A: It's a permissions problem that is addressed in version 1.5 of OSXvnc. We rcommend updating to the latest OSXvnc.
Q: How can I start up OSXvnc from a command line?
A: To startup OSXvnc from command line, go inside the Application
directory(OSXvnc.app) and launch the OSXvnc-server process. To change parameters you will need to
give it arguments (-rfbport to set port, -vncauth to specify a password file,
etc). For usage run the command
with -help. For example:
/Applications/OSXvnc.app/osxvnc-server -rfbport 5901
A: This is a know bug in Apple's control API. It was probably designed with security in mind and attempts to work past it by allowing authentication, etc have not been succesful. We hope to discuss this problem with Apple and have a good solution in the future. In the meantime, you must switch back to the original user or else launch a new server, perhaps via command line, to connect to.
Q: What encodings does OSXvnc support?
A: As far as we are aware OSXvnc supports all known encodings for VNC except ULTRA. This includes Raw, RRE, CoRRE, Hextile, Zlib (Full), Zlib (Hextile), ZRLE, and Tight (with optional JPEG). If you have a problem with any of these encodings or know of other encodings that we should support please send us an email.
Q: OSXvnc is only for MacOS X, what about MacOS 9?
A:
For a MacOS 9 VNC client please use, VNCThing.
For a MacOS 9 VNC server Redstone Software also offers OS9vnc, it can be downloaded here:
http://www.redstonesoftware.com/Download/OS9vnc.sit
NOTE: At this time closing the OS9vnc log window will shutdown the server - please leave the log window running.
A: This happens if you try to launch as an unpriviledged user. A priviledged user is either the user who is currently logged into the GUI or the ROOT user. Try launching the server using the sudo command (or configuring the application to autostart using the system startup item).
Q: How can I connect to OSXvnc using a web browser?
Q: Is there a Web Server with OSXvnc or a Java applet integrated into OSXvnc?
A: The way this works is that you connect to a webserver which then serves the Java Applet to your browser, allowing you to connect without a stand-alone client. This isn't available directly within OSXvnc. Instead you can perform the following steps:
A: Version 1.61 and above should be better with *2vnc type clients. We also highly recommend using Broadband Optimizer to optimize your network traffic.
Additionally, we have had good luck running OSXvnc with osx2x running against OSXvnc 1.5 on a 10.3 machine.
Q: How can I have my connection to OSXvnc tunnel through SSH?
A: Since MacOS X ships with SSH support built in this is
pretty easy. First you will want
to make sure your VNC machine has SSH running. You can turn this on in the
System Preferences -> Sharing Panel by checking the box for "Remote
Login". Then you need an SSH
client on the machine you want to connect from (again, it's there by default on
MacOS X). For the rest of the instructions read the VNC page http://www.cl.cam.ac.uk/Research/DTG/attarchive/vnc/sshvnc.html.
If you use the "-localhost" option in
OSXvnc you will need to literally specify "127.0.0.1" when you make your ssh
port forwarding call, like this example:
ssh -L 5905:127.0.0.1:5900 mydomain.com
NOTE: In MacOS 10.3 (Panther) and above localhost is defined as it's IPv6 version - this doesn't work for VNC so specify 127.0.0.1
Q: Does OSXvnc support multiple displays?
A: Officially OSXvnc does not support multiple monitors at this time, it is on our list of future enhancements.
We do have a BETA feature for view only on displays besides the primary display. This feature is available only from command line. If you launch OSXvnc with the arguments"-disableRemoteEvents -display" #displayNumber#
then that VNC server will serve the display associated with that number, starting at 0 for the primary display. Unfortunately you must disable events becaue the event translation logic has not yet been added.
Q: I'm running a headless MacOS X machine and OSXvnc doesn't work.
A: When MacOS X starts up on older systems it will disable certain video functions when no monitor is plugged in. We are looking at ways to solve this in OSXvnc, but for the time being you can
purchase a dongle that makes the MacOS X machine think that a monitor is plugged
in.
Dr
Bott has one called gHEAD available here.
Q: How can I setup OSXvnc as a boot-time Startup Itme without needing a user logged in?
A: OSXvnc 1.3 and above can setup this mode for you. Please go to the "Startup" panel and press the "Setup Startup Item" button. You will need to authenticate as a user with privilege to administer the machine. Once you have, OSXvnc will set itself to start up the next time your machine boots. In this mode you don't need to launch the GUI application, the server will be running all the time.
If you want to do it by hand you will need to copy the OSXvnc.app/Contents/Resources/OSXvnc folder into /Library/StartupItems and then modify the OSXvnc file by hand.
NOTE: Due to Apple security restrictions VNC clients will NOT have access to the pasteboard (Cut&Paste) of the MacOS X machine.
Q: I've setup OSXvnc as a Startup item, how can I turn it off?
A: Starting with 1.32 the GUI can do this for you on the Startup tab. If you want to turn it off temporarily but have it continue to startup then you want to issue the following command:
sudo /Library/StartupItems/OSXvnc/OSXvnc stop
If you want to stop OSXvnc from starting up automatically any longer you can also remove the startup directory. This command will do that:
sudo rm -rf /Library/StartupItems/OSXvnc
Q: Where are the storepasswd and OSXvnc-server executables?
A: The OSXvnc-server and storepasswd executables are now stored in the /Contents/MacOS directory and are linked from the root OSXvnc.app directory as well as the /Contents/Resources directory. This prevents the GUI from launching a second dock icon when they are executed.
Q: I've set up OSXvnc as a boot-time Statup Item but when a user logs out it breaks the server.
A: This should be fixed with the 1.11 version of the startup script so that at least the server restarts. This is a workaround for a behavior in MacOS X that kills all user processes when a user logs out.
Q: OSXvnc is open source, so....where's the source?
A: Our source code is available at Sourceforge via CVS. Please try it at: http://sourceforge.net/projects/osxvnc.
Q: What are you looking at adding for future versions?
A: Outside of bugs fixes, on our list at the moment (in some rough approximation of order) are...
Q: I'm a developer and would like to help with OSXvnc.
A: Great! Please send email to osxvnc@redstonesoftware.com.