Unix Technical Forum

SEO

vBulletin Search Engine Optimization


Go Back   Unix Technical Forum > Unix Operating Systems > Sco Unix

Register FAQ Members List Calendar Search Today's Posts Mark Forums Read

Reply

 

LinkBack Thread Tools Display Modes
  #11 (permalink)  
Old 03-17-2008, 06:09 AM
Pat Welch
 
Posts: n/a
Default Re: Remote Control a terminal or the console.

Nico Kadel-Garcia wrote:
> Brian K. White wrote:
>> Note: sco has a built in program very similar to screen called mscreen.
>> But I don't think either one provides shared sessions.
>>
>> SCO made a TLS package that had a facility called spyfs that was
>> supposed to allow one user to watch anothers tty. I never tried it
>> myself. It didn't saound from the instructions to be good enough for
>> what I need. I have used dv a lot on sco, and used to use ttysnoop
>> (free) on linux, but haven't used ttysnoop lately because we have to
>> use FacetWin for our terminal emulator, and ttysnoop can't work with
>> FacetWin because FacetWin does not call an external login program. DV
>> would work because it works at the kernel level, but dv is practically
>> useless on linux because of the way they tie in to specific kernels
>> and won't work with any other version or build. There is another
>> product that works like ttysnoop but isn't free called peek. I haven't
>> tried that myself because, if I could use peek, then I could use
>> ttysnoop.
>>
>> For our support needs we've basically been living without any
>> replacement for DV since switching off of SCO. For training and sales
>> demos we use a web based full desktop thing via
>> http://www.beamyourscreen.com/US/Welcome.aspx
>>
>> Not nearly as convenient or fast, but, for demos and training it is
>> useful to be able to show the whole desktop since several parts of the
>> app cause things to happen outside the terminal emulator window, like
>> scanning and printing and printing to pdf/email/fax etc..
>>
>> If I could find a windows programmer to pay to finish my few remaining
>> hacks to Putty, and port my existing hacks up to the current putty,
>> then I could finally escape facetwin and get dv-like functionality
>> back in the form of ttysnoop. *sigh*...
>>

>
> Hop over to comp.security.ssh: a number of the Putty programmers work
> there, and I've been active on that group for years. Good people.
>
> I take it you don't like VNC for this?


I think you are misunderstanding the primary purpose behind this thread
- It's not to access the server per se, it's the ability to attach to a
specific users pty or tty *AFTER* they've already logged in and are
actively running the application you are trying to fix/debug.

We are talking about the Unix equivalent of the old windows PCanywhere
program or the current RDP, except we can, with the right permissions,
attach to any logged in session on the server, or even (with DV) log in
on a specific serial line or console multi-screen.

You see what they see, you can intervene and type commands as if you
were right there with them using their keyboard. Very valuable support tool.

How you get to the server is immaterial - telnet, ssh, VPN, VNC, modem
or whatever.

--
----------------------------------------------------
Pat Welch, UBB Computer Services, a WCS Affiliate
SCO Authorized Partner
Microlite BackupEdge Certified Reseller
Unix/Linux/Windows/Hardware Sales/Support
(209) 745-1401 Cell: (209) 251-9120
E-mail: patubb@inreach.com
----------------------------------------------------
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #12 (permalink)  
Old 03-17-2008, 06:09 AM
Bill Campbell
 
Posts: n/a
Default Re: Remote Control a terminal or the console.

On Sun, Mar 16, 2008, Pat Welch wrote:
....
>
>I think you are misunderstanding the primary purpose behind this thread
>- It's not to access the server per se, it's the ability to attach to a
>specific users pty or tty *AFTER* they've already logged in and are
>actively running the application you are trying to fix/debug.
>
>We are talking about the Unix equivalent of the old windows PCanywhere
>program or the current RDP, except we can, with the right permissions,
>attach to any logged in session on the server, or even (with DV) log in
>on a specific serial line or console multi-screen.


Many years ago I did some of this using the ``kibitz'' script
that was part of ``expect''. At the time I think I was using OSR
5.0.something (1996 or so).

Bill
--
INTERNET: bill@celestial.com Bill Campbell; Celestial Software LLC
URL: http://www.celestial.com/ PO Box 820; 6641 E. Mercer Way
FAX: (206) 232-9186 Mercer Island, WA 98040-0820; (206) 236-1676

