Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 15 Feb 2010 14:46:35 +0900
From:      "Daisuke Aoyama" <aoyama@peach.ne.jp>
To:        <freebsd-emulation@freebsd.org>
Cc:        freebsd-current@freebsd.org, freebsd-stable@freebsd.org
Subject:   [PATCH] VirtualBox headless VNC support by LibVNCServer (20100211)
Message-ID:  <252B63EC396745F7A6AE9E622C215437@artemis>
References:  <B9B52D71C91E45B0BC0671061CA8C11C@artemis>

next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format.

------=_NextPart_000_0028_01CAAE4D.ABED7060
Content-Type: text/plain; format=flowed; charset="UTF-8"; reply-type=original
Content-Transfer-Encoding: 7bit

Hi, all

First, thank you for using my patch.
This archive contains individual patch files and modified Makefile.
Please select options you want before building. then make with normal way.

What's new?:
Send ScrollLock when press Ctrl+Scroll or Ctrl+Pause.
Fixed 16bpp mode have incorrect settings.
(it may cause the viewer confuse, now is send 32bpp instead of 16bpp)
Show port 0 when VNC Server disabled.
Code cleanup.

# cd /usr/ports/emulators/virtualbox-ose
# tar xvf /path/to/vboxvnc-20100211.tar.gz
# make config
# make

It provides VNC server for guest OS console access in VBoxHeadless frontend.
Supported Options:
   -v, -vnc, --vnc on|off                Enable (default) or disable the VNC
Server
   -a, -vncaddress, --vncaddress <ip>    IP address the VNC server will bind
to
   -p, -vncport, --vncport <port>        Port number the VNC server will
bind to
   -k, -vnckeymap, --vnckeymap <keymap>  Keyboard mapfile (default: builtin
US)
   -S, -vncsecret, --vncsecret <secret>  VNC Authentication secret

three options at one line is an equivalent option, for example:
"-v on", "-vnc on", "--vnc on" are same feature.

-v option specify whether VNC server starts in the machine.
default is on (enable).

-a and -p options specify IP address and port number of VNC server.
default IP is wildcard, port is 5900. If you have multiple IPs(NICs) in your
system,
you can select the listen address of the server.

-k option specify the keyboard layout convert from VNC keys to Scancodes.
default is US standard 101keys. (I tested only US 101 keyboard)
If you want another keyboard, you can spcify the path of kbdmap(5).
In standard installation of FreeBSD, it's located in
/usr/share/syscons/keymaps/.
for example, "-k /usr/share/syscons/keymaps/jp.106.kbd" uses JP 106
keyboard.

-S option specify the password of the VNC server.
However, it have security risk in common server. It assumed used with
FreeNAS
(limited user environment). Please consider the risk by using command line.

When starting the VM, the proctitle is changed like below (you can see by
"ps axww"):
VBoxHeadless: VM: TestVM4 Port: 5900 Auth: off (VBoxHeadless)

Regards,
Daisuke Aoyama

------=_NextPart_000_0028_01CAAE4D.ABED7060
Content-Type: application/octet-stream;
	name="vboxvnc-20100211.tar.gz"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
	filename="vboxvnc-20100211.tar.gz"

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

------=_NextPart_000_0028_01CAAE4D.ABED7060--




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?252B63EC396745F7A6AE9E622C215437>