Все о Linux. LinuxRSP.Ru


Cвежие новости Linux и BSD, анонсы статей и книг прямо в почтовый ящик!
Подписаться письмом


 Сегодняшние новости:

25 лет исполнилось ядру Linux

Релиз KDevelop 5.0

Oracle открывает код JDK9 для ARM

Выпущен Timewarrior 1.0.0

Релиз Android 7.0

Percona Memory Engine для MongoDB на базе WiredTiger

PowerShell открыт и доступен для Linux

Форк TrueCrypt: VeraCrypt 1.18

Релиз Snapcraft 2.14

Релиз Go 1.7

Стабильный выпуск рабочего стола Lumina

Вышла первая версия аналога OpenCV - DCV 0.1

Выпуск минималистичной программы для мониторинга jsonmon 3

В MIT разработали новый язык программирования

Первый релиз Qt5Gtk2

Godot 2.1 - новая версия открытого игрового движка

Свободная цифровая станция звукозаписи: Ardour 5.0

Обновление SkypeWeb Plugin for Pidgin

Вышла версия 3.0 Android File Transfer для Linux (и для OS X)

Программный аналог MIDI-контроллера для создания музыки: Launchpadd v1.3

Mozilla спонсирует поддержку Python 3.5 в PyPy

Ef 0.08 - программа для моделирования динамики заряженных частиц

Обновление текстового редактора TEA до версии 42.0.0

Релиз OpenOrienteering Mapper 0.6.4

Вышли Guix и GuixSD 0.11

Релиз Opera 39

Выпуск LibreOffice 5.2

В OpenSSH обнаружены и устранены некоторые уязвимости

Эмулятор FCEUX 2.2.3

Компания Билайн переходит на российскую СУБД с открытым исходным кодом Tarantool

Google

 Новые статьи :

Утилиты для восстановления потерянных данных в Linux

Лучшие файловые менеджеры для Android

20 лучших бесплатных книг о Linux

Как сгенерировать открытый/закрытый SSH-ключ в Linux

Grive - клиент Google Drive для Linux с открытым исходным кодом

Протокол IPv6: варианты подключения

Сервер из образа: DHCP + TFTP + Initrd + OpenVZ

Обзор веб-панелей управления хостингом

Приёмы работы с Vim

Nginx как Reverse Proxy для сайта, использующего SSL

Разработка модулей ядра Linux

Мониторинг нагрузки http-сервера Apache 2

Перевод комментариев к файлу конфигурации Squid

Решение проблем при использовании "1c предприятие" 8.2 в Linux

Advanced Bash-Scripting Guide Искусство программирования на языке сценариев командной оболочки







Rambler's Top100





 
 

О средствах управления файлами
a la Explorer (заметка первая)

Вступление

Управление файлами, то есть их копирование, перемещение, переименование, удаление, - непременный аспект в жизнедеятельности любого пользователя любой компьютерной платформы. И от эффективности этих средств во многом зависит комфортность работы с данной платформой. Вспомним, какую роль в освоении DOS широкими массами трудящихся сыграло замечательное произведение командира Нортона; хотя, говорят, непосредственного отношения к написанию этой программы он и не имел.

А потому наличие развитых файловых менеджеров - обязательный атрибут массовой операционной системы. Linux в этом отношении - не исключение.

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

Однако я сейчас говорить об этом не буду. Во первых, все это прекрасно описано в любой толстой книге про Linux (или про Unix вообще). А во вторых, далеко не всегда (и не для всех) операции в командной строке удобны. Особенно - при работе в какой-либо графической среде, где пользователь вправе ожидать возможности выполнения всех необходимых действий, не покидая ее.

Так что без специфических файловых менеджеров не обойтись. Потому я и решил обратиться к исследованию этого вопроса.

Как оказалось, развитых файловых менеджеров под Linux не так и много. Первое, что приходит на ум - известный аналог Norton'а, Midnight Commander. Однако и на нем я останавливаться не буду. Во первых, сам применяю его редко и знаю плохо. Во вторых, он подробно описан на сайте Виктора Костормина. А в третьих, главное, где возникает потребность в файловых менеджерах - это графические оболочки (в консоли удобнее все же пользоваться средствами командной строки). Так что предмет данной заметки - файловые менеджеры для XWindow. Причем - только развитые (и развивающиеся!). Да и то не все, а лишь те, с которыми мне довелось поработать.

