Tux-Commander и немножко грима.

On: 18 января 2011 г.

С переходом на Archlinux я задумался о "чистоте системы". Узнал о "Бритве Оккама". И в этом свете пытаюсь найти другой подход в проектировании своей среды рабочего стола. Потому посвищу этому целый раздел (бритва Оккама). Это первая статья нового раздела. Двухпанельный файловый менеджер. Хоть убейте но не могу отказаться от сего чуда. Ну никогда мне не привыкнуть к однопанельным. Но я длительное время пользовался Krusader-ом. Я считаю его лучшим. Но у него в новом свете событий в моих глазах появился большой изъян. Он зависит он частей среды рабочего стола KDE и потому не подходит под описание "Бритвы Оккама" и KISS. Почему то я слишком загорелся этими принципами. Может арч меня так изменяет?
Перепробовав ранее множество двухпанельных файловых менеджеров я зал что особо выбора у меня нет. Для среды похожей на GNOME существует три альтернативы:
  1. Gnome-commander
  2. Double-commander
  3. Tux-commander
Первый это нечто отвратительное как по внешнему виду так и по части управления. Второй вроде бы и похож на старого доброго Total-а но я давно понял что искать альтернативы между ПО на Linux и Windows глупо. Потому что каждая ОС в силу своей специфики должна обладать и специфическими требованиями к работе как и пользователя так и ПО. В Double-commander я увидел невозможность постоянно обновлять содержимое папок что и окончательно отбило охоту когда либо ставить его в своей системе. Оставался Tux-commander. И здесь можно было о многом промолчать кроме как о двух вещах: ассоциации файлов как и их иконки нужно было прописывать руками и надо было решить каким образом осуществлять монтирование съемных устройств (флешек).

И так эта статья о решении этих проблем и о возможностях Tux-commander.


 Явными преимуществами Tux-commander являются его легкость. Он действительно потребляет мало ресурсов. Быстро открывает каталоги. Хорошо использует цвета из Gtk тем в сочетании с некоторыми пользовательскими настройками. Есть возможность быстрого поиска по набору текста в панели. Есть возможность запуска терминала в открытой папке. Работает с правами в массовом масштабе. При установке плагинов (в арче пакет называется tuxcmd-modules ) есть возможность просматривать содержимое архивов (ну конечно же распаковывать их). В целом впечатление положительное. Но есть небольшое но. Самому необходимо не только устанавливать все расширения (ассоциации на соответствующие программы) но и определять их иконки. Я постарался решить эту проблему.

Напильник первый. Сценарий для отображения иконок GTK (из текущей темы иконок, которая используется в системе)

Для этого был написан сценарий на языке Python. Если не вдаваясь в подробности то принцип работы сценария таков:
  • Определить из файла .gtkrc-2.0 название текущей темы иконок.
  • Определить каталоги с иконками из файла index.theme в каталоге темы
  • И для каждого типа  выбирать наилучшую иконку. (Если иконки на данный тип не существует то иконка на этот тип ставить не будет, а  в случае если она ранее была установлена из старой темы то эта запись будет удалена).

В  Tux-commander что бы создать свой тип можно пойти двумя путями.

Первый это при попытке запустить не описанный ранее тип вас спросят не хотите ли вы указать этот тип.

Либо вы можете попасть в окно указания типов через меню Настройки и пункт меню Типы файлов..
А здесь все просто. Для работы моего сценария вам достаточно при создании типа в поле Описание вписать предполагаемое название иконки в теме (они зачастую совпадают с названиями mime-types). О некоторых можно догадаться и логически. Например иконка video есть почти во всех темах. В строке Добавить тип необходимо вписать расширение. Причем расширением здесь считается все что идет после точки. Например avi. Есть возможность для одного типа файлов указать несколько расширений. Далее на вкладке Действия добавте приложения которые будут отображаться в списке для запуска для этого типа. И из них необходимо выбрать то которое будет запускать по умолчанию на двойной клик мышью либо нажатие Enter.

Важно: флажок на пункте Авто определение графических программ. По необходимости его стоит снимать. Например при запуске программы через wine. Так как Tux-commander определяет вайн как консольную программу то он выбросит место запуска терминал с текущей папкой.
Вроде бы все что необходимо описал вот и сам сценарий который нужно запускать и плюс модуль к нему который необходимо поместить в папку сценария. Добавлю еще то что написаны они были в Archlinux потому в ша-банге (первой строке файлов) указан python2. Вам для работоспособности скорее всего надо будет поменять его на python.

Если возникнут какие вопросы пишите в комментарии.

Напильник второй. Монтирование съемных дисков в Tux-commander.

 Дабы не усложнять настройку я после длительных размышлений пришел к такому выводу. Так как я противник авто монтирования устройств и как и многие вменяемы люди не мог понять что хочет от меня Tux-commander в настройках своего "менеджера" монтирования. Я пошел в обход настроек Tux-commander и решил немного изменить систему. Добавив в /etc/fstab такие строки я разрешил системе по требованию монтировать эти устройства в заданные каталоги без всяких плясок с бубном:

/dev/sdb1 /media/usb auto user,noauto,iocharset=utf8 0 0
/dev/sdb2 /media/usb1 auto user,noauto,iocharset=utf8 0 0

Решение настолько примитивное и простое что я вспомнил название этого блога и понял что этот прием наверное по части "Волшебного лома".  Здесь /dev/sdb1 это адреса моих флешек (хоть usb портов в моем ноутбуке 5 но я решил пока что открыть в fstab-е только два). /media/usb это заранее созданные каталоги в которые будут монтироваться съемные устройства (флешки). Остальные настройки должны быть понятны.


