View Single Post

   
  #6 (permalink)  
Old 03-17-2008, 06:08 AM
Brian K. White
 
Posts: n/a
Default Re: Remote Control a terminal or the console.


----- Original Message -----
From: "Brian Keener" <bkeenerReMoVeAnTiSpAm@thesoftwaresource.com>
Newsgroups: comp.unix.sco.misc
To: <distro@jpr.com>
Sent: Friday, March 14, 2008 2:49 PM
Subject: Re: Remote Control a terminal or the console.


> Nico Kadel-Garcia wrote:
>> > called Double View or Double Vision. Anyone remember this and am I
>> > correct in what it does. Also any other suggestions?
>> >
>> >

>>
>> Has anyone installed and used VNC for this in SCO OpenServer? Or installed
>> emacs, and used "emacs -e shell" in order to save the contents of a shell
>> interaction to a file?

>
> How does this work in relation to having a user/customer running an
> application and you want to see what is on his screen. Since I don't use
> emacs I'm not that familiar with this. Can you provide a little more of what
> would be happening and how it is used.
>
> bk


DoubleVision works like this:
You install doublevision on the server.
The install script installs a kernel module and links a new kernel.
You reboot the server to get onto the new kernel.

>From that point on, all ttys, regardless of what kind of login daemon created them (facetwin vtpd, telnetd, sshd, getty (serial), getty (console), etc...), are multiplexable/shareable. In the case of serial and console tty's you can even access tty's that aren't currently logged in or that don't even have a getty running on them.


What that exactly means is:

Any user can "dv ttyxx" any other tty, subject to a plethora of permissions configurable in dv config files.

user tim is logged in on ttyp4
user root is logged in on ttyp112
user root can run "dv" and select ttyp4 from an interactive application that shows all the tty's on the system and what program and user is using them where applicable. Or you can say "dv ttyp4" and jump right there skipping the interactive dv app.

At that point:
* Both root and tim can type and the keystrokes from both keyboards go to the app running on ttyp4.
* The output from the app on ttyp4 goes to both screens on ttyp4 and ttyp112.
It's like ttyp112 goes into the background and ttyp112 becomes a clone of ttyp4. There is an escape key that the user on ttyp112 can press to break out of the dv session and get his normal tty back.

Further notables:

You can create cron jobs that direct output to console tty's that don't have getty's running on them, and then you can dv to that tty from anywhere. Example, have your tape backup direct it's output and input to/from tty12,
30 21 * * * backup.cron </dev/tty12 >/dev/tty12 2>&1
and then at some later time you can facetwin/ssh/telnet to the server and then dv tyy12 and see the output from the backup program and type into it, like to respond to some prompt or error message like "Tape full: Please insert volume 2 and press [Enter]: _"
Don't use any tty that has a getty or any other program running on it for this. tty7 through tty12 are perfect, and the redirecting stdin trick doesn't work with _all_ programs.
You can also type Alt-F12 at the console to flip to that same tty, which you always could have done regardless of dv. dv just means you can get at the same tty from anywhere.

Several people can dv in to the same tty so it can be pretty good for classes or training multiple users.

There are controls to do things like allow a particular tty or user to view-only (no typing) a particular other tty or user, and disallow say a normal user from dv-ing any tty that root is using, etc... groups and overlapping classes of users can be set up that have various permissions.

In a perfect world, dv can translate terminal control sequences from one kind of terminal to another. That is, say user1 is on ttyp1 using a wyse50 terminal (TERM=wy50). Say user2 is on ttyp2 using a scoansi terminal emulator (TERM=ansi). Without translation, multiplexing those two sessions together would just make a big mess. If ttyp2 dv'd to ttyp1, then when the app on ttyp1 outputted some data to draw stuff on the screen, the scoansi terminal on ttyp2 would receive wyse50 escape sequences, which wouldn't work. Conversely, when user2 typed any keys besides the plainest numbers & letters (arrows, pgup,pgdn,F1-F12,backspace,Del,Ins etc...) the app on ttyp1 which thinks it's talking to a wyse50, would receive scoansi byte sequences that would either mean nothing to it, or worse would mean things other than what user2 intended. (like the classic backspace vs delete issue, you press backspace, and the app thinks you pressed break and immediately exits). But dv, if your terminfo and/or termcap are good and complete and accurate for your terminals, and if the dv termtype logger was run from the users .profile or from /etc/profile, then dv can translate all the terminal-specific byte sequences between all the ttys that are sharing a session. Generally though it's simpler to just have everyone using the same type of terminal, ideally a good scoansi emulator, and then there is almost never any glitches.

--
Brian K. White brian@aljex.com http://www.myspace.com/KEYofR
+++++[>+++[>+++++>+++++++<<-]<-]>>+.>.+++++.+++++++.-.[>+<---]>++.
filePro BBx Linux SCO FreeBSD #callahans Satriani Filk!

Reply With Quote