Однако сначала я хотел бы поговорить о том, каковы

Требования к файловому менеджеру

На мой, разумеется, субъективный, взгляд, файловый менеджер должен обеспечивать удобные средства управления файлами, не более. Но и не менее.

То есть от него нелепо было бы ожидать функций персонального органайзера или развитого текстового редактора. Однако мы вправе расчитывать, что файловый менеджер, вне зависимости от целевой платформы, позволяет просматривать, сортировать по разным параметрам, копировать, перемещать, переименовывать и удалять файлы, а также подкаталоги любой степени вложенности. И делать это простым, наглядным и интуитивно понятным способом.

Для файловых менеджеров на платформе Unix необходимое условие - эффективное управление правами доступа - смены владельца и группы, разрешение/запрещение на чтение/запись/исполнение и т.д. И желательно, чтобы эту операцию можно было бы осуществлять с вложенными подкаталогами и их содержимым.

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

Это - минимально необходимые функции, без которых применение файлового менеджера неоправданно, проще обойтись средствами оболочки командной строки.

Из роскошного хотелось бы иметь встроенного ftp-клиента или возможность подключения внешнего. Также желательно наличие вьюверов для наиболее распространенных текстовых и графических форматов файлов. Ну и элементарное редактирование текстовых файлов встроенными или подключаемыми средствами - их наличие стало традицией с давних времен.

С точки зрения интерфейса все файловые менеджеры можно разделить на две группы - командирского стиля (a la Norton Commander) и Explorer-образные. Какая лучше - однозначно ответить нельзя, определяется сугубо личными привычками и предпочтениями. Мне больше нравится первый, хотя знаю немало людей, у которых вид двух панелей вызывает приступ идиосинкразии. Чрезвычайно ловко, однако, управляющихся с баобабоподоными древами Explorer'а. Так что, вероятно, мамы всякие нужны, мамы всякие важны. Лишь бы реализовано было хорошо.

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

KFM

входящий в штатный комплект графической среды KDE.

Это - достаточно точное подобие своего прототипа. Он может выступать в однооконном или двухоконном виде.

В первом случае наблюдается просто содержимое текущего каталога - в виде пиктограмм, длинного или короткого списка. Во втором режиме (включаемом через меню - Вид - Показать дерево) в левом окне видно дерево каталогов, в правом - содержимое текущего каталога. Возможна независимая навигация по окнам.

Из прочих интерфейсных элементов (любой из которых можно отключить) имеются меню, инструментальная панель с кнопками (вверх, назад, вперед, домой, перечитать, копировать, вставить, помощь, открытие нового окна), адресная и статусная строки.

Все основные файловые операции - копирование, удаление, создание подкаталога - можно выполнить тремя способами: через главное меню, через контекстное меню, вызываемое правой клавишей мыши, через инструментальную панель. Копирование и перемещение осуществляется также перетаскиванием. Причем для перемещения - это единственный способ.

Переименование выполняется через контекстное меню (пункт Свойства). Здесь же - управление правами доступа, возможное, однако, только для единичного файла или каталога, и без рекурсии.

Также через контекстное меню можно просмотреть (и при необходимости отредактировать) файл. Для этого в нем выбирается пункт Открыть с... и дальше - одно из установленных в системе приложений. Для просмотра и редактирования текстовых файлов можно определить внешний редактор (встроенного редактора нет).

И вообще, настроек (в пункте меню Настройки - Настроить менеджер файлов) довольно много. Можно определить гарнитуру шрифта (любую доступную в системе) и его размер (варианты - маленький, средний большой). Можно переопределить цвет фона, нормального текста и гиперссылки (в качестве каковых выступают каталоги и файлы). Можно также отключить следование дерева каталогов за движением курсора в правом окне: это удобно для копирования из каталога в каталог методом перетаскивания.