Таким образом допилял Tux-commander. В бующем есть желание создать сценарий для отображения mime-type системы (GTK) в Tux-commander.

Теперь немного о самом Tux-commander.

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

Горячие клавиши Tux-commander-а нельзя настроить но существующие просты в понимании и их не так много что бы возникли проблемы в запоминании.


Letter        Перенаправление ввода в командную строку
Enter        Перейдите в каталог / запустить программу / запуска соответствующей программы / выполнение командной строки, если не пусто
Ctrl+Enter, Alt+Enter        Вставить выбранный файл / имя каталога в командной строке
Tab        Переключиться  на противоположную  панель
Num +        Расширить выбор
Num -        Термоусадочная выбор
Num *        Обратить выделенное
Backspace        Перейти в родительскую директорию
Insert        Включить или исключить файл / каталог или выбор
Ctrl+R        Обновить текущий каталог
Ctrl+O, Alt+O        Измените путь в противоположном панели сосредоточены каталог
Ctrl+S, Alt+S, "/" key        Начало быстрого поиска и перенаправление ввода в окне поиска
Ctrl+A, Alt+A        Вставка текущего пути в командной строке
Ctrl+P, Alt+P        Выбор предыдущей команды в истории командной строки
Ctrl+N, Alt+N        Выберите следующую команду в истории командной строки
Shift+F4        Создайте новый текстовый файл и открыть его в редакторе
Shift+F5        Копировать файлы (с переименования) в том же каталоге
Shift+F6        Выполнить быстро переименовать (InPlace редактирования)
Space        Граф размера каталога под курсором
Alt+Shift+Enter        Граф размеры всех каталогов в списке
Ctrl+Home        Перейти к домашней директории в текущей панели
Ctrl+/        К ("/") корневой каталог в текущей панели
Ctrl+LeftArrow/RightArrow        Переключатель на панели слева / справа в выбранный каталог (или фактической, если выбран файл)
Alt+F1, Alt+F2        Меню закладок для левой (правой) панели
Ctrl+D        Меню закладок для активной панели
Alt+1..9,0        Быстрый переход к закладке (нумерация начинается с 1 = первая закладка)
Ctrl+Down        Включить командной строки
Ctrl+Up        Вернитесь к панели из командной строки
Ctrl+T        Продублировать текущей вкладке панели
Ctrl+W        Закрыть текущую вкладку панели
Ctrl+Tab, Ctrl+PageDown        Переключиться на следующую вкладку панели
Ctrl+Shift+Tab, Ctrl+PageUp        Переключиться на предыдущую вкладку панели
Ctrl+.        Показать / скрыть скрытые файлы
Ctrl+F        Открыть Connection Manager
Shift+Ctrl+F        Отключите активное соединение
Shift+F2, Ctrl+F2        Копировать выбранные имена файлов в буфер обмена (Ctrl + F2 при полном путей)
Alt+R        Открыть терминал от текущего местоположения (Контекстное зависит от локализации)


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

14 коммент. on "Tux-Commander и немножко грима."

Анонимный комментирует...

Спасиб) помогло)

Анонимный комментирует...

спасибо!

Анонимный комментирует...

Midnight Commander - ваше все ;)

CryptSpirit комментирует...

>>Midnight Commander - ваше все ;)

увы нет. Как минимум из-за невозможности запускать файл по ассоциации (у него нет таких баз). Да и для повседневного инструмента гуй привлекательнее нежели 256 цветов

Анонимный комментирует...

"Как минимум из-за невозможности запускать файл по ассоциации (у него нет таких баз)"
Может поможет F9->Command->Edit extension file ?

"Да и для повседневного инструмента гуй привлекательнее нежели 256 цветов"
Это вопрос вкусов :)

Анонимный комментирует...

Подскажите пожалуйста какие команды использовать для запуска приложений? Например для типа файлов video написал vlc
не работает, открывается терминал! Debian+Openbox

CryptSpirit комментирует...

Для vlc необходимо убрать флажок "Автоопредиление графических программ". Например с wine то же самое.

Анонимный комментирует...
Этот комментарий был удален администратором блога.
Анонимный комментирует...

Ошибка в написании, должно быть не user, а users:
/dev/sdb1 /media/usb auto users,noauto,iocharset=utf8 0 0
/dev/sdb2 /media/usb1 auto users,noauto,iocharset=utf8 0 0
Иначе монтирование будет осуществляться только с правами root.

CryptSpirit комментирует...

Пожалуйста, прочитайте man, прежде чем писать ахинею

users дает право на монтирование и размонтирование, а user только на монтирование

Анонимный комментирует...

А вот и не правильно, и user и users дает право и монтировать и размонтировать. Насколько я понимаю разница заключается в том, что user дает право на эти действия текущему пользователю. А users дает это право всем пользователям, которые могут быть добавлены в будущем.

CryptSpirit комментирует...

Эта беседа ни о чем. Почитайте документацию. И не надо строить догадки. man mount

Only the user that mounted a filesystem
can unmount it again. If any user should be able to unmount, then use
users instead of user in the fstab line.

Анонимный комментирует...

Приведя описание из man вы как раз подтвердили то о чем я сказал...

CryptSpirit комментирует...

Ладно тогда причем здесь "ошибка" и "права root":

"Ошибка в написании, должно быть не user, а users:
/dev/sdb1 /media/usb auto users,noauto,iocharset=utf8 0 0
/dev/sdb2 /media/usb1 auto users,noauto,iocharset=utf8 0 0
Иначе монтирование будет осуществляться только с правами root."