The demands of the majority are always greater than taxation
alone can provide and thats where the FED comes in. The value of
the dollar has depreciated 97% since the creation of the FED.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #13 (permalink)  
Old 03-20-2008, 12:45 PM
Rob
 
Posts: n/a
Default Re: Remote Control a terminal or the console.

John DuBois wrote:
> In article <01b701c88783$cade2200$861fa8c0@tv>,
> Brian K. White <brian@aljex.com> wrote:
>> SCO made a TLS package that had a facility called spyfs that was supposed to
>> allow one user to watch anothers tty. I never tried it myself. It didn't
>> saound from the instructions to be good enough for what I need.

>
> spyfs is handy for times when you really need to see the text flowing to a tty,
> with users/apps seeing exactly the same tty name that they normally do, with
> the certainty that tty behavior will be unchanged, and without the cost of
> redirection through a pty. But it doesn't inject anything - it's strictly for
> observing tty output.
>


Well, far from me to disagree/correct John but the spyfs package comes with
the spycontrol program which, according to the docs:

"The spycontrol program is the most powerful demonstration program in SPY.
It allows you to both observe and control another person's activity, turning
your keyboard and screen into a mirror of theirs. All keystrokes you type
(including the SUSPEND, QUIT, and INTERRUPT keys) are sent to the tty
you're controlling. Because of this, spycontrol uses the special keys used
by rlogin(TC) to terminate the program, as explained below"

[snip]

I dove have a copy of the spyfs package with me (dunno if it's been updated
during these years) so if anyone's interested, please post here and I'll be
happy to help.

Best,
Rob
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #14 (permalink)  
Old 03-20-2008, 12:45 PM
Brian K. White
 
Posts: n/a
Default Re: Remote Control a terminal or the console.


----- Original Message -----
From: "Pat Welch" <patubb@inreach.com>
Newsgroups: comp.unix.sco.misc
To: <distro@jpr.com>
Sent: Sunday, March 16, 2008 8:43 PM
Subject: Re: Remote Control a terminal or the console.


> Nico Kadel-Garcia wrote:
>> Brian K. White wrote:
>>> Note: sco has a built in program very similar to screen called mscreen.
>>> But I don't think either one provides shared sessions.
>>>
>>> SCO made a TLS package that had a facility called spyfs that was
>>> supposed to allow one user to watch anothers tty. I never tried it
>>> myself. It didn't saound from the instructions to be good enough for
>>> what I need. I have used dv a lot on sco, and used to use ttysnoop
>>> (free) on linux, but haven't used ttysnoop lately because we have to
>>> use FacetWin for our terminal emulator, and ttysnoop can't work with
>>> FacetWin because FacetWin does not call an external login program. DV
>>> would work because it works at the kernel level, but dv is practically
>>> useless on linux because of the way they tie in to specific kernels
>>> and won't work with any other version or build. There is another
>>> product that works like ttysnoop but isn't free called peek. I haven't
>>> tried that myself because, if I could use peek, then I could use
>>> ttysnoop.
>>>
>>> For our support needs we've basically been living without any
>>> replacement for DV since switching off of SCO. For training and sales
>>> demos we use a web based full desktop thing via
>>> http://www.beamyourscreen.com/US/Welcome.aspx
>>>
>>> Not nearly as convenient or fast, but, for demos and training it is
>>> useful to be able to show the whole desktop since several parts of the
>>> app cause things to happen outside the terminal emulator window, like
>>> scanning and printing and printing to pdf/email/fax etc..
>>>
>>> If I could find a windows programmer to pay to finish my few remaining
>>> hacks to Putty, and port my existing hacks up to the current putty,
>>> then I could finally escape facetwin and get dv-like functionality
>>> back in the form of ttysnoop. *sigh*...
>>>

>>
>> Hop over to comp.security.ssh: a number of the Putty programmers work
>> there, and I've been active on that group for years. Good people.
>>
>> I take it you don't like VNC for this?

>
> I think you are misunderstanding the primary purpose behind this thread
> - It's not to access the server per se, it's the ability to attach to a
> specific users pty or tty *AFTER* they've already logged in and are
> actively running the application you are trying to fix/debug.