Из дополнительных функций следует отметить встроенный браузер, простенький, но почти полнофункциональный и работающий замечательно быстро. Следует сказать, что браузер вызывается по умолчанию при открытии каталога, содержащего *.htm(l) файлы. Чтобы этого не было, следует в главном меню (пункт Вид) отключить опцию Вид HTML. Браузер этот не очень уверенно обращается с фреймами и JavaScript, категорически не понимает каскадных стилевых таблиц. Однако имеет важное достоинство - позволяет переключать кодировки русского языка.

Из прочих дополнительных средств отмечу также архиватор. Правда, работает он иногда несколько странно: например, благополучно распаковывает файлы *.tar.gz, но просто на файлы *.tar реагирует так, как будто и не подозревает о существовании этого формата. Нужно сказать, что и ряд других архивных форматов (*.bz) также ставят его в недоумение.

Интересно, что версия архиватора, следовавшая в комплекте с шестой версией Linux Mandrake, частично позволяла работать с архивами как с каталогами. Запускать исполнимые файлы - не получалось, но, по крайней мере, можно было читать текстовые файлы. В нынешней же (седьмой) версии Mandrake архиватор разучился делать и это (хотя, возможно, тут дело в уровнях защиты, выбираемых при инсталляции Mandrake 7).

Ну а при обращении к rpm-пакетам автоматически вызывается kpackage - весьма удобная в обращении программа для работы с этим форматом.

В целом kfm - почти полный функциональный аналог Windows Explorer. И любители последнего не обнаружат в нем ничего непривычного. В качестве основного недостатка (если не считать таковым интерфейс в принципе) можно отметить исключительную медлительность: во время открытия большого каталога можно немалое время наблюдать в статусной строке задумчивую надпись Работаю... (по мне - так скорее Дремлю...).

Можно было бы подумать, что медлительность обусловлена средой KDE, которая, как известно, и сама по себе быстродействием не блещет. Однако знакомство с другим файловым менеджером под KDE -

Kruiser

показывает, что это не так.

Сам по себе Kruiser (версия в комплекте с Mandrake 7 - 0.30) также принадлежит к клану Explorer. Однако существенно (и, на мой взгляд, выгодно) отличается интерфейсом.

По умолчанию Kruiser имеет два окна - дерева каталогов (слева) и файлов (справа), главное меню и две инструментальные панели, одну вверху и другую справа.

Из верхней (общей) панели доступны обычные операции, как то: переход в родительский каталог, удаление, вырезание, копирование и вставка, представление окна файлов (в виде иконок, короткого или длинного списка). Здесь же - монтирование нового устройства или удаление существующего.

Боковая панель управляет видом окон. Можно разрешить/запретить показ скрытых файлов, включить/выключить предварительный просмотр и просмотр архивов. А главное - разделить окно файлов на два, располагаемых горизонтально, вертикально или каскадом. Навигация в каждом из окон независима, а перемещение по дереву каталогов коррелирует только с одним из них.

В главном меню - четыре, не считая help, пункта: File, Edit, View, Tools. Правда, есть еще и пункт Windows, но он пока не активизирован.

В пункте первом - всего три опции, New (директория или устройство), открытие терминала и выход. В пункте Edit - стандартные манипуляции вырезания, копирования и вставки, удаления просто и перемещения в корзину (как и KFM, Kruiser поддерживает системную корзину KDE), а также выделение.

Через пункт View включаются/выключаются инструментальные панели и статусная строка, осуществляется обновление списком и настройка (Options). Здесь же - переключение вида списка файловую, порядка сортировки (по имени, размеру, типу и дате), включение/выключение показа скрытых файлов и предварительного просмотра. Кроме того, тут же - управление видом окон файлов. В пункте Tools - поиск файлов, монтирование/размонтирование устройств, переход к каталогу.

Немного остановлюсь на настройках. Это - панель с закладками General, Extensions, Details, View, Misc. В первой можно определить локализацию MIME-типов и икон, оболочку по умолчанию для вызываемого окна терминала, открываемую по умолчанию директорию (последнюю или текущую).

Extensions - приписывание типам файлов стандартного расширения; ведь в Unix, в отличие от DOS/Windows, расширение в общем случае с типом файла никак не связано и может быть любым.

В закладке Details определяется ширина (в пикселях) для полей отображаемых атрибутов файлов, таких, как размер, тип файла, права доступа и прочего.

