Мини-HOWTO: "MacTerminal"

Robert Kiesling

Перевод: Михаил Корепанов, SWSoft Pte Ltd.

Версия 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. Это режим эмуляции терминала, который используется в большинстве случаев.

На Linux, для настройки последовательного порта, надо использовать программу 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, если ваша система использует эту программу.

Чтобы передавать файлы туда и обратно между Macintosh и Linux, можно (через Mac Kermit ) дать команду kermit -x, чтобы запустить kermit на Linux в режиме сервера. Вы можете затем использовать команды для передачи файлов, чтобы посылать файлы через последовательное соединение. Стоит установить приглашение в своем файле ~/.kermrc строкой:

set prompt Linux-kermit >
Иначе вы спутаете, в какой системе находитесь.


4.1. Другие программы для терминала Mac

Этот метод также хорош для любой другой программы терминалов Mac. Если у вас есть ZTerm, то можно использовать rz и sz на Linux для передачи файлов по протоколу ZModem. Если вы приобрели факс-модем вместе с программой Microphone Lite, то это тоже неплохое решение, они будут работать не хуже kermit.


5. Заключение

Если у вас возникают вопросы или предложения относительно этого документа, пожалуйста, напишите мне по адресу [email protected].


6. Авторские права

Авторские права на русский перевод этого текста принадлежат © 2000 SWSoft Pte Ltd. Все права зарезервированы.

Этот документ является частью проекта Linux HOWTO.

Авторские права на документы Linux HOWTO принадлежат их авторам, если явно не указано иное. Документы Linux HOWTO, а также их переводы, могут быть воспроизведены и распространены полностью или частично на любом носителе, физическом или электронном, при условии сохранения этой заметки об авторских правах на всех копиях. Коммерческое распространение разрешается и поощряется; но, так или иначе, автор текста и автор перевода желали бы знать о таких дистрибутивах.

Все переводы и производные работы, выполненные по документам Linux HOWTO должны сопровождаться этой заметкой об авторских правах. Это делается в целях предотвращения случаев наложения дополнительных ограничений на распространение документов HOWTO. Исключения могут составить случаи получения специального разрешения у координатора Linux HOWTO, с которым можно связаться по адресу приведенному ниже.

Мы бы хотели распространить эту информацию по всем возможным каналам. Но при этом сохранить авторские права и быть уведомленными о всех планах распространения HOWTO. Если у вас возникли вопросы, пожалуйста, обратитесь к координатору проекта Linux HOWTO по электронной почте: или к координатору русского перевода Linux HOWTO компании SWSoft Pte Ltd. по адресу