Библиотека сайта rus-linux.net
Мини-HOWTO: "MacTerminal"
Версия 1.4, 9 Ноября 1997
Это мини HOWTO описывает 1,002-ое применение для мертвого Macintosh (шутка). А если серьезно, как настроить Mac, чтобы использовать его в качестве терминала Linux. Настройки с применением getty, а также kermit описаны так же, как и использование прямой сети kermit между Linux и Macintosh. Этот документ может быть воспроизведен свободно, полностью или частями, при условии, что любое применение согласуется со стандартной заметкой об авторских правах для документов HOWTO, входящих в Linux Documentation Project. Смотрите подробно файл COPYRIGHT. Присылайте все жалобы, предложения, опечатки и любые другие вопросы, чтобы этот документ стал как можно полнее и современнее.
1. Введение
Этот документ должен представить вам великие идеи на тему, как заставить работать ваш Macintosh с Linux. К сожалению, я был очень занят и не мог включить в этот документ даже половину того, что хотел включить, как, например, применение MacTCP и Open Transport, чтобы соединиться с вашим Linux через PPP. Возможно, это появится в следующих версиях этого руководства.
В этом документе не описывается работа в сети с LocalTalk и AppleTalk. Я изучу эти вопросы, если возникнет достаточный интерес, скажем, к печати на принтере LaserWriter под Linux. Другими словами, мне кажется, что такие приложения, будучи более хлопотными, чем нужными, выходят за рамками темы этого документа.
Также я не собираюсь рассказывать в этом документе о MkLinux . По нему существует подробная документация.
Итак, если у вас есть идеи относительно этого документа, напишите мне письмо.
2. Установка последовательного соединения
Чтобы установить последовательную связь между машиной, работающей на операционной системе Linux, и системой Mac, вам понадобится:
Для Linux кабель последовательного порта DB9 Female-to-DB25 Male или DB25 Female-to-DB25 Male, это зависит от вашего последовательного порта.
Для Macintosh: кабель высокоскоростного модема DIN9-to-DB25 Male.
Убедитесь, что на кабеле обозначено "высокоскоростной" кабель, так как некоторые более старые кабели Macintosh предназначены для своих устаревших линий, которые делают их бесполезными для высокоскоростных последовательных соединений.
Вам также нужен адаптер к нуль-модему, выпускающийся американской фирмой Radio Shack, и соответствующие выходы, а также переходник DB25 Female-to-DB25 Female, чтобы соединить кабели для последовательного порта.
Я слышал, что кабели для принтера Mac в действительности являются кабелями нуль-модема, но этого я не утверждаю. Некоторые из них все-таки- DIN9-to-DIN9, и использование их в последовательном соединении может доставить слишком много хлопот.
Если вам что-то непонятно, прочитайте Serial-HOWTO, чтобы ознакомиться в деталях с настройками кабеля RS-232 и протоколами передачи данных.
Прежде, чем соединить систему Mac и машину, работающую под операционной системой Linux, вы должны определить, что у вас есть рабочие последовательные порты на обеих машинах. Это можно проверить, "дозвонившись" с одной машины на другую, используя программы: minicom
(Linux), ZTerm (Mac), kermit
(оба), или с помощью коммуникационной программы по вашему выбору.
Самую последнюю версию minicom вы можете взять на sunsite.unc.edu/pub/Linux/apps/serialcomm/dialout и зеркальных сайтах.
ZTerm является целостной и легкой в использовании программой. К сожалению, она условно бесплатная. Текущую версию можно взять на mac.archive.umich.edu и подобных этому источниках.
Версии программы kermit
есть для каждой машины и любой операционной системы. Архивы размещены на ftp.columbia.edu/kermit.
Вы должны серьезно обдумать возможность использования kermit
на обеих машинах на этой стадии, по крайней мере, так как 1) она бесплатна (хотя не охвачена открытой лицензией (General Public License) фонда бесплатных программных обеспечений, и 2) гораздо удобнее иметь на обеих машинах kermit
, вместо двух совершенно разных коммуникационных программ.
Если у вас другой способ определения состояния портов на двух машинах, то можете воспользоваться и им. Главное- убедиться в том, что у обеих систем есть работающие последовательные порты.
Linux PC DB9- or DB25- Null Gender DIN9-to- MacBox --------- to-DB25 male Modem Changer DB25 Mac -------- | | serial cable. | | | | Serial Cable | | | |-----------------| |--| |-----------------| | | | | | | | | | --------- Adapter --------
3. Соединение Клиента и Сервера, при помощи kermit
.
Это самая быстро выполняемая из всех настроек, здесь описанных. Она требует наименьшее количество настроек системы, хотя они довольно сложные.
Итак, вы запустили kermit
и на Linux, и на Mac, и одна из них работает в режиме сервера. Не важно, какая система-клиент, а какая- сервер, потому что это прямое соединение. Однако у kermit
Linux есть преимущество в возможности написания скриптов, так что будет логичным (для меня, по крайней мере) создать kermit
на Linux как сервер, потому что это более автоматизировано.
Убедитесь, что правильно установили kermit
и на ПК, работающем в Mac, и на ПК с Linux. Следуйте инструкциям в соответствующих дистрибутивах kermit. На машине, работающей в Linux, наберите kermit
в командной строке, чтобы запустить ее. Вам нужны права пользователя root, чтобы установить порт и скорость передачи.
kermit
- последняя версия POSIX для Unices, поддерживает скорость передачи до 115 Кб\с. Более поздняя версия Macintosh поддерживает скорость последовательных портов до 57.6 Кб\с. Это более, чем достаточно, для приложений использующих простой tty, но если вам нужно высокоскоростное соединение, то это может обеспечить kermit
. Потому как kermit
может предоставить вам средства для связи при помощи протокола TCP/IP (я не имел возможности это протестировать). При этом не забывайте (особенно того, что касается Mac) использовать отличный от TCP/IP соединений порт для последовательных соединений
kermit
, потому что kermit
на Mac будет сильно забивать лишними данными последовательный порт.
.kermrc
будет содержать примерно следующее:
echo Executing site initialization file /usr/local/bin/ckermit.local.ini.... set prompt Chanel3 > set line /dev/ttyS0 set baud 38400 set send packet-length 2000 set receive packet-length 2000 set block 3 set file type binaryЗатем на вашем файле
~/.kermrc
появится строка:
take /usr/local/bin/ckermit.local.iniНа Macintosh установите такие же коммуникационные параметры для б\с, стоп-битов, четности и длины слова. Некоторые старые версии Mac Kermit не поддерживают пакетов объемом 2Кб, так что вам надо установить меньший размер пакета. Однако
kermit
устанавливает длину пакета, основанную на длине полученных пакетов, так что понадобится установить меньший размер пакета и на машине под Linux.Чтобы в действительности получить связь, надо установить режим сервера на Mac или на Linux. Не имеет значения где. Просмотрите подробно документы для
kermit
.
3.1. Источники Macintosh
Это одно из очень немногих приложений к kermit
, где для передач полезна установка типа файла text
. Это происходит потому, что файлы Macintosh имеют две части: data fork (область данных) и
resource fork (область ресурсов). Область данных соответствует тому, что мы думаем о мире Linux, как о некоем файле: это фактические данные. Область ресурсов содержит растровые изображения для иконок, раскладки клавиатуры, настройки шрифта и тому подобное. Если вы передадите файл с Linux на Mac, последний не узнает этот файл как текстовый, если вы используете двоичный режим.
При передаче двоичных файлов от одной системы к другой, следует использовать формат Macintosh .hqx
BinHex, который является 7-битовым кодированием 8-битового файла данных. Утилиты Mac, такие как BinHexer или StuffIt, преобразуют файл в его двоичную форму.
Если у вас будет текстовый файл, который вдруг закончится, как файл данных в системе Mac, скорее всего он даже не появится в диалоговом окне "Открыть". Вам придется открыть файл при помощи ResEdit, который можно взять с mac.archive.umich.edu
. ResEdit скажет, что файл, который вы открываете, не имеет область источников и затем спросит, желаете ли добавить эту область. Вы должны ответить на этот вопрос положительно ("Yes"). Затем отредактируйте тип и программу, создавшую файл, выбрав специальную опцию "Открыть" в меню "Файл". Все текстовые файлы Macintosh являются типом TEXT
, так что замените знаки вопроса в окне на TEXT. Код программы, создавшей файл (Creator code), зависит от вашего текстового редактора. Каждый из них уникален и зависит от того, как Mac идентифицирует различные приложения. Код для GNU Emacs на Mac будет, например, EMAC
. Если вы сомневаетесь, каким будет код программы, создавшей файл для вашего текстового редактора, используйте ttxt
, который является кодом для TeachText (эквивалент
EDLIN.EXE
.). Затем настоящий текстовый редактор сможет перевести файл с TeachText на его родной код.
Существует много других подобных вещей, которые под силу TeachText, так что имеет смысл постоянно держать его на своем Mac. Книга Voodoo Mac, написанная Kay Yarborough Nelson,- это источник уже испытанных способов работы Macintosh, которые используют ResEdit, TeachText, the Finder, а также другие программы.
4. Загрузка через kermit
.
Настройка Linux для использования Mac как терминала login:
легче. kermit
идеален для этих целей, потому что это одна из нескольких бесплатных коммуникационных программ, которая обеспечит нужную степень эмуляции VT100/120/220.
Запустите kermit
на Macintosh, как в предыдущем разделе, но не отдавайте команды серверу, а войдите в режим connect
. Это режим эмуляции терминала, который используется в большинстве случаев.
getty
, чтобы получить приглашение на вход в систему. Для этого вам надо чтобы программа init
распознала терминал на последовательном порте. В файле /etc/inittab
необходимо иметь строку:
T1:23:respawn:/sbin/getty -L ttyS0 9600 vt100Убедитесь, что вы заменили подходящее последовательное устройство для
/dev/ttyS0
и поставили правильную скорость.Эта команда для getty
запускает login
(переключатель
-L
) на дисплее терминала, и когда время ввода истечет, перезапустите (respawn
) программу ввода, пока кто-нибудь не войдет. Если ни одно устройство не соединится с последовательным портом или если соединение неправильное, вы увидите на консоли сообщение типа: /dev/ttyS0 respawning too fast: disabling for 5
minutes - слишком быстрая перезагрузка /dev/ttyS0: подождите 5 минут.
. Если это случилось, вернуться к началу процесса (с правами пользователя root), терминируя процесс getty
или используя команду
init q
. У них обеих тот же эффект, что и у перезапуска процесса(ов) getty
. Если все в порядке, вам надо заглянуть в вывеску Linux и незамедлительно зайти в окно Mac kermit
. Вроде все.
Также, если вы используете что-нибудь похожее, но не getty
, например,
getty_ps
, вышеприведенная команда будет иной. Очень важно запомнить, что все, что находится справа от
/sbin/getty
, - это аргумент для самого getty
, но не
init
. Просмотрите страницы руководства к
getty
, init
и inittab
, если у вас возникли вопросы.
В Serial HOWTO вы найдете подробное описание настройки
/etc/inittab
в getty_ps
, если ваша система использует эту программу.
kermit -x
,
чтобы запустить kermit
на Linux в режиме сервера. Вы можете затем использовать команды для передачи файлов, чтобы посылать файлы через последовательное соединение. Стоит установить приглашение в своем файле
~/.kermrc
строкой:
set prompt Linux-kermit >Иначе вы спутаете, в какой системе находитесь.
4.1. Другие программы для терминала Mac
Этот метод также хорош для любой другой программы терминалов Mac. Если у вас есть ZTerm, то можно использовать rz
и sz
на Linux для передачи файлов по протоколу ZModem. Если вы приобрели факс-модем вместе с программой Microphone Lite, то это тоже неплохое решение, они будут работать не хуже kermit
.
5. Заключение
Если у вас возникают вопросы или предложения относительно этого документа, пожалуйста, напишите мне по адресу kiesling@terracom.net
.
6. Авторские права
Авторские права на русский перевод этого текста принадлежат © 2000 SWSoft Pte Ltd. Все права зарезервированы.
Этот документ является частью проекта Linux HOWTO.
Авторские права на документы Linux HOWTO принадлежат их авторам, если явно не указано иное. Документы Linux HOWTO, а также их переводы, могут быть воспроизведены и распространены полностью или частично на любом носителе, физическом или электронном, при условии сохранения этой заметки об авторских правах на всех копиях. Коммерческое распространение разрешается и поощряется; но, так или иначе, автор текста и автор перевода желали бы знать о таких дистрибутивах.
Все переводы и производные работы, выполненные по документам Linux HOWTO должны сопровождаться этой заметкой об авторских правах. Это делается в целях предотвращения случаев наложения дополнительных ограничений на распространение документов HOWTO. Исключения могут составить случаи получения специального разрешения у координатора Linux HOWTO, с которым можно связаться по адресу приведенному ниже.
Мы бы хотели распространить эту информацию по всем возможным каналам. Но
при этом сохранить авторские права и быть уведомленными о всех планах
распространения HOWTO. Если у вас возникли вопросы, пожалуйста, обратитесь
к координатору проекта Linux HOWTO по электронной почте:
<linux-howto@metalab.unc.edu>
или к координатору русского
перевода Linux HOWTO компании SWSoft Pte Ltd. по адресу
<linux-howto@asplinux.ru>