В закладке View - приписываются маски различным типам архивных файлов (*.tgz, *.tar.gz, *.tar - для tar-архивов, *.zip - для архивов Zip, и т.д., список можно расширять произвольно).

И, наконец, в закладке Misc определяется, в частности, вызываемый редактор для текстовых файлов.

В отличие от KFM, в настройках Kruiser отсутствует возможность изменения гарнитуры, кегля и начертания шрифта, цвета его и фона: во всех этих случаях используются системные установки для KDE в целом.

Кроме главного меню, существует также меню контекстное, вызываемое традиционной правой клавишей мыши. В поле дерева каталогов меню это имеет опции Explore (выведение содержимого в поле файлов), Expand и Collapse (развертывание и сворачивание подкаталогов, соответственно), Delete (это - понятно), Refresh (считывание листа каталогов заново), Properties (через которые происходит управление правами доступа, и для файлов тоже).

В поле файлов в контекстном меню присутствуют пункты Cut, Copy, Delete, Move to Trash. При фокусировании на каталоге к ним добавляется Explore (разворачивание каталога), при фокусировании на файле - Open (если этому типу файла приписано какое-либо приложение), Open with (выбор открывающего приложения из списка) и Edit (открытие в текстовом процессоре, установленном в настройках по умолчанию).

Следует заметить, что все действия по открытию каталогов и файлов выполняются, в отличие от KFM, двойным щелчком (разумеется, левой клавишей).

А вообще-то основным способом манипуляций с файлами в Kruiser является манипулирование манипулятором (то есть, по простому, перетаскивание мышью). Таковое возможно как между полями дерева каталогов и файлов (в обоих направлениях), так и между панелями файлов (если их две). При перетаскивании возникает контекстное меню с тремя пунктами - Copy, Move и Link. С первыми двумя все понятно, что сказано, то и делают. А вот последний при выборе сообщает о невозможности создать ссылку. Несколько обескураженный, я проверял и права доступа, и создавал те же ссылки средствами командной строки или KFM - все проходило нормально. Так что, вероятно, это просто ошибка или недоработка ранней версии (то, что я смотрел - 0.30).

Долго не мог найти, как выполняется переименование файлов. Пока случайно не щелкнул (в списке файлов) именно на имени, а не на пиктограмме файла. После этого вместо существующего имени можно впечатать любое другое, подобно тому, как это сделано в Windows Commander. Нужно только не забыть нажать после этого Enter: если просто увести курсор в другую позицию, исходное имя файла (или каталога, без разницы) восстановится.

Как уже говорилось, управление правами доступа осуществляется через контекстное меню (и только так). Однако изменяются они при этом только для единичного каталога или файла, рекурсия не поддерживается.

Kruiser не имеет встроенного архиватора. Но через контекстное меню (опция Open with) можно для открытия архива вызвать любой из имеющихся в системе, в том числе и тот же Archiver, который встраивается в KFM.

Для ftp-доступа можно использовать опцию Connect new device (в меню Tools) и из выпадающего меню выбрать пункт Ftp. После чего прописать имя соединения, адрес сервера и порт; поля для записи логина и пароля хотя и присутствуют, но недоступны. Хотя Kruiser, как следует из названия, является приложением KDE, по быстродействию он разительно отличается от KFM: считывание каталога с многими десятками файлов происходит на порядок быстрее, копирование - быстрее как минимум вдвое.

Да и в целом он показался мне гораздо более удобным в использовании. Хотя бы благодаря наличию возможности включить две панели - свойство, привычное по командирским менеджерам, имевшееся в приснопамятном File Manager из Windows 3.xx, но пропавшее их Windows Explorer (видимо, по причине пресловутой ненужности народу; а Explorer народу нужен?).

Разумеется, KFM и Kruiser не исчерпывается список Explorer-подобных файловых менеджеров (дурной пример, как известно, заразителен). Есть еще и стандартный файловый менеджер X, и XPlorer, и менеджер файлов из комплекта GNOME. Однако говорить о них не буду - помятуя опять-таки Козьму Пруткова.

В начало
К оглавлению раздела
На главную страницу

Copyleft by
Alex Fedorchuk
02.05.00


      

Связь | О проекте LinuxRSP | Реклама | О Linux
© 1999-2017 LinuxRSP