новки.Macro Substitution [The cd internal command] Встроенная команда cd Команда ^Tcd не передается на исполнение оболочке, а интер- претируется самой программой Midnight Commander. Поэтому при ее запуске возможны не все удобные макро-расширения и подстановки, доступные в оболочке, а только часть из них: ^TЗамена тильды Символ тильды (~) будет заменен именем Вашего домашнего каталога, а если Вы добавите после тильды имя пользователя, эта конструкция будет заменена на имя домашнего каталога указанного пользователя. Например, ~guest - это домашний каталог пользователя guest, в то время как ~/guest - это каталог guest в Вашей домашней директории. ^TПредыдущий каталог Вы можете перейти в предыдущий каталог, используя специальное имя '-', то есть выполнив команду: cd - ^TКаталоги в CDPATH Если каталог, указанный команде cd , не является подкаталогом текущей директории, то Midnight Commander использует значение переменной окружения CDPATH для поиска указанного каталога во всех директориях, перечис- ленных в этой переменной. Например, если переменной CDPATH присвоено значение ~/src:/usr/src , то из любого места в файловой системе Вы сможете перейти в любой подкаталог каталогов ~/src и /usr/src , используя только относительные имена (cd linux вызовет переход в /usr/src/linux). [Macro Substitution] Макро-подстановки Перед выполнением команд, задаваемых пунктами пользователь- ского меню,Menu File Edit вызываемых по расширению имени файла,Extension File Edit или запускаемых из командной строки ввода, вначале выполняются простые макро-подстановки. В качестве макросов применяются: ^T"%f" Текущее имя файла. ^T"%d" Имя текущего каталога. ^T"%F" Текущее имя файла в неактивной панели. ^T"%D" Имя текущего каталога в неактивной панели. ^T"%t" Отмеченные файлы. ^T"%T" Файлы, отмеченные в неактивной панели. ^T"%u" и ^T"%U" Подобны макросам %t и %T, но дополнительно снимается отметка с файлов. Их можно использовать в скриптах, заданных для пункта меню или ассоциированных с расширением файла, только один раз, поскольку после их использования помеченных файлов не будет. ^T"%s" and ^T"%S" Выбранные файлы: помеченные файлы, если такие есть; в противном случае файл, имя которого подсвечено. ^T"%q" Dropped files. In all places except in the Drop action of the mc.ext file,Extension File Edit this will become a null string, in the Drop action it will be replaced with a space separated list of files that were dropped on the file. ^T"%cd" Это специальный макрос, используемый для перехода из текущего каталога в каталог, указанный перед этим макросом. Используется в основном для обращения к виртуальным файловым системам.Virtual File System ^T"%view" Этот макрос используется для вызова встроенной программы просмотра. Может использоваться как с аргументами, так и без них. Если заданы аргументы, они должны быть заключены в скобки. Аргументами могут быть: ^Tascii - для перевода программы просмотра в режим ascii; ^Thex - для перевода программы просмотра в режим hex; ^Tnroff - для указания программе просмотра, что необходимо интерпретировать выделенные (bold) и подчеркнутые последовательности nroff; ^Tunformated - указывает программе просмотра, что не нужно использовать команды nroff для выделения или почеркивания текста; ^T"%%" Символ % ^T"%{любой текст}" Запрос на подстановку. Будет выдаваться окно ввода, а текст из скобок выводится как подсказка. Макрос заменяется на текст, введенный пользователем в окне ввода. Пользователь может нажать ESC или F10 для того, чтобы отказаться от ввода. Этот макрос пока не работает в команд- ной строке. [The subshell support] Поддержка subshell Поддержка subshell - это опция компиляции, которая работает с оболочками bash, tcsh и zsh. Если поддержка subshell включена, то Midnight Commander бу- дет порождать точную копию (a concurrent copy) Вашей оболоч- ки (которая определена в переменной окружения SHELL или, если эта переменная не определена, в файле /etc/passwd) и запускать ее в псевдо-терминале, вместо того, чтобы каждый раз вызывать новую оболочку для выполнения команды. Введен- ная команда передается subshell. Это позволяет изменять зна- чения переменных окружения, использовать функции shell и определять элиасы (aliases), которые будут действовать до выхода из программы Midnight Commander. Если Вы используете bash , Вы можете указать команды, кото- рые будут выполняться при запуске subshell, в файле ~/.mc/bashrc и специальную карту раскладки клавиатуры в файле ~/.mc/inputrc . Пользователи tcsh могут задать выпол- няемые при запуске команды в файле ~/.mc/tcshrc . Во время выполнения приложения в subshell можно в любой момент нажать комбинацию клавиш C-o для переключения в Midnight Commander (выполняемая команда или приложение будут остановлены). Если Вы прервали таким образом испол- нение команды, Вы не сможете запустить другую внешнюю команду, пока не завершите работу остановленного приложения. Особенностью использования subshell является то, что под- сказка (prompt), выводимая Midnight Commander будет той же самой, что и в Вашей обычной оболочке. В разделе  Опции запуска OPTIONS приведена дополнительная информация о том, как можно управлять (настроить) subshell. [Controlling Midnight Commander] Управление программой Midnight Commander из программ Midnight Commander определяет переменную окружения MC_CONTROL_FILE. Команды, запускаемые программой MC, могут передать MC некоторые инструкции путем записи в файл, указанный в этой переменной. Эта возможность реализуется только в том случае, если Midnight Commander скомпилирован с опцией WANT_PARSE. Поддерживаются следующие инструкции. clear_tags Снять все отметки. tag <filename> Пометить указанный файл. untag <filename> Снять отметку с указанного фйла. select <filename> Переместить подсветку на указанный файл. change_panel Переключиться между панелями. cd <path> Перейти в каталог. Если первая буква инструкции строчная (набрана в нижнем регистре), инструкция выполняется в активной панели. Если первая буква заглавная (в верхнем регистре) - инструкция выполняется в пассивной панели. Все последующие буквы должны набираться в нижнем регистре. Инструкции должны быть разделе- ны в точности одним пробелом, знаком табуляции или знаком новой строки. Инструкции не работают в режимах "Информация", "Дерево каталогов" и "Быстрый просмотр". Первая же ошибка приводит к тому, что все последующие инструкции игнорируются. [Completion] Завершение ввода (Completion) Заставьте Midnight Commander работать на клавиатуре вместо Вас! Завершение ввода - это попытка закончить за Вас ввод текста, набранного до текущей позиции курсора. MC пытается завершить ввод, трактуя уже введенный текст как переменную (если текст начинается с $ ), имя пользователя (если текст начинается с ~ ), имя хоста (если текст начинается на @ ) или как команду (если Вы в командной строке в позиции, где Вы можете вводить команду; в этом случае для завершения ввода исполь- зуются зарезервированные слова оболочки, в том числе любая из встроенных команд оболочки). Если введенный текст не попадает ни в одну из перечисленных категорий, выполняется попытка завершения текста как имени файла. Завершение имен файлов, пользователей, переменных и хостов работает во всех строках ввода, завершение команд - только в командной строке. Если однозначно выполнить завершение ввода невозможно (имеется несколько вариантов), MC издает звуковой сигнал и выполняет следующие действия, в зависимости от установки опции ^TComplete: show all в пункте меню Настройки/КонфигурацияConfiguration. Если эта опция включена, список всех возможных варантов завершения появляется возле текущей позиции и Вы можете выбрать нужный вариант с помощью клавиш стрелок и Enter . Вы можете также набрать следующую букву, чтобы перейти к подмножеству всех возможных завершений. Если Вы снова нажмете M-Tab , будет выведено уже сокращенное множество вариантов, причем в строку ввода добавляются те символы, которые определяются однозначно (даже если полное завершение ввода еще невозможно). Как только неопределенность выбора исчезает, пропадает и диалоговое окно с вариантами. Вы можете отказаться от вывода на экран этого окна в любое время, нажав одну из клавиш Esc, F10 или стрелку влево / вправо. Если опция Complete: show allConfiguration отключена, окно с вариантами завершения появляется только тогда, когда Вы нажмете клавиши M-Tab второй раз, при первом нажатии MC только издает звуковой сигнал. [Virtual File System] Виртуальные файловые системы Программа Midnight Commander содержит подпрограммы, обеспе- чивающие доступ к различным файловым системам. Эти подпро- граммы (их совокупность называется переключателем виртуальных файловых систем - virtual file system switch) позволяют Midnight Commander-у манипулировать файлами, расположенными на не-Unix-овых файловых системах. В настоящее время Midnight Commander обеспечивает поддержку нескольких Виртуальных Файловых Систем - ВФС (VFS): - локальной файловой системы, используемой для обычных файло- вых систем Unix; - файловой системы ftpfs, используемой для манипулирования файлами на удаленных компьютерах по протоколу FTP; - файловой системы tarfs, используемой для обработки tar- и сжатых tar-файлов; - файловой системы undelfs, используемой для восстановления удаленных файлов в файловой системе ext2 (файловая система, используемая в Linux по умолчанию); - файловой системы fish (для манипулирования файлами при работе с оболочкой через такие программы как rsh and ssh); - и, наконец, сетевой файловой системы nfs. Подпрограммы работы с виртуальными файловыми системами интер- претируют все встречающиеся имена путей и формируют коррект- ные обращения к различным файловым системам. Форматы обраще- ния к каждой из виртуальных файловых систем описаны в отдель- ных разделах по каждой ВФС:  Файловая система ftpfs (FTP File System)FTP File System  Файловая система tar Tar File System  Файловая система FISH (FIle transfer over SHell) FIle transfer over SHell filesystem  Файловая система NFS (Network File System) Network File System  Файловая система UFS (Undelete File System) Undelete File System [FTP File System] Файловая система FTP Файловая система ftpfs позволяет Вам работать с файлами на удаленных компьютерах. Для этого Вы можете использовать команду "FTP-соединение" (доступную из меню левой и правой панелей) или же непосредственно сменить текущий каталог командой cd, задав путь к каталогу следующим образом: ^T/#ftp:[!][user[:pass]@]machine[:port][remote-dir] Элементы ^Tuser, port и ^Tremote-dir не обязательны. Если элемент ^Tuser указан, то Midnight Commander будет пытаться логироваться на удаленный компьютер с эти именем, в противном случае будет использовано то имя, с которым Вы логировались на локальный компьютер. Необязательный элемент ^Tpass (если указан) используется как пароль для входа. Однако явно задавать его не рекомендуется (также не записывайте его в Ваши hotlist, если только Вы не обеспечили соответствующую защиту этих файлов; но и тогда нельзя быть полностью уверенным в безопасности). Примеры: /#ftp:ftp.nuclecu.unam.mx/linux/local /#ftp:tsx-11.mit.edu/pub/linux/packages /#ftp:!behind.firewall.edu/pub /#ftp:guest@remote-host.com:40/pub /#ftp:miguel:xxx@server/pub Для того, чтобы соединиться с сервером, который расположен за firewall, Вы должны использовать префикс ftp://! (то есть добавить восклицательный знак после двойного слэша), чтобы указать Midnight Commander на необходимость использования прокси для осуществления передач по ftp. Вы можете задать имя прокси в диалоговом окне Виртуальные ФС...Virtual FS меню "Настройки". Чтобы не задавать имя прокси-сервера каждый раз, можно поставить отметку в квадратных скобках возле опции ^TAlways use ftp proxy в диалоговом окне Виртуальные ФС...Virtual FS меню "Настройки". В таком случае программа всегда будет использо- вать указанный прокси-сервер. При этом (если опция установ- лена) программа делает следующее: считывает из файла /usr/lib/mc.no_proxy имена локальных хостов (если имя начи- нается с точки, оно считается именем домена), и, если задан- ное при установлении FTP-соединения имя хоста совпадает с одним из имен, указанных в файле mc.no_proxy без точки, то производит прямое обращение к данному хосту. Если Вы подключаетесь к ftp-серверу через фильтрующий пакеты маршрутизатор (If you are using the ftpfs code with a filtering packet router), который не позволяет Вам использо- вать обычный режим открытия файлов, Вы можете заставить про- грамму работать в режиме пассивного открытия файла (the passive-open mode). Для этого установите в инициализационном файле опцию ^Tftpfs_use_passive_connections . Midnight Commander сохраняет в течение заданного интервала времени список файлов удаленного каталога, прочитанный по FTP, в оперативной памяти. Величина этого интервала времени задается в диалоговом окне Виртуальные ФС...Virtual FS меню "Настройки". В силу этого возможен побочный эффект, заключа- ющийся в том, что даже если Вы сделали какие-то изменения в каталоге, они не будут отображаться в панели до тех пор, пока Вы не обновите содержимое панели командой C-r . Это не являет- ся недоработкой (если Вы думаете, что это ошибка, поразмыс- лите над тем, как происходит работа по FTP с файлами, нахо- дящимися на другой стороне Атлантического океана). [Tar File System] Файловая система Tar Файловая система tar обеспечивает Вам доступ по чтению к tar- и сжатым tar-файлам, используя команду chdir. Для перехода в каталог, представляющий список файлов tar-файла, Вы должны использовать команду, имеющую следующий формат: ^Tcd ./filename.tar#utar/[dir-inside-tar] Файл mc.ext обычно по умолчанию содержит команды для про- смотра tar-файлов, то есть обычно для получения списка файлов tar-архива Вам достаточно просто переместить указатель на имя tar-файла и нажать Enter. Чтобы понять, как это достига- ется, смотрите раздел Файл расширений. Extension File Edit Примеры: cd mc-3.0.tar.gz#utar/mc-3.0/vfs cd /ftp/GCC/gcc-2.7.0.tar#utar В последнем примере указан полный путь к tar-архиву. [FIle transfer over SHell filesystem] Файловая система FISH (FIle transfer over SHell) Файловая система fish - это сетевая файловая система, которая позволяет работать с файлами на удаленном компьютере так, как если бы они были расположены на Вашем диске. Для того, чтобы это было возможно, на удаленном компьютере должен быть запущен fish-сервер, или bash-совместимая оболочка shell. Для соединения с удаленным компьютером Вы должны выполнить команду перехода в каталог (chdir), имя которого задается в следующем формате: ^T/#sh:[user@]machine[:options];/[remote-dir]; Элементы ^Tuser, ^Toptions и ^Tremote-dir не обязательны. Если задан элемент ^Tuser , то Midnight Commander будет логи- роваться на удаленный компьютер под этим именем, в противном случае - под тем именем, с которым Вы логировались в локаль- ной системе. В качестве ^Toptions могут использоваться: 'C' - использовать сжатие и 'r' - использовать rsh вместо ssh. Если задан элемент ^Tremote-dir , то указанный каталог станет текущим после соединения с удаленным компьютером. Примеры: /#sh:onlyrsh.mx:r/linux/local /#sh:joe@want.compression.edu:C/private /#sh:joe@noncompressed.ssh.edu/private [Network File System] Файловая система NFS (Network File System) Файловая система mc - это еще одна сетевая файловая система, которая позволяет работать с файлами на удаленном компьютере. Для того, чтобы можно было воспользоваться этой ФС, на уда- ленном компьютере должна быть запущена серверная программа mcserv(8) . Для соединения с удаленным компьютером Вы должны выполнить команду перехода в каталог, имя которого строится в соответ- ствии со следующим форматом: ^T/#mc:[user@]machine[:port][remote-dir] Элементы ^Tuser, ^Tport и ^Tremote-dir не обязательны. Если задан элемент ^Tuser , то Midnight Commander будет логи- роваться на удаленный компьютер под этим именем, в противном случае - под тем именем, с которым Вы логировались в локаль- ной системе. Элемент ^Tport используется в том случае, если удаленный компьютер использует специальный порт (чтобы узнать, что такое порт и как его использовать, смотри страницу руко- водства man mcserv(8) ). Если задан элемент ^Tremote-dir , то указанный каталог станет текущим после соединения с удаленным компьютером. Примеры: /#mc:ftp.nuclecu.unam.mx/linux/local /#mc:joe@foo.edu:11321/private [Undelete File System] Файловая система UFS (Undelete File System) В ОС Linux можно сконфигурировать файловую систему ext2fs, используемую по умолчанию, таким образом, что появится возможность восстанавливать удаленные файлы (но только в файловой системе ext2). Файловая система UFS (Undelete File System) представляет собой интерфейс к библиотекам ext2fs, позволяющий восстановить имена всех удаленных файлов, выбрать некоторое количество таких файлов и восстановить их. Для того, чтобы воспользоваться этой возможностью (этой файловой системой), Вы должны выполнить команду перехода (chdir) в специальный каталог, имя которого образуется из префикса "/#undel" и имени специального файла устройства, на котором находится реальная файловая система. Например, чтобы восстановить удаленные файлы на втором раз- деле первого SCSI-диска, Вы должны использовать следующее путевое имя: /#undel:/sda2 Загрузка списка удаленных файлов требует некоторого времени, так что наберитесь терпения. Имейте в виду, что имена файлов в полученном списке будут цифровыми, так что поиск нужного придется проводить либо по дате, либо последовательным про- смотром содержимого (в общем, я Вам не завидую!). [Colors] Цвета Программа Midnight Commander пытается определить, поддержи- вает ли Ваш терминал цвета, используя для этого базу данных о терминалах и имя Вашего терминала. Иногда это не удается. В таких случаях Вы можете включить или отключить цветной вывод, используя опции запуска программы -c и -b, соответст- венно. Программа может быть скомпилирована использованием библиотек ncurses и slang . ncurses не дает возможности работать в цветном режиме: ncurses использует только информацию из базы данных о терминалах. Для того, чтобы узнать, какая библиотека была использована при компиляции, дайте команду mc -V . Если программа скомпилирована с использованием менеджера экрана Slang вместо ncurses , она проверяет значение перемен- ной COLORTERM ; задание этой переменной дает тот же эффект, что и задание опции -c. Вы можете указать терминалы, которые всегда должны работать в цветном режиме, добавив строку ^Tcolor_terminals в секцию Colors инициализационного файла. В этом случае Midnight Commander не будет пытаться определить, поддерживает ли Ваш терминал цветной вывод. Пример: [Colors] color_terminals=linux,xterm color_terminals=terminal-name1,terminal-name2... Midnight Commander обеспечивает также возможность изменять цвета, заданные по умолчанию. В настоящее время таблица используемых цветов задается переменной MC_COLOR_TABLE или в секции Colors инициализационного файла. В секции Colors загружаемая по умолчанию таблица цветов определяется переменной (строкой) ^Tbase_color . Вы можете указать альтернативную таблицу цветов для терминала, исполь- зуя имя терминала как ключ в этой секции. Пример: [Colors] base_color= xterm=menu=magenta:marked=,magenta:markselect=,red Формат определения цвета: <keyword>=<foregroundcolor>,<backgroundcolor>:<keyword>= ... В качестве ключевых слов (keywords) могут использоваться: для задания цветовой палитры в панелях: normal, selected, marked, markselect, errors, input, reverse, gauge ; цвета пунктов меню: menu, menusel, menuhot, menuhotsel ; цвета в окне диалога: dnormal, dfocus, dhotnormal, dhotfocus ; цвета в окне подсказки: helpnormal, helpitalic, helpbold, helplink, helpslink ; в окне программы просмотра: viewunderline ; специальные подсветки: executable, directory, link, device, special, core ; в окне редактора: editnormal, editbold, editmarked . Цвета задавать не обязательно. Цвет какого именно поля опре- деляется каждым ключевым словом, можно понять из перевода этого ключевого слова. Некоторые случаи требуют пояснений. ^Tinput определяет цвета в строке ввода в диалоговых окнах. ^Tgauge определяет цвет заполненой части полоски (progress bar), при графическом отображении хода выполнения файловых операций (копирование и др.). Диалоговые окна используют следующие цвета: ^Tdnormal исполь- зуется для нормального текста, ^Tdfocus - цвет, используемый для выделенного в данный момент компонента окна, ^Tdhotnormal - цвет, используемый для выделения "горячих" клавиш в обычных коспонентах, в то время как цвет ^Tdhotfocus используется для выделения "горячих" клавиш в выбранных в данный момент компонентах окна. В меню используется та же самая схема, только в качестве названий элементов используются menu, menusel, menuhot и menuhotsel. Окно подсказки использует следующие цвета: ^Thelpnormal - для отображения простого текста, ^Thelpitalic - для вывода текста, выделенного в man-страницах курсивом, ^Thelpbold - для вывода текста, выделенного в man-страницах жирным шрифтом, ^Thelplink - для выделения неактивных гиперссылок, ^Thelpslink - для выделения активной в данный момент гиперссылки. Специальные цвета подсветки используются для отображения имен файлов разных типов и выделения цветом прав доступа (если выделение цветом этих элементов задано в настройках программы, смотри раздел Внешний видLayout): ^Tdirectory используется для каталогов и символических ссылок на каталоги; ^Texecutable - для исполняемых файлов; ^Tlink - для символических ссылок, которые указывает на файлы (не каталоги) и для оборванных (stalled) символичес- ких ссылок; ^Tstalledlink - для оборванных (stalled) символических ссылок; ^Tdevice - для файлов устройств; ^Tspecial - для специальных файлов типа FIFO и IPC sockets; ^Tcore - для файлов с дампами (core). Возможные цвета: black, gray, red, brightred, green, brightgreen, brown, yellow, blue, brightblue, magenta, brightmagenta, cyan, brightcyan, lightgray и white . Для прозрачного фона используются специальное ключевое слово 'default'. Слово 'default' можно использовать только при задании цвета фона. Пример: [Colors] base_color=normal=white,default:marked=magenta,default [Special Settings] Специальные установки (Special Settings) Большинство установок Midnight Commander может быть изменено путем использования меню. Однако имеется несколько установок, которые могут быть измены только путем непосредстенного редактирования инициализационного файла ~/.mc/ini : ^Tclear_before_exec. По умолчанию Midnight Commander очищает экран перед выполнением команды. Если Вы хотите, чтобы вывод предыдущей команды не исчезал, измените значение поля clear_before_exec на 0. ^Tconfirm_view_dir. Если Вы нажимаете F3 на имени каталога, обычно MC переходит в этот каталог. Если этот флаг будет установлен в 1, MC будет спрашивать подтверждение перед тем, как перейти в указанный каталог, если только в текущем каталоге были помечены какие-либо файлы. ^Tftpfs_retry_seconds. Этот параметр задает интервал времени (в секундах), по истечении которого Midnight Commander будет предпринимать повторную попытку соединиться с ftp-сервером после того, как предыдущая попытка логироваться окончилась неудачей. Если задано нулевое значение, программа не будет повторять попытку логироваться. ^Tftpfs_use_passive_connections. По умолчанию эта опция отключена. Она включается для перекачки файлов по протоколу FTP в тех случаях, когда компьютер пользователя располага- ется за маршрутизатором, фильтрующим пакеты (behind a filtering packet router). Эта опция работает только в том случае, когда Вы не используете прокси (you are not using an ftp proxy). ^Tmax_dirt_limit. Определяет, сколько раз может быть пропу- щена операция обновления изображения на экранепри работе во встроенной программе просмотра. Обычно этот параметр не имеет большого значения, поскольку программа автоматически выбирает оптимальное значение в зависимости от скорости нажатий на клавиши. Однако на очень медленных машинах или терминалах с большой скоростью автоповторения (keyboard auto repeat) слишком большое значение этого параметра может привести к тому, что процедура обновления экрана начнет Вaс разадражать. По-видимому значение max_dirt_limit, равное 10, обеспечивает наилучший выбор, и именно такое значение устанавливается по умолчанию. ^Tmouse_move_pages. Определяет, будет ли прокрутка информации (scrolling) в панелях, осуществляемая с помощью мышки, произ- водиться страницами или на одну строку. ^Tmouse_move_pages_viewer. Определяет, будет ли прокрутка информации (scrolling) во встроенной программе просмотра, осуществляемая с помощью мышки, производиться страницами или на одну строку. ^Told_esc_mode По умолчанию Midnight Commander трактует нажатие на клавишу ESC как действие, предшествующее нажатию какой-то другой клавиши (old_esc_mode=0), и совместно обра- батывает комбинацию <Esc-key>. Если установить эту опцию в 1 (old_esc_mode=1), то программа будет ожидать нажатия второй клавиши только в течение 1 секунды, и если за это время ни одна клавиша не нажата, то ESC интерпретируется как требование отказа от выполнения предыдущей команды (ESC ESC). ^Tonly_leading_plus_minus устанавливает специальный режим обработки символов '+', '-', '*' в командной строке. Эти символы используются для выбора, отмены выбора и инвертиро- вания выбора, но выполняют такую функцию только если команд- ная строка пуста. В середине командной строки эти символы уже не вызывают выполнения операций группового выбора, но зато Вы не сможете выполнить такие операции, если командная строка не пуста. ^Tpanel_scroll_pages Если опция установлена (по умолчанию она установлена), то когда кусор (подсветка) достигает конца или начала списка файлов, отображаемого на панели, будет производиться смещение на половину этого списка (то есть половина отображаемого списка остается на экране, а половина пропадает, заменяясь следующими пунктами общего списка). Если опция не установлена, происходит смещение только на одну строку. ^Tpreserve_uidgid Если опция установлена, то логировавшись как root, Вы не будете изменять UID и GID файлов. Некоторые пользователи предпочитают отключать эту опцию. ^Tshow_output_starts_shell Эта переменная работает только в том случае, когда не включена поддержка subshell. Если она установлена, то при нажатии C-o для перехода в экран пользователя, Вы будете запускать новый экземпляр оболочки. ^Ttorben_fj_mode Установка этой опции слегка изменяет реакцию программы на нажатие клавиш Home и End в активной панели. Вместо того, чтобы перемещать подсветку (курсор) к первому или последнему из имен файлов, отображенных на панели, нажа- тие этих клавиш будет вызывать следующую реакцию: клавиша Home - перемещение курсра вверх до середины панели, если курсор был ниже, в противном случае перемещение на самую верхнюю строку; если только курсор уже на самой верхней строке, то перемещение на самую первую строку списка файлов. клавиша End вызывает аналогичную реакцию - смещение вниз до середины панели, если курсор был выше; если ниже - то переход на последнюю отображаемую в панели строку; если уже на последней строке, то премещение курсора на самую последнюю строку списка файлов. ^Tuse_file_to_guess_type Когда эта опция включена, будет вызываться команда обработки файла, определяемая по расшире- нию в соответствии с типами файлов, указанными в mc.ext.Extension File Edit ^Txterm_mode Если эта переменная включена (по умолчанию она отключена), то при просмотре в одной из панелей структуры дерева каталогов во второй панели автоматически будет отображаться список файлов выбранного каталога. [Terminal databases] Базы терминалов (Terminal databases) Midnight Commander обеспечивает возможность внесения исправ- лений в системную базу терминалов, даже если Вы не обладае- те правами суперпользователя. Midnight Commander ищет в сис- темном инициализационном файле (файл mc.lib в библиотечном каталоге программы Midnight Commander) или в файле ~/.mc/ini секцию с названием "terminal:your-terminal-name", а затем секцию "terminal:general". Каждая строка в этих секциях содержит ключевое слово, которое Вы хотите определить, за которым следует знак равенства и определение ключевого слова. Специальный символ \E используется для задания escape- последовательностей, а ^x служит для задания последователь- ностей вида control-x . В качестве ключевых слов используются: f0 - f20 определяет последовательность символов, генерируемых при нажатии на функциональные клавиши f0-f20 bs определяет последовательность символов, которая будет использоваться вместо клавиши backspace home то же для клавиши Home end то же для клавиши end up то же для клавиши "стрелка вверх" down то же для клавиши "стрелка вниз" left то же для клавиши "стрелка влево" right то же для клавиши "стрелка вправо" pgdn то же для клавиши page down pgup то же для клавиши page up insert то же для клавиши insert delete то же для клавиши delete complete комбинация клавиш для выполнения операции "завершение ввода" Например, для того, чтобы задать, что вместо клавиши insert будет использоваться комбинация клавиш Escape + [ + O + p , нужно в файле ini прописать строку: insert=\\E[Op Операция "завершение ввода" обычно вызывается по клавишам M-tab , но задав значение ключевого слова ^Tcomplete можно вызывать такую же реакцию системы по другой комбинации клавиш (почему бы не сделать это, если у Вас клавиатура, имеющая массу неиспользуемых клавиш!). [QueryBox] Диалоговые окна запросов В окнах запросов для выбора какого-либо варианта ответа (которые обычно задаются в виде экранных кнопок) Вы можете использовать либо клавиши со стрелками, либо выбрать ответ путем нажатия клавиши с выделенной в названии кнопки буквой, либо щелкнув по нужной кнопке мышкой. [FILES] Файлы Исполняемые файлы программы (mc , mcedit , mcmfmt ) находятся в каталоге /usr/bin . Кроме того, два скрипта (mc.csh , mc.sh ) с функциями, необходимыми для запуска программы с опцией -P (см. раздел Опции запускаOPTIONS), находятся в каталоге /etc/profile.d . Программа извлекает всю нужную ей информацию из файлов, пути к которым определяются относительно переменной окружения MCHOME . Если эта переменная не задана, происходит обращение к так называемому библиотечному каталогу программы Midnight Commander. Для того, чтобы узнать имя этого каталога, дайте команду mc -f . В приводимых ниже именах файлов считается, что таким каталогом является каталог /usr/lib/mc . В этом каталоге расположены следующие файлы: /usr/lib/mc/mc.hlp Файл подсказки для программы. /usr/lib/mc/mc.lib Глобальные установки для Midnight Commander. Эти установки используются любым запускаемым экземпляром Midnight Commander-а, а поэтому используются в основном для задания установок терминалов (to define site-global terminal settings). /usr/lib/mc/mc.ext Используемый по умолчанию общесистемный файл расширений. /usr/lib/mc/mc.ini Используемый по умолчанию общесистемный файл устано- вок для Midnight Commander; используется только в тех случаях, когда пользователь не имеет своего файла ~/.mc/ini . /usr/lib/mc/mc.hint Этот файл содержит подсказки (hints или cookies), циклически отображаемые программой. /usr/lib/mc/mc.menu Этот файл содержит общесистемное меню приложений. Кроме того, библиотечный каталог программы содержит подкаталог bin , в котором расположена подпрограмма cons.saver, и подката- лог extfs с подпрограммами обработки файлов виртуальных файло- вых систем. В домашнем каталоге любого пользователя могут быть созданы следующие файлы: ~/.mc/ext Пользовательский файл расширений, конфигурации программ просмотра и редактирования файлов. Если этот файл существует, то заданные в нем установки используются вместо установок, определенных в обще- системном файле ~/.mc/ini Собственные установки пользователя. Если такой файл существует, то установки загружаются из него, а не из общесистемного инициализационного файла программы. ~/.mc/menu Собственное меню пользователя. Если этот файл сущест- вует, он используется вместо общесистемного меню. ~/.mc/tree Список каталогов для окна, выводимого при выборе пункта меню "Команда/Дерево каталогов" или при про- смотре дерева каталогов в одной из панелей. Каждая строка файла соответствует подкаталогу. Строки, начи- нающиеся со слэша ("/") соответсвуют полным путям. Если строка начинается с цифры, то надо взять указан- ное число символов из имени предыдущего каталога. При желании Вы можете создать этот файл, дав команду "find / -type d -print | sort > ~/.mc.tree". Обычно не имеет смысла делать это, потому что Midnight Commander автоматически обновляет этот файл. В любом каталоге может быть создан файл .mc.menu , содержащий локальное меню, задаваемое пользователем. Если этот файл существует, он используется вместо файла меню из домашнего каталога пользователя и общесистемного меню. В каталоге /usr/doc/mc-4.5.30 расположены 4 текстовых файла, в которых Вы можете найти краткие сведения о программе (файл README ), о том, чем отличаются друг от друга версии программы (NEWS ), ответы на некоторые часто задаваемые вопросы (FAQ ) и текст лицензии GNU, под которой распространяется программа (COPYING ). При установке rpm-пакета с программой Midnight Commander автоматически устанавливаются две страницы интерактивного руководства man: /usr/man/man1/mc.1 и /usr/man/man1/mcedit.1 . [AVAILABILITY] Обновление версий Последние версии программы Midnight Commander можно найти на сайте ^Tftp.nuclecu.unam.mx в каталоге /linux/local или на европейских сайтах ^Tsunsite.mff.cuni.cz в каталоге /GNU/mc и ^Tftp.teuto.de в каталоге /lmb/mc. [SEE ALSO] Другие источники ed(1), gpm(1), mcserv(8), terminfo(1), view(1), sh(1), bash(1), tcsh(1), zsh(1). Страница, посвященная Midnight Commander, в World Wide Web: http://www.gnome.org/mc/ [AUTHORS] АВТОРЫ Miguel de Icaza (miguel@roxanne.nuclecu.unam.mx), Janne Kukonlehto (jtklehto@paju.oulu.fi), Radek Doulik (rodo@ucw.cz), Fred Leeflang (fredl@nebula.ow.org), Dugan Porter (dugan@b011.eunet.es), Jakub Jelinek (jj@sunsite.mff.cuni.cz), Ching Hui (mr854307@cs.nthu.edu.tw), Andrej Borsenkow (borsenkow.msk@sni.de), Norbert Warmuth (nwarmuth@privat.circular.de), Mauricio Plaza (mok@roxanne.nuclecu.unam.mx), Paul Sheer (psheer@icon.co.za) and Pavel Machek (pavel@ucw.cz) are the developers of this package; Alessandro Rubini (rubini@ipvvis.unipv.it) has been especially helpful debugging and enhancing the program's mouse support, John Davis (davis@space.mit.edu) also made his S-Lang library available to us under the GPL and answered my questions about it, and the following people have contributed code and many bug fixes (in alphabetical order): Adam Tla/lka (atlka@sunrise.pg.gda.pl), alex@bcs.zp.ua (Alex I. Tkachenko), Antonio Palama, DOS port (palama@posso.dm.unipi.it), Erwin van Eijk (wabbit@corner.iaf.nl), Gerd Knorr (kraxel@cs.tu-berlin.de), Jean-Daniel Luiset (luiset@cih.hcuge.ch), Jon Stevens (root@dolphin.csudh.edu), Juan Francisco Grigera, Win32 port (j-grigera@usa.net), Juan Jose Ciarlante (jjciarla@raiz.uncu.edu.ar), Ilya Rybkin (rybkin@rouge.phys.lsu.edu), Marcelo Roccasalva (mfroccas@raiz.uncu.edu.ar), Massimo Fontanelli (MC8737@mclink.it), Pavel Roskin (pavel_roskin@geocities.com), Sergey Ya. Korshunoff (root@seyko.msk.su), Thomas Pundt (pundtt@math.uni-muenster.de), Timur Bakeyev (timur@bat.ru), Tomasz Cholewo (tjchol01@mecca.spd.louisville.edu), Torben Fjerdingstad (torben.fjerdingstad@uni-c.dk), Vadim Sinolitis (vvs@nsrd.npi.msu.su) and Wim Osterholt (wim@djo.wtm.tudelft.nl). Перевод на русский язык текста подсказки Виктор Костромин (kos@nbrt.kazan.su) [BUGS] Недоработки (BUGS) Известные авторам недоработки программы перечислены в файле TODO, который Вы можете найти в составе поставляемого пакета. Если Вы обнаружили в программе какие-то недостатки или недо- работки, пришлите, пожалуйста, Ваши замечание по e-mail на адрес: ^Tmc-bugs@roxanne.nuclecu.unam.mx . Дайте в письме подробное описание обнаруженных недостатков (и/или Ваших предложений по усовершентсвованию программы), сообщите версию программы с которой Вы работаете (для полу- чения номера версии надо дать команду mc -V), в какой опера- ционной системе Вы запускали программу. В случае, если про- грамма зависает, мы будем очень благодарны, если Вы пришлете копию стека оперативной памяти (a stack trace). [main]  lqwqk k k  x x x . x . x  x x x k lqu wqk k lqw tqk n  x x x x x x x x x x x x x x  v v v mqv v v v mqu v v mj qqqqqqCommander qj   Version  Сейчас Вы видите главное окно интерактивной подсказки по программе GNU Midnight Commander версии 4.5.30. Чтобы узнать, как пользоваться подсказкой, нажмите клавишу EnterHow to use help, иначе переходите к перечню разделовContents подсказки. Программа Midnight Commander поставляется АБСОЛЮТНО БЕЗ ВСЯКИХ ГАРАНТИЙWarranty. Это свободно распространяемое программное обеспечение, созданное группой авторовAUTHORS. Вы можете передавать его другим при условии соблюдения требований лицензии GNULicense (прочитайте переводLicense-ru этой лицензии). Перевод текста подсказки на русский язык Костромин В.А., 1999г. [License] GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 675 Mass Ave, Cambridge, MA 02139, USA. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. <one line to give the program's name and a brief idea of what it does.> Copyright (C) 19yy <name of author> This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) 19yy name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. <signature of Ty Coon>, 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. [License-ru] УНИВЕРСАЛЬНАЯ ОБЩЕСТВЕННАЯ ЛИЦЕНЗИЯ GNU Версия 2, июнь 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA (C) Перевод. О.В. Кузина, В.М. Юфа, 1993 (C) Перевод. О.С. Тихонов, 1998 Всем разрешается копировать и распространять дословные копии этого лицензионного документа, но изменять его нельзя. Преамбула Лицензии на большую часть программного обеспечения (ПО) сос- тавлены так, чтобы лишить вас свободы совместно использовать и изменять его. Напротив, Универсальная Общественная Лицензия GNU предназначена гарантировать вашу свободу совместно ис- пользовать и изменять свободное ПО, т.е. удостоверить, что ПО является свободным для всех его пользователей. Эта Универ- сальная Общественная Лицензия применима к большей части ПО Фонда Свободного ПО и ко всем другим программам, чьи авторы принимают на себя обязательства ее использовать. (Вместо нее для части ПО Фонда Свободного ПО применяется Универсальная Общественная Лицензия GNU для библиотек.) Вы тоже можете использовать ее для своих программ. Когда мы говорим о свободном ПО, мы имеем в виду свободу, а не цену. Предполагается, что наши Универсальные Общественные Лицензии гарантируют, что вы пользуетесь свободой распростра- нять копии свободного ПО (и получать за это вознаграждение, если вы того желаете); что вы получаете исходный код или можете получить его, если захотите; что вы можете изменять ПО или использовать его части в новых свободных программах; и что вы знаете, что вы можете все это делать. Чтобы защитить ваши права, нам нужно ввести такие ограниче- ния, которые запретят кому бы то ни было отказывать вам в этих правах или потребовать от вас отказаться от этих прав. Эти ограничения переводятся в некоторые обязательства для вас, если вы распространяете копии ПО или если вы модифици- руете его. Например, если вы распространяете копии такой программы бесплатно или за вознаграждение, вы должны предоставить получателям все права, которыми вы обладаете. Вы должны гарантировать, что они тоже получат или смогут получить исходный код. И вы должны показать им эти условия, чтобы они знали о своих правах. Мы защищаем ваши права в два этапа: (1) сохраняем авторские права на ПО и (2) предлагаем вам эту лицензию, которая дает вам законное право копировать, распространять и/или модифи- цировать ПО. Также, чтобы защитить нас и каждого автора, мы хотим удосто- вериться, что все понимают, что гарантий на это свободное ПО нет. Если ПО модифицируется и передается кем-то еще, мы хотим, чтобы получатели ПО знали, что то, что у них есть -- это не оригинал, чтобы любые проблемы, созданные другими, не отразились на репутации первоначальных авторов. И наконец, каждой свободной программе постоянно угрожают па- тенты на ПО. Мы хотим избежать опасности, что повторные рас- пространители свободной программы самостоятельно получат па- тенты, делая программу таким образом частной собственностью. Чтобы предотвратить это, мы явно заявляем, что любой патент должен быть либо предоставлен всем для свободного использо- вания, либо не предоставлен никому. Ниже следуют точные определения и условия для копирования, распространения и модификации. ОПРЕДЕЛЕНИЯ И УСЛОВИЯ ДЛЯ КОПИРОВАНИЯ, РАСПРОСТРАНЕНИЯ И МОДИФИКАЦИИ 1. Эта Лицензия применима к любой программе или другому произведению, содержащему уведомление, помещенное держа- телем авторских прав и сообщающее о том, что оно может распространяться при условиях, оговоренных в данной Уни- версальной Общественной Лицензии. В последующем термин "Программа" относится к любой такой программе или произ- ведению, а термин "произведение, основанное на Программе" означает Программу или любое произведение, содержащее Программу или ее часть, дословную, или модифицированную, и/или переведенную на другой язык. (Здесь и далее перевод включается без ограничений в понятие "модификация".) Каждый обладатель лицензии адресуется как "вы". Виды дея- тельности, не являющиеся копированием, распространением или модификацией не охватываются этой Лицензией; они за пределами ее влияния. Использование Программы по ее функ- циональному назначению не ограничено, и выходные данные Программы охватываются этой Лицензией, только если их со- держание является произведением, основанным на Программе (вне зависимости от того, были ли они получены в процессе использования Программы). Являются ли они таковыми, зави- сит от того, что именно делает Программа. 2. Вы можете копировать и распространять дословные копии ис- ходного кода Программы по его получении на любом носите- ле, при условии что вы соответствующим образом помещаете на видном месте в каждой копии соответствующее уведомле- ние об авторских правах и отказ от гарантий; оставляете нетронутыми все уведомления, относящиеся к данной Лицен- зии и к отсутствию каких-либо гарантий; и передаете всем другим получателям Программы копию данной Лицензии вместе с Программой. Вы можете назначить плату за физический акт передачи копии и можете по своему усмотрению предостав- лять гарантии за вознаграждение. 3. Вы можете изменять свою копию или копии Программы или любой ее части, создавая таким образом произведение, ос- нованное на Программе, и копировать и распространять эти модификации или произведение в соответствии с Разделом 1, приведенным выше, при условии, что вы выполните все ниже- следующие условия: 1. Вы обязаны снабдить модифицированные файлы заметными уведомлениями, содержащими указания на то, что вы изменили файлы, и дату каждого изменения. 2. Вы обязаны предоставить всем третьим лицам лицензию на бесплатное использование каждого произведения, которое вы распространяете или публикуете, целиком, и которое полностью или частично содержит Программу или какую-либо ее часть, на условиях, оговоренных в данной Лицензии. 3. Если модифицированная программа обычно читает коман- ды в интерактивном режиме работы, вы должны сделать так, чтобы при запуске для работы в таком интер- активном режиме обычным для нее способом она печа- тала или выводила на экран объявление, содержащее соответствующее уведомление об авторских правах и уведомление о том, что гарантий нет (или, наоборот, сообщающее о том, что вы обеспечиваете гарантии), и что пользователи могут повторно распространять про- грамму при этих условиях, и указывающее пользовате- лю, как просмотреть копию данной Лицензии. (Исключение: если сама Программа работает в интер- активном режиме, но обычно не выводит подобное объявление, то ваше произведение, основанное на Программе, не обязано выводить объявление.) Эти требования применяются к модифицированному произве- дению в целом. Если известные части этого произведения не были основаны на Программе и могут обоснованно счи- таться независимыми и самостоятельными произведениями, то эта Лицензия и ее условия не распространяются на эти части, если вы распространяете их как отдельные произве- дения. Но если вы распространяете эти части как часть целого произведения, основанного на Программе, то вы обязаны делать это в соответствии с условиями данной Ли- цензии, распространяя права получателей лицензии на все произведение и, таким образом, на каждую часть, вне за- висимости от того, кто ее написал. Таким образом, содер- жание этого раздела не имеет цели претендовать на ваши права на произведение, написанное полностью вами, или оспаривать их; цель скорее в том, чтобы развить право управлять распространением производных или коллективных произведений, основанных на Программе. Кроме того, прос- тое нахождение другого произведения, не основанного на этой Программе, совместно с Программой (или с произведе- нием, основанным на этой Программе) на том же носителе для постоянного хранения или распространяемом носителе не распространяет действие этой Лицензии на другое произ- ведение. 4. Вы можете копировать и распространять Программу (или произведение, основанное на ней) согласно Разделу 2) в объектном коде или в выполнимом виде в соответствии с Разделами 1 и 2, приведенными выше, при условии, что вы также выполните одно из следующих требований: 1. Сопроводите ее полным соответствующим машиночитаемым исходным кодом, который должен распространяться в соответствии с Разделами 1 и 2, приведенными выше, на носителе, обычно используемом для обмена ПО; или, 2. Сопроводите ее письменным предложением, действитель- ным по крайней мере в течение трех лет, предоставить любому третьему лицу за вознаграждение не большее стоимости физического акта изготовления копии полную машиночитаемую копию соответствующего исходного кода, подлежащую распространению в соответствии с Разделами 1 и 2, приведенными выше; или 3. Сопроводите ее информацией, полученной вами в ка- честве предложения распространить соответствующий исходный код. (Эта возможность допустима только для некоммерческого распространения, и только если вы получили программу в объектном коде или в выполнимом виде с предложением в соответствии с Пунктом b) выше.) Исходный код для произведения означает его вид, пред- почтительный для выполнения в нем модификаций. Для ис- полняемого произведения полный исходный код означает все исходные коды для всех модулей, которые он содержит, плюс любые связанные с произведением файлы определения интерфейса, плюс сценарии, используемые для управления компиляцией и установкой исполняемого произведения. Однако, в виде особого исключения распространяемый исход- ный код не обязан включать то, что обычно предоставляется с основными компонентами операционной системы, под управлением которой работает исполняемое произведение, за исключением случая, когда сам компонент сопровождает исполняемое произведение. Если распространение исполня- емого произведения или объектного кода происходит путем предоставления доступа для копирования с обозначенного места, то предоставление доступа для копирования исходно- го кода с того же места считается распространением исход- ного кода, даже если третьи лица не принуждаются к копи- рованию исходного кода вместе с объектным кодом. 5. Вы не можете копировать, изменять, повторно лицензиро- вать, или распространять Программу иначе, чем это явно предусмотрено данной Лицензией. Любая попытка копировать, изменять, повторно лицензировать, или распространять Про- грамму каким-либо другим способом неправомерна и автома- тически прекращает ваши права данные вам этой Лицензией. Однако лицензии лиц, получивших от вас копии или права согласно данной Универсальной Общественной Лицензии, не прекратят своего действия до тех пор, пока эти лица пол- ностью соблюдают условия. 6. Вы не обязаны соглашаться с этой Лицензией, так как вы не подписывали ее. Однако тогда вы не получаете права модифицировать или распространять Программу или основан- ные на Программе произведения. Эти действия запрещены законом, если вы не принимаете к соблюдению эту Лицензию. А значит, изменяя или распространяя Программу (или произведение, основанное на Программе), вы изъявляете свое согласие с этой Лицензией и всеми ее условиями о копировании, распространении или модификации Программы или произведений, основанных на ней. 7. Каждый раз, когда вы повторно распространяете Программу (или любое произведение, основанное на Программе), полу- чатель этого произведения автоматически получает лицензию от первоначального держателя лицензии на копирование, распространение или модификацию Программы, обсуждаемую в этих определениях и условиях. Вы не можете налагать каких-либо дополнительных ограничений на осуществление получателем прав, предоставленных данным документом. Вы не несете ответственности за соблюдение третьими лицами условий этой Лицензии. 8. Если в результате судебного разбирательства, или обвине- ния в нарушении патента или по любой другой причине (не обязательно связанной с патентами), вам навязаны условия, противоречащие данной Лицензии (как по решению суда, так и нет), то это не освобождает вас от соблюдения Лицензии. Если вы не можете заниматься распространением так, чтобы одновременно удовлетворить требованиям и этой Лицензии, и всем другим требованиям, то вы не должны заниматься распространением Программы. Например, если патент не позволяет безвозмездное повтор- ное распространение Программы всем, кто получил копии от вас непосредственно или через посредников, то единствен- ным способом удовлетворить и патенту, и этой Лицензии будет ваш полный отказ от распространения Программы. Если какая-либо часть этого раздела не имеет силы или не может быть применена при любых конкретных обстоятельствах, то подразумевается, что имеет силу остальная часть раздела, и весь Раздел имеет силу при других обстоятельствах. Цель этого раздела -- не побудить вас делать заявления о нару- шениях прав на патент, или заявлять о других претензиях на право собственности, или оспаривать правильность по- добных претензий; единственная цель этого раздела -- за- щита целостности системы распространения свободного ПО, которая реализуется использованием общих лицензий. Многие люди благодаря этой системе внесли щедрый вклад в широкий спектр распространяемого ПО полагаясь на согласованное применение этой системы; автору принадлежит право решать хочет ли он или она распространять ПО в этой системе или в какой-то другой, и получатель лицензии не может влиять на принятие этого решения. Этот раздел предназначен для того, чтобы тщательно прояснить, что полагается следстви- ем из остальной части данной Лицензии. 9. Если распространение и/или применение Программы ограниче- но в ряде стран либо патентами, либо авторскими правами на интерфейсы, первоначальный обладатель авторских прав, выпускающий Программу с этой Лицензией, может добавить явное ограничение на географическое распространение, исключив такие страны, так что распространение разреша- ется только в тех странах, которые не были исключены. В этом случае данная Лицензия включает в себя это ограниче- ние, как если бы оно было написано в тексте данной Лицен- зии. 10. Фонд Свободного ПО может время от времени публиковать пересмотренные и/или новые версии Универсальной Общест- венной Лицензии. Такие новые версии будут сходны по духу с настоящей версией, но могут отличаться в деталях, направленных на новые проблемы или обстоятельства. Каждой версии придается отличительный номер версии. Если в Про- грамме указан номер версии данной Лицензии, которая к ней применима, и слова "любая последующая версия", вы можете по выбору следовать определениям и условиям либо данной версии, либо любой последующей версии, опубликованной Фондом Свободного ПО. Если в Программе не указан номер версии данной Лицензии, вы можете выбрать любую версию, когда-либо опубликованную Фондом Свободного ПО. 11. Если вы хотите встроить части Программы в другие свобод- ные программы с иными условиями распространения, напишите автору с просьбой о разрешении. Для ПО, которое охраняет- ся авторскими правами Фонда Свободного ПО, напишите в Фонд Свободного ПО; мы иногда делаем исключения для этого. Наше решение будет руководствоваться двумя целями: сохранения свободного статуса всех производных нашего свободного ПО и содействия совместному и повторному ис- пользованию ПО вообще. [Warranty] НИКАКИХ ГАРАНТИЙ 12. ПОСКОЛЬКУ ПРОГРАММА ПРЕДОСТАВЛЯЕТСЯ БЕСПЛАТНО, НА ПРО- ГРАММУ НЕТ ГАРАНТИЙ В ТОЙ МЕРЕ, КАКАЯ ДОПУСТИМА ПРИМЕНИ- МЫМ ЗАКОНОМ, ЗА ИСКЛЮЧЕНИЕМ ТЕХ СЛУЧАЕВ, КОГДА ПРОТИВНОЕ ЗАЯВЛЕНО В ПИСЬМЕННОЙ ФОРМЕ. ДЕРЖАТЕЛИ АВТОРСКИХ ПРАВ И/ИЛИ ДРУГИЕ СТОРОНЫ ПОСТАВЛЯЮТ ПРОГРАММУ "КАК ОНА ЕСТЬ" БЕЗ КАКОГО-ЛИБО ВИДА ГАРАНТИЙ, ВЫРАЖЕННЫХ ЯВНО ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ ПОДРАЗУМЕВАЕМЫМИ ГАРАНТИЯМИ КОММЕРЧЕСКОЙ ЦЕННОСТИ И ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ. ВЕСЬ РИСК В ОТНОШЕНИИ КАЧЕСТВА И ПРОИЗВОДИТЕЛЬНОСТИ ПРОГРАММЫ ОСТАЕТСЯ ПРИ ВАС. ЕСЛИ ПРОГРАММА ОКАЖЕТСЯ ДЕФЕКТИВНОЙ, ВЫ ПРИНИМАЕТЕ НА СЕБЯ СТОИМОСТЬ ВСЕГО НЕОБХОДИМОГО ОБСЛУЖИВАНИЯ, ВОССТАНОВЛЕНИЯ ИЛИ ИСПРАВЛЕНИЯ. 13. НИ В КОЕМ СЛУЧАЕ, ЕСЛИ НЕ ТРЕБУЕТСЯ ПОДХОДЯЩИМ ЗАКОНОМ ИЛИ НЕ УСЛОВЛЕНО В ПИСЬМЕННОЙ ФОРМЕ, НИКАКОЙ ДЕРЖАТЕЛЬ АВТОРСКИХ ПРАВ ИЛИ НИКАКОЕ ДРУГОЕ ЛИЦО, КОТОРОЕ МОЖЕТ ИЗМЕНЯТЬ И/ИЛИ ПОВТОРНО РАСПРОСТРАНЯТЬ ПРОГРАММУ, КАК БЫЛО РАЗРЕШЕНО ВЫШЕ, НЕ ОТВЕТСТВЕННЫ ПЕРЕД ВАМИ ЗА УБЫТ- КИ, ВКЛЮЧАЯ ЛЮБЫЕ ОБЩИЕ, СПЕЦИАЛЬНЫЕ, СЛУЧАЙНЫЕ ИЛИ ПОСЛЕДОВАВШИЕ УБЫТКИ, ПРОИСТЕКАЮЩИЕ ИЗ ИСПОЛЬЗОВАНИЯ ИЛИ НЕВОЗМОЖНОСТИ ИСПОЛЬЗОВАНИЯ ПРОГРАММЫ (ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ ПОТЕРЕЙ ДАННЫХ, ИЛИ ДАННЫМИ, СТАВШИМИ НЕПРАВИЛЬНЫМИ, ИЛИ ПОТЕРЯМИ, ПОНЕСЕННЫМИ ИЗ-ЗА ВАС ИЛИ ТРЕТЬИХ ЛИЦ, ИЛИ ОТКАЗОМ ПРОГРАММЫ РАБОТАТЬ СОВМЕСТНО С ЛЮБЫМИ ДРУГИМИ ПРОГРАММАМИ), ДАЖЕ ЕСЛИ ТАКОЙ ДЕРЖАТЕЛЬ ИЛИ ДРУГОЕ ЛИЦО БЫЛИ ИЗВЕЩЕНЫ О ВОЗМОЖНОСТИ ТАКИХ УБЫТКОВ. КОНЕЦ ОПРЕДЕЛЕНИЙ И УСЛОВИЙ Как применять эти условия к вашим новым программам Если вы разрабатываете новую программу и хотите, чтобы она принесла максимально возможную пользу обществу, лучший способ достичь этого - включить ее в свободное ПО, которое каждый может повторно распространять и изменять согласно данным условиям. Чтобы сделать это, добавьте в программу следующие уведомле- ния. Самое безопасное -- это добавить их в начало каждого исходного файла, чтобы наиболее эффективно отобразить исклю- чение гарантий; и каждый файл должен содержать по меньшей мере строку, содержащую знак охраны авторского права и указание на то, где находится полное уведомление. одна строка, содержащая название программы и краткое описание того, что она делает. (C) наименование (имя) автора 19гг Это свободная программа; вы можете повторно распространять ее и/или модифицировать ее в соответствии с Универсальной Общественной Лицензией GNU, опубликованной Фондом Свободного ПО; либо версии 2, либо (по вашему выбору) любой более поздней версии. Эта программа распространяется в надежде, что она будет полезной, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ; даже без подразумевае- мых гарантий КОММЕРЧЕСКОЙ ЦЕННОСТИ или ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ. Для получения подробных сведений смотрите Универсальную Общественную Лицензию GNU. Вы должны были получить копию Универсальной Общественной Лицензии GNU вместе с этой программой; если нет, напишите по адресу: Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Добавьте также сведения о том, как связаться с вами по электронной и обычной почте. Если программа интерактивная, сделайте так, чтобы при запуске в интерактивном режиме она выдавала краткое уведомление типа следующего: Gnomovision, версия 69, (C) имя автора 19гг Gnomovision поставляется АБСОЛЮТНО БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ; для получения подробностей напечатайте 'show w'. Это свобод- ная программа, и вы приглашаетесь повторно распространять ее при определенных условиях; для получения подробностей введите 'show c'. Гипотетические команды `show w' и `show c' должны показывать соответствующие части Универсальной Общественной Лицензии. Конечно, используемые вами команды могут называться как-ни- будь иначе, нежели `show w' и `show c'; они даже могут выби- раться с помощью мыши или быть пунктами меню -- все, что подходит для вашей программы. Вы также должны добиться того, чтобы ваш работодатель (если вы работаете программистом) или ваше учебное заведение, если таковое имеется, подписали в случае необходимости "отказ от имущественных прав" на эту программу. Вот образец; замените фамилии: Компания ``Братья ??дины'' настоящим отказывается от всех имущественных прав на программу 'Gnomovision' (которая делает пассы в сторону компиляторов), написанную Абстрактным К.И. подпись Мага Ната, 1 апреля 1989 г Маг Нат, Президент фирмы Вице. Данная Универсальная Общественная Лицензия не позволяет вам включать вашу программу в программы, являющиеся частной соб- ственностью. Если ваша программа -- это библиотека процедур, вам стоит подумать, не будет ли лучше разрешить программам, являющимся частной собственностью, связываться с вашей библиотекой. Если это то, чего вы хотите, используйте вместо этой Лицензии Универсальную Общественную Лицензию GNU для библиотек.  Local variables: fill-column: 58 end: