[Volgograd] Перехват терминала

Sergey Lebedev barabashka.sl на gmail.com
Чт Июл 28 17:24:55 MSD 2005


On 26 Jul, Валерий Шершнёв wrote:
> 
> Приветствую вас, братья по разуму!
> 
> Такой у меня вопросик: предположим, что несколько зверей залогинились по ssh удалённо. Им назначается терминал /dev/ttyX (/dev/pts/X). Предположим, что доступ к файлу терминала 666, т.е. любой может читать и писать (ну, чисто теоретически). Я хочу перехватить чужую консоль и выполнять там команды. Известно, что пингвин разделяет три байтовых потока: 1) Поток ввода (0); 2) Поток вывода (1); 3) Поток ошибок (2). Если в своей консоли набрать$: echo pwd > /dev/ttyX, то на экране у терминального зверя определённо что-то появится, но не исполнится, ибо мы запихаем всё в поток вывода. Может кто направить на путь истинный? Ну и вдобавок параллельно хочется читать, что же зверь там набирает, но при этом не глотать все вводимые команды.


Логическая ошибка.
В *nix системах есть только процессы и файлы :)
Нет такого понятия как команда, но есть командный интерпретатор,
далее следует длинный, длинный рассказ об этом всем, который лучше
всего изложен у Робачевского в его книжке "Операционная система
Unix", очень советую прочитать.
А если кратко, то выполнить команду "в терминале"  нельзя, но
можно "связать" некоторый процесс с данным терминалом.

> 
> З.Ы. Ещё один вопросец: какие среды программирования посоветуете для написания софта под иксы? Необходимо быстро и легко прикрутить к проге openGL.

vim + gcc -- среда программирования :)
gtk, qt -- библиотеки для создания X-приложений, к которым в
свою очередь можно прикрутить openGL программку. Хотя есть и
другие, которые завязаны на другие языки программирования (ruby,
python ...)

P.s. Про терминалы, процессы и внутреннюю структуру unix систем
лучше всего смотреть все же у Робачевского.
А про gtk и qt в соответсвующих doc-пакетах.


Подробная информация о списке рассылки Volgograd