Then I'm not misunderstanding anything.
That is exactly what I was talking about.
That is exactly what all of dv, ttysnoop, peek, and spyfs provide, and what screen & mscreen do not provide.

> How you get to the server is immaterial - telnet, ssh, VPN, VNC, modem
> or whatever.


What? Of course how you connect to the server could (and as it happens, does) matter to how and whether a tty multiplexer works.

How you get to the server matters a great deal, if the tty multiplexer happens to work by replacing /bin/login and sitting between you and the kernel all during your session.
That is how ttysnoop and peek both work. What happens is, during login, THEY actually become the top level process for that tty instead of your shell, but then they launch your shell and connect it to the tty, so from your point of view it's like any other normal login, but, really there is an application in the background (ttysnoop or peek) that all of the tty data for your entire session is passing through, and so it's possible for that application to multiplex that data with any other sessions which that application is also managing. If all users everywhere have logged in this way, then any tty may be connected to any other tty.

But FacetWin does not call an external login program, nor can it be configured to do so, nor can you trick it by replacing the real /bin/login with a wrapper, because it just plain doesn't call any external program.

And so, ttysnoop and peek do both provide exactly the function you describe, and, happen to not be useable if you are logging in via FacetWin.
They can't be used with openssh either by default, but openssh can be configured to call a login program of your choice, and/or you can replace the real /bin/login with a wrapper.

DV on the other hand, and spyfs too I beleive, works similarly in that it inserts itself between you and the real tty's, but it does so at a lower level, right in the kernel (in the form of a driver module), and takes the place of, or sits in front of, the kernel level tty api's which any and all userspace tty-granting/tty-using code must talk to, including FacetWin and openssh in it's normal mode and anything/everything else. Therefor, dv and spyfs also provide the same functionality, but in their case it doesn't matter what facility you used to log in and get a tty.

xterms/xterm-alikes probably fall in the FacetWin category of things that create tty's without calling some external program like /bin/login, however, in that case the xterm binary itself could probably be replaced with a wrapper script that calls ttysnoop or peek. I don't think you can do that with FacetWin's vtpd which is called from inetd (xinetd on linux). I don't remember if I ever tried that... hm...

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


Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #15 (permalink)  
Old 03-20-2008, 12:45 PM
Bob Rasmussen
 
Posts: n/a
Default Re: Remote Control a terminal or the console.

On Sun, 16 Mar 2008, Brian K. White wrote:

> ...
> If I could find a windows programmer to pay to finish my few remaining hacks
> to Putty, and port my existing hacks up to the current putty, then I could
> finally escape facetwin and get dv-like functionality back in the form of
> ttysnoop. *sigh*...


What are you looking for in Putty in this regard?

I have brainstormed briefly (more of a brainsquall) about adding shadowing
features to AnzioWin. If enabled, it could send whatever it received to
another terminal session somewhere on the network. The Unix/Linux server
would not even be involved. Other options:

1) A screen dump could be sent on command.

2) User could allow keyboard input from the shadowing terminal.

3) User could allow mouse and menu input from the shadowing terminal.

4) Shadowing terminal could capture print jobs.

Arguing against doing all this work, though, is that fact that remote
desktop applications are more all-encompassing, and getting very good. I
use Webex, and it has assisted greatly in customer support recently.

I welcome any thoughts.

Regards,
.....Bob Rasmussen, President, Rasmussen Software, Inc.

personal e-mail: ras@anzio.com
company e-mail: rsi@anzio.com
voice: (US) 503-624-0360 (9:00-6:00 Pacific Time)
fax: (US) 503-624-0760
web: http://www.anzio.com
street address: Rasmussen Software, Inc.
10240 SW Nimbus, Suite L9
Portland, OR 97223 USA
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #16 (permalink)  
Old 03-20-2008, 12:45 PM
Brian K. White
 
Posts: n/a
Default Re: Remote Control a terminal or the console.


----- Original Message -----
From: "Bob Rasmussen" <ras@anzio.com>
To: "Brian K. White" <brian@aljex.com>
Cc: <sco-misc@lists.celestial.com>
Sent: Monday, March 17, 2008 3:14 PM
Subject: Re: Remote Control a terminal or the console.


