To have your phone act as the VNC Server, it must first be rooted.
Assuming you do have root on your phone, the app I recommend is Webkey. This is a really useful program that I found recently to replace the previous app I used, Droid VNC Server. Both are free and open source, and both can be activated on demand or started on boot as a phone service.
With Webkey, you get a VNC server, ftp server, multi-user authentication, terminal access, and several other tools that can all be accessed from your browser. You can even register your device with DynDNS and access it via a cellular data connection (assuming the carrier doesn't block incoming connections).
After installing Webkey, open the app on your phone. Give it sudo privileges, then start the service. Then open your desktop's browser, and type in your phone's IP address. You must create a new user, which can either be done on the phone or via the browser (after which, the phone must still accept the new user). After logging in you have full control of the phone.
If you only want a simple VNC server, Droid VNC Server works just fine (use a standard viewer on Ubuntu). I only ditched it because Webkey has so many more features.