Vncsend: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
(→Notes) |
||
Line 19: | Line 19: | ||
== Notes == | == Notes == | ||
* <code>vncsend</code> and <code>vncrecv</code> use a VNC server (<code>vncsend</code>) and a VNC viewer (<code>vncrecv</code>) to do most of the magic. Because using VLAB | * <code>vncsend</code> and <code>vncrecv</code> use a VNC server (<code>vncsend</code>) and a VNC viewer (<code>vncrecv</code>) to do most of the magic. | ||
* For security, the VNC sessions don't use TCP connections and instead use UNIX sockets | * Because using VLAB requires running a VNC viewer anyway, the default VNC viewer menu key of F8 is changed in <code>vncrecv</code> to F7 so exiting a shared session in VLAB via the viewer menu doesn't accidentally actually exit your VLAB session. | ||
* Once started, the mouse and keyboard on BOTH screens are active. | * For security, the shared VNC sessions don't use TCP connections and instead use UNIX sockets — which can be owned by the user and have permissions assigned to limit access — to avoid snooping. | ||
* <code>vncrecv</code> will only accept connections originating from CSE lab or VLAB subnetworks. | * Once started, the mouse and keyboard on '''BOTH''' screens are active. | ||
* <code>vncrecv</code> will only accept connections originating from CSE lab or VLAB subnetworks. This is hard-coded in the script. | |||
* The VNC client automatically starts in full-screen mode. | * The VNC client automatically starts in full-screen mode. | ||
* <code>vncsend</code> and <code>vncrecv</code> are written in Tcl and are non-privileged. | |||
* <code>socat</code> is used for UNIX socket ops. | |||
== Security == | == Security == | ||
* <code>vncsend</code> and <code>vncrecv</code> don't use any form of authentication and access is only limited by the subnetwork on which <code>vncsend</code> can run. Thus, don't leave <code>vncrecv</code> running when you're not around to keep an eye on it. | * <code>vncsend</code> and <code>vncrecv</code> don't use any form of authentication and access is only limited by the subnetwork on which <code>vncsend</code> can run. Thus, don't leave <code>vncrecv</code> running when you're not around to keep an eye on it. |
Revision as of 14:31, 24 Mayıs 2023
vncsend
(note lower case) is one half of the vncsend
/vncrecv
pair of programs which allow a current VLAB or lab computer session screen to be shared with another user.
Intended uses:
- A tutor in a class who, while helping a student at the student's computer, decides that it might be useful for the rest of the class to be able to see what the tutor is doing.
vncsend
can be run on the student's computer to "project" the student's screen to the large monitors connected to the tutor's machine (which would already be runningvncrecv
). - Two students working in a pair, can share either of their lab computer or VLAB screens with any other lab computer or VLAB screen one of them is using, locally or remotely.
vncsend
and vncrecv
are both command-line programs. They are located in /usr/local/infrastructure/bin
.
vncrecv
is run first. It takes an optional TCP port number on which it listens for incoming connections from vncsend
. If this port is not specified it defaults to 65509.
vncsend
is then run inside the session that you want to share. It takes one or two arguments:
- The first is the name or IP address of the host running
vncrecv
, and - An optional second argument is the TCP port to share to. This would be useful when multiple users on, say, a VLAB host, are using
vncrecv
at the same time. If not specified, this also defaults to 65509.
Both vncsend
and vncrecv
can be exited with ^C. On the receiver side, you can press F7 to get the VNC client menu and then select exit.
Notes
vncsend
andvncrecv
use a VNC server (vncsend
) and a VNC viewer (vncrecv
) to do most of the magic.- Because using VLAB requires running a VNC viewer anyway, the default VNC viewer menu key of F8 is changed in
vncrecv
to F7 so exiting a shared session in VLAB via the viewer menu doesn't accidentally actually exit your VLAB session. - For security, the shared VNC sessions don't use TCP connections and instead use UNIX sockets — which can be owned by the user and have permissions assigned to limit access — to avoid snooping.
- Once started, the mouse and keyboard on BOTH screens are active.
vncrecv
will only accept connections originating from CSE lab or VLAB subnetworks. This is hard-coded in the script.- The VNC client automatically starts in full-screen mode.
vncsend
andvncrecv
are written in Tcl and are non-privileged.socat
is used for UNIX socket ops.
Security
vncsend
andvncrecv
don't use any form of authentication and access is only limited by the subnetwork on whichvncsend
can run. Thus, don't leavevncrecv
running when you're not around to keep an eye on it.