> On Sun, 16 Mar 2008, Brian K. White wrote:
>
>> ...
>> If I could find a windows programmer to pay to finish my few remaining hacks
>> to Putty, and port my existing hacks up to the current putty, then I could
>> finally escape facetwin and get dv-like functionality back in the form of
>> ttysnoop. *sigh*...

>
> What are you looking for in Putty in this regard?


Nothing to do with tty sharing, that would just be a side effect.
Currently I have a 0.58 or 0.59 based putty with:
* run-program escape sequence
* passthru print flush timer (stock putty causes a page-eject every time filepro toggles the printer off during a report where screen updates are interspersed with print data)
* ability to load settings from a url (instead of windows registry)
* ability to auto-launch putty from a web link and auto load settings mentioned above.

Thise are a great and major start, and I use that version myself for all my day to day admin stuff and application development and testing the same app that the users use via facetwin, just so it gets as much testing as possible and I have a good chance to hit any glitches myself before users.
But it's not yet good enough for production until I also add:
* Automatically discover the default windows printer on the fly and use it by default if the settings don't define a printer or maybe if the settings define a special value that means automatic. (So I can have a web link to a highly configured set of settings, and have everyone use that same link, yet everyones printer works who's default printer is pcl capable.
* Ability to optionally, easy/simply, save the current settings to a local file (or registry I guess, though a file is so much handier for emailing, copying to a new pc, etc...) So people can log in via the web link, to get a correct set of settings that I have configured to start with, and then customize it locally by defining a non-default printer, storing the login name & password, font size/window size, etc..
* Ability to store the name & password in the settings in a SIMPLE direct manner, and works regardless which connection protocol telnet/rlogin/ssh/serial. no ssh keys.

Then, not necessary, but would be nice to also port my existing mods from 0.5x to 0.6x. I had someone look at it and they said that 0.60 is very different from 0.5x and they basically couldn't do it because the guy who actually did my original work was gone and no one else was familiar enough with it.

What this has to do with tty sharing is not even about putty but the server daemons. putty connects to telnetd, rshd, sshd, or getty, all of which ttysnoop works with. So, if I can ever finish getting putty hacked on to the point where I can actually put it into production, I'll regain dv-like functionality in the form of ttysnoop. I can't use dv itself because it's too kernel specific and I don't happen to use any kernels it supports, and even if I did, I know that in 10 minutes I may change the kernel and thus break dv, so I'd be dumb to use something that I knew would break that easily, or that would prevent me from managing my systems as I wish/need just so as not to break dv. I don't think I can use spyfs either, I never saw any source code for it and I think it was specific to the sco osr5 kernel.

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

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #17 (permalink)  
Old 03-20-2008, 12:45 PM
Brian Keener
 
Posts: n/a
Default Re: Remote Control a terminal or the console.

Brian K. White wrote:
> >>
> >> I take it you don't like VNC for this?

> >
> > I think you are misunderstanding the primary purpose behind this thread
> > - It's not to access the server per se, it's the ability to attach to a
> > specific users pty or tty *AFTER* they've already logged in and are
> > actively running the application you are trying to fix/debug.

>
> Then I'm not misunderstanding anything.
> That is exactly what I was talking about.
> That is exactly what all of dv, ttysnoop, peek, and spyfs provide,
> and what screen & mscreen do not provide.


Brian,

I think Pat was actually replying to Nico when he said "I think you are
misunderstanding the primary purpose behind this thread" as Nico was the one
mentioning VNC and "emacs". Part of my curiosity was to the mention of
emacs and its use and what seemed to be a hint it was the poor man's dv. I
was wondering if others had done that and where you find documentation or
how to's on it. As to dv I have actually briefly worked with that a long
time ago and liked it and your explanation of its usage is exactly what I
and my customer are looking for.

Thanks

bk

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #18 (permalink)  
Old 03-20-2008, 12:45 PM
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: Monday, March 17, 2008 6:47 PM
Subject: Re: Remote Control a terminal or the console.


> Brian K. White wrote:
>> >>
>> >> I take it you don't like VNC for this?
>> >
>> > I think you are misunderstanding the primary purpose behind this thread
>> > - It's not to access the server per se, it's the ability to attach to a
>> > specific users pty or tty *AFTER* they've already logged in and are
>> > actively running the application you are trying to fix/debug.

