Автор Тема: как да гледаме на някой конзолата  (Прочетена 1700 пъти)

kennedy

  • Напреднали
  • *****
  • Публикации: 2151
  • Николай Колев
    • Профил
http://debaday.debian.net/2007/01/10/gems-broadcast-your-terminal/
заглавието е подвеждащо, но статията е интересна.
Активен

"за всичко иде час" Еклесиаст 3:1
всеки пост - отговор на въпрос
-----------------
24.12.2003 "MS Free"

George Andonov

  • Напреднали
  • *****
  • Публикации: 261
  • Distribution: Ubuntu
    • Профил
как да гледаме на някой конзолата
« Отговор #1 -: Jan 12, 2007, 17:28 »
Да се следи конкретна терминална сесия е възможно и без инсталиране на допълнителен софтуер.

Такава функционалност може да се постигне с вградените средства.
Активен

petkouzunski

  • Напреднали
  • *****
  • Публикации: 208
    • Профил
как да гледаме на някой конзолата
« Отговор #2 -: Jan 12, 2007, 17:52 »
Цитат (gandonov @ Ян. 12 2007,18:28)
Да се следи конкретна терминална сесия е възможно и без инсталиране на допълнителен софтуер.

Такава функционалност може да се постигне с вградените средства.

Бихте ли обяснили?
Активен

George Andonov

  • Напреднали
  • *****
  • Публикации: 261
  • Distribution: Ubuntu
    • Профил
как да гледаме на някой конзолата
« Отговор #3 -: Jan 15, 2007, 10:41 »
Обяснение:
Аз ползвам два подхода за "наблюдаване" на терминалните сесии:

1. За документиране на сесията. Имам предвид, да се запише самата сесия за следващо разглеждане.
Примерен код
gandonov@host:/tmp$ script -f session.log   <------ Начало на запис на сесията
Script started, file is session.log   <------ Записът на сесията е във файл session.log
   ...
   команди
   ...
gandonov@host:/tmp$ exit   <------ Край на запис на сесията
Script done, file is session.log
Така сесия се записва във файл session.log.
Особеност: Запис във файла се прави при exit от сесията.

Изводи: този начин:
 - е подходящ за "архив"-иране на сесиите.
 - не е подходящ за on-line наблюдение, поради буферирането на изхода.

2. on-line наблюдение на терминална сесия.
Пример:
Имаме два потребителя (user1 и user2), които ще наблюдават сесията на gandonov.
Примерен код

gandonov@host:/tmp$ who
gandonov pts/0        2007-01-15 09:45 (:0.0)
user1 pts/1        2007-01-15 09:45 (:0.0)
user2 pts/2        2007-01-15 10:05 (:0.0)

gandonov@host:/tmp$ ssh localhost | tee /dev/pts/1 | tee /dev/pts/2
gandonov@localhost's password:
Last login: Mon Jan 15 10:24:37 2007 from localhost
 ...
 команди
 ...
gandonov@host:~$ exit
Connection to localhost closed.

Цялата магия е в: ssh localhost | tee /dev/pts/1 | tee /dev/pts/2 | tee /dev/pts/3 ... и т.н.

Интересното е, че произволен брой потребители могат да наблюдават една и съща сесия. Подходящо е при обучение за терминални команди и програми.

Това е номера.  '<img'>
Никаква магия, никакви пакети, никакъв софтуер - просто стандартни UNIX команди.



Активен