>>
>> Then I'm not misunderstanding anything.
>> That is exactly what I was talking about.
>> That is exactly what all of dv, ttysnoop, peek, and spyfs provide,
>> and what screen & mscreen do not provide.

>
> Brian,
>
> I think Pat was actually replying to Nico when he said "I think you are
> misunderstanding the primary purpose behind this thread" as Nico was the one
> mentioning VNC and "emacs".


Doh, you are right. I completely missed that.
Sorry Pat.

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

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #19 (permalink)  
Old 03-20-2008, 12:45 PM
Pat Welch
 
Posts: n/a
Default Re: Remote Control a terminal or the console.

Brian K. White wrote:
> ----- Original Message -----
> From: "Brian Keener" <bkeenerReMoVeAnTiSpAm@thesoftwaresource.com>
> Newsgroups: comp.unix.sco.misc
> To: <distro@jpr.com>
> Sent: Monday, March 17, 2008 6:47 PM
> Subject: Re: Remote Control a terminal or the console.
>
>
>> Brian K. White wrote:
>>>>> I take it you don't like VNC for this?
>>>> I think you are misunderstanding the primary purpose behind this thread
>>>> - It's not to access the server per se, it's the ability to attach to a
>>>> specific users pty or tty *AFTER* they've already logged in and are
>>>> actively running the application you are trying to fix/debug.
>>> Then I'm not misunderstanding anything.
>>> That is exactly what I was talking about.
>>> That is exactly what all of dv, ttysnoop, peek, and spyfs provide,
>>> and what screen & mscreen do not provide.

>> Brian,
>>
>> I think Pat was actually replying to Nico when he said "I think you are
>> misunderstanding the primary purpose behind this thread" as Nico was the one
>> mentioning VNC and "emacs".

>
> Doh, you are right. I completely missed that.
> Sorry Pat.
>


S'ok, as long as you buy the virtual Everclear the next time we happen
to be at Callahan's at the same time

--
----------------------------------------------------
Pat Welch, UBB Computer Services, a WCS Affiliate
SCO Authorized Partner
Microlite BackupEdge Certified Reseller
Unix/Linux/Windows/Hardware Sales/Support
(209) 745-1401 Cell: (209) 251-9120
E-mail: patubb@inreach.com
----------------------------------------------------
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #20 (permalink)  
Old 03-28-2008, 04:36 AM
Nico Kadel-Garcia
 
Posts: n/a
Default Re: Remote Control a terminal or the console.

Pat Welch wrote:
> Brian K. White wrote:
>> ----- Original Message ----- From: "Brian Keener"
>> <bkeenerReMoVeAnTiSpAm@thesoftwaresource.com>
>> Newsgroups: comp.unix.sco.misc
>> To: <distro@jpr.com>
>> Sent: Monday, March 17, 2008 6:47 PM
>> Subject: Re: Remote Control a terminal or the console.
>>
>>
>>> Brian K. White wrote:
>>>>>> I take it you don't like VNC for this?
>>>>> I think you are misunderstanding the primary purpose behind this
>>>>> thread - It's not to access the server per se, it's the ability to
>>>>> attach to a specific users pty or tty *AFTER* they've already
>>>>> logged in and are actively running the application you are trying
>>>>> to fix/debug.
>>>> Then I'm not misunderstanding anything.
>>>> That is exactly what I was talking about.
>>>> That is exactly what all of dv, ttysnoop, peek, and spyfs provide,
>>>> and what screen & mscreen do not provide.
>>> Brian,
>>>
>>> I think Pat was actually replying to Nico when he said "I think you
>>> are misunderstanding the primary purpose behind this thread" as Nico
>>> was the one mentioning VNC and "emacs".

>>
>> Doh, you are right. I completely missed that.
>> Sorry Pat.
>>

>
> S'ok, as long as you buy the virtual Everclear the next time we happen
> to be at Callahan's at the same time
>


Please: that bar stopped being fun with Spider Robinson started getting enough
to eat and all his stories had the heroes winning in every chapter....
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump


All times are GMT. The time now is 06:59 PM.


Powered by vBulletin® Version 3.6.5
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0
UnixAdminTalk.com

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391