Алексей Федорчук aka Alv
Рабочие среды, они же десктопы, не случайно называются также средами интегрированными: кроме средств самообеспечения (оконный менеджер, менеджер сессий и так далее) и самоконфигурирования, они в обязательном порядке включают в себя более или менее обширный набор пользовательских приложений. Из которых важнейшими являются файловый менеджер, эмулятор терминала и текстовый редактор.
Файловый менеджер Nemo
Файловый менеджер среди базовых приложений занимает центральное положение: он является сердцем интегрированной рабочей среды, причём любой (даже Windows — кое-кому памятны разборки о неразрывной связи её Windows Explorer’ом). Без него она хотя и может существовать (как показали примеры «выпиливания» того же Explorer’а), но существование это лишается смысла (что, собственно, и продемонстрировали некогда «выпиливатели»).
Сказанное применимо и к Nemo в Cinnamon, причём в превосходной степени. Ибо он, в сущности, является единственным штатным приложением этой среды: прочие представители «малого джентльменского набора», из которых в ней присутствуют GNOME-терминал и текстовый редактор Gedit, выдернуты из GNOME и легко заменяются любыми аналогами, основанными на Gtk, что я покажу в дальнейшем, в очерках о приложениях. И только Nemo стоит свою вахту бессменно, потому что заменить его некем. Да и незачем — это уже давно очень хороший файловый менеджер, а в последней своей версии, 2.4 (той самой, что входит в состав Mint Rebecca) он стал ещё лучше.
Обзор возможностей
И так, представляю героя нынешнего очерка: файловый менеджер Nemo. Вместе со всей средой Cinnamon он ответвился от GNOME с его Nautilus’ом на стадии версии 3.4, до того, как последний стал стремительно терять свою функциональность и настраиваемость. Поэтому Nemo сохранил исходные возможности Nautilus’а, а после отказа Cinnamon (в версии 2.0) от связи с кодовой базой GNOME 3, ещё и приумножил их.
По умолчанию, при первом запуске, Nemo выглядит весьма непритязательно — примерно так:
То есть, казалось бы, Nautilus как Nautilus — визуальное отличие разве что в эмблемах на пиктограммах каталогов. Кстати, вплоть до версии 2.2 включительно Nemo под этим именем и фигурировал — и в главном меню Cinnamon, и во всплывающей подсказке при наведении на пиктограмму панели управления. Лишь в версии 2.4 он освободился от тяжкого наследния, и нынче и там, и там написано просто Файлы (Files в оригинальной локализации).
Однако на деле Nemo оказывается не так прост. То, что он поддерживает вкладки — само собой разумеется, кто их нынче не поддерживает, даже Thunar. Однако далее: графическая строка адреса лёгким нажатием на загогулину справа от неё превращается в текстовую — и остаётся таковой в последующих сеансах, если не «опиктограммить» её обратно.
Инструментальную панель легко пополнить пиктограммами перезагрузки, быстрого перехода в корневой и домашний каталоги, открытия терминала в текущекаталоге и создания нового каталога. Делается это через главное меню: Правка -> Параметры -> Панель инструментов:
Назначение любой пиктограммы легко определяется по всплывающей подсказке.
Саму строку главного меню можно скрыть через меню же: в пункте Вид снять отметку с подпункта Menubar. После этого строку меню можно быстро делать видимой и скрывать заново либо нажатием клавиши Alt, либо правым кликом мыши на панели инструментов или строке состояния. И так — до тех пор, пока не сделать строку меню видимой постоянно — тем же образом, что она была скрыта, то есть через меню:
Впрочем, я в постоянно видимом меню необходимости не вижу: большую часть обыденных действий можно (и проще) выполнять через пиктограммы панели инструментов или через контекстное меню по правому клику мыши. А меню вызывать только при необходимости — например, для пополнения списка закладок боковой панели (см. ниже).
Вид контекстного меню различается в зависимости от того, где именно кликнуть. Если на пустом поле основного окна Nemo — в нём будут пункты создания каталога, файла или ярлыка запуска приложения, открытия в терминале, открытия Nemo с правами администратора, сортировки, показа и скрытия dot-файлов, вставки из буфера, масштабирования пиктограмм; последнее можно сделать и ползунком на строке состояния.
При щелчке на пиктограмме одиночного файла пункты Открыть в Терминале и Открыть как Администратор, естественно, пропадают. Зато появляются пункты открытия с помощью приложения по умолчанию и «запасных» приложений для данного типа файлов (в примере на скриншоте ниже — для HTML-файлов), вырезания, «дублирования», создания симлинка и так далее:
Среди «далее» отмечу безвозвратное удаление и сжатие, что для единичного файла означает именно сжатие каким-либо компрессором из доступных в системе, понятие тут архивирования смысла не имеет, хотя по умолчанию предлагается именно архив:
Во избежание недоразумений следует подчеркнуть, что сам по себе Nemo ничего не сжимает и не архивирует. Он лишь вызывает менеджер архивов — nemo-fileroller
. Который, впрочем, тоже ничего не делает, а обращается к низкоуровневым утилитам архивации (tar
) и компрессии (gzip
, bzip2
, xz
и так далее); наличием последних и определяется число доступных архивных форматов. При щелчке на пиктограмме архивного файла в контекстном меню появится пункт Распаковать сюда, который всё той же цепочкой (nemo-fileroller
-> архиватор/компрессор) развернёт архив в текущем каталоге.
При щелчке на пиктограмме каталога пункты контекстного меню первого и второго случая как бы суммируются. Но к ним ещё присоединяются пункты открытия (на месте, в новом окне, в новой вкладке), настройки общего доступа, а также цветовая палитра, позволяющая окрасить пиктограмму каждого каталога в свой цвет (из числа предопределённых темой).
Во всех трёх случаях контекстное меню завершается пунктом Свойства, содежимое которого тоже различается в зависимости от места клика. В частности, для одиночного файла имеется вкладка Открыть с помощью, в которой можно переопределить приложение по умолчанию, связанное с данным типом файлов:
Любопытна вкладка Эмблемы, впервые появившаяся в версии Nemo 2.4. Именно с её помощью можно к пиктограмме каждого каталога и файла, зависимости от их содержимого, миниатюрное изображение из заданного набора:
Правда, делать это придётся вручную и по одному объекту.
В итоге описанных выше действий по модификации внешности Nemo, в моей системе он приобрёл следующий вид:
В боковой панели окна Nemo выводится список закладок — каталогов файловой системы с быстрым доступом, который можно пополнять произвольным образом, и «посторонних» (то есть автоматически не монтируемых) носителей, как внутренних, так и внешних. Из контекстного меню по правому клику они могут быть открыты в текущей вкладке, новой вкладке или новом окне:
Для «сторонних» носителей предусмотрены также пункты монтирования (без открытия) и отмонтирования:
Пользовательские закладки пополняются через главное меню: Закладки -> Добавить в закладки. При этом они не сваливаются в одну кучу с предопределённым набором закладок (такими, как Desktop, Documents, etc.), а размещаются в специальной секции Bookmarks. Впрочем, перетаскиванием мышью их можно тасовать, как угодно. Кроме того, их можно удалять и переименовывать — и из контекстного меню, и из главного, через пункты Закладки -> Изменить закладки:
Исключение — «квазисистемные» закладки (Файловая система, Домашний каталог, Рабочий стол, Корзина) — для них эти функции недоступны.
Кстати, закладка открывается одинарным щелчком: левой кнопкой мыши — в текущей вкладке, средней кнопкой — в новой вкладке. Для открытия же каталога из пиктограммы во вкладке по умолчанию требуется двойной щелчок левой кнопкой. Что, однако, легко изменить через меню: Правка -> Параметры -> Поведение:
Наконец, в Nemo имеется двухпанельный режим, включаемый через меню Вид -> Extra Pane. Само собой, в каждой панели можно вывести содержимое разных каталогов, да ещё и в нескольких независимых вкладках:
На мой взгляд, совмещение «многовкладочности» и «двухпанельности» — явный перебор. Но в ряде случаев временное включение второй панели (а это можно сделать быстро — клавишей F3) бывает полезным — например, при работе с облачными хранилищами.
В Nemo имеются весьма богатые возможности поиска файлов, доступные из меню Переход -> Поиск файлов или по нажатии на соответствующую кнопку инструментальной панели. Для начала поиск выполняется по одному критерию — местоположению:
Круг поисков можно сузить, задав второй критерий — тип файла (в примере изображение PNG):
Кроме таких абстрактных типов, как документ, музыка, презентация и так далее, более конкретно тип файла можно выбрать из длиннющего списка, вызываемого выбором пункта Другой тип:
Теоретически критериев поиска можно задать сколько угодно, только комбинировать можно только значения двух их вариантов — местоположения и типа файлов, так что больше двух критериев практического смысла не имеют.
Иначе говоря, Nemo предоставляет большинство возможностей, которые мы вправе ожидать от современного «продвинутого» файлового менеджера. Если, конечно, вслед за разработчиками GNOME не считать признаком «современности» и «продвинутости» отсуствие возможностей…
Перепробовав немалое число программ этого рода, могу со всей ответственностью утверждать, что по функциональности и настраиваемости Nemo уступает только старому Konqueror’у и современному Dolphin’у из KDE, да и то немного. В частности, в нём (мне) очень не хватает встроенного терминального окна — но это, пожалуй, единственное, чего на самом деле недостаёт. Тем более, что в принципе эта проблема решаема, как будет показано в следующем разделе.
Nemo и его терминал
Как только что было сказано, единственное, чего не хватает в Nemo по настоящему (для меня) — это встроенного терминала. Что, однако, решается установкой одного из «расширителей» этого файлового менеджера (nemo-extensions), именуемого nemo-terminal
. Он происходит от некогда существовавшего, но потом заброшенного плагина к Nautilus’у, который, как ни странно, назывался nautilus-terminal
. Который, в свою очередь, был придуман в незапамятные времена, когда Nautilus утратил терминальное окно как свою встроенную функцию.
Пакет плагина nemo-terminal
находится в официальном репозитории Mint, и потому ныне устанавливается стандартным образом, без всяких неожиданностей:
$ apt install nemo-terminal
После чего требуется «жёсткий» выход из Nemo, например, командой в терминале:
$ nemo -q
Запущенный в следующий раз, Nemo будет уже с терминальным окошком в верхней части рабочей области вполне уродливого вида:
Горячей клавишей F4 его можно скрыть с глаз долой и вызывать по необходимости. А чтобы терминальное окно не мозолило глаза при каждом запуске, достаточно убрать его клавишей F4 и повторить команду
$ nemo -q
И при следующем запуске Nemo окно его будет девственно чисто — о наличии терминала можно узнать, только опять нажав клавишу F4.
Никаких настроек для терминала не обнаруживается. Можно только мышью изменить высоту терминального окна — но лишь для запущенного экземпляра Nemo, при повторном его запуске оно опять будет восстановлено в исходном размере.
Теоретически конфиг nemo-terminal
находится в каталоге /usr/share/glib-2.0/schemas/
и носит имя org.nemo.extensions.nemo-terminal.gschema.xml
. Однако мои попытки изменить в нём что-либо (например, высоту окна по умолчанию) успехом не увенчались.
Поскольку «расширитель» nemo-terminal
— это скрипт на Python’е, вероятно, всякие настройки по умолчанию можно изменить прямой правкой соответствующего файла —
/usr/share/nemo-python/extensions/nemo_terminal.py
, о чем будет сказано чуть позже.
Командная оболочка в окне nemo-terminal
— теоретически login shell данного пользователя, то есть в моём случае Zsh. По кранйней мере, об этом говорил вывод команды
$ echo $SHELL /bin/zsh
Но это был очень странный Zsh. В частности, он игнорировал все настройки в ~/.zshrc
. Более того, в ответ на прямую команду
$ source ~/.zshrc
он выдавал ошибки буквально в каждой строке.
А в остальном, прекрасная маркиза, все функции терминала выполнялись исправно — то есть в нём можно было вводить всякие разные команды. При смене каталога в основной панели Nemo происходила смена его и в окне терминала:
В терминальное окно можно было перетаскивать мышью каталоги и файлы. В первом случае это было эквивалентом команды cd
— и тут уже с синхронизацией пути в командой строке и основной панели. Файлы же открывались в той программе, которая закреплена за ними по умолчанию: текстовые файлы — в текстовом редакторе, html-файлы — в браузере, файлы изображений — в графическом вьювере, и так далее.
Проблема же с неправильным поведением командной оболочки была решена Станиславом Шрамко aka stanis. Да, действительно, оказалось, что нужно чуток отредактировать файл /usr/share/nemo-python/extensions/nemo_terminal.py
, а конкретно — вот эту его секцию
def terminal_or_default(): """Enforce a default value for terminal from GSettings""" terminalcmd = settings.get_string("terminal-shell") if (terminalcmd == "") or (terminalcmd is None): terminalcmd = Vte.get_user_shell() return terminalcmd
Вписав туда (в любимом текстовом редакторе от лица администратора) после строки
terminalcmd = settings.get_string("terminal-shell")
вот это:
terminalcmd = ""
Затем — «жёсткое» завершение работы Nemo5
$ nemo -q
И при следующем запуске этого файлового менеджера в его терминальном окне красуется Zsh именно в том виде, до которого я его доводил годами. Что любопытно — после описанной процедуры nemo-terminal
стал реагировать и на ручные изменения своего конфига. В частности, высота окна его увеличилась с пяти умолчальных строк до десяти, которые я раньше тщетно пытался ему внушить:
В общем, nemo-terminal
не превращает Nemo в Dolphin, но в любом случае лучше хоть какой-то терминал, чем вообще никакого. Тем более, что работа над его совершенствованием будет продолжена. А пока его далёкий от эстетического совершенства вид можно скрывать, вызывая терминальное окно только при необходимости.
Некоторые расширения Nemo
Пакет nemo-terminal
— не единственный из «расширителей» этого файлового менеджера (nemo-extensions). С полным их списком можно ознакомиться, например, с помошью конструкции примерно такого вида:
$ apt search nemo | grep " nemo-"
В которой следует не забыть про пробел после открывающей кавычки — иначе в выводе будет много лишнего. А так он сведётся к списку из примерно 30 строк:
p nemo-compare - Context menu comparison extension for Nemo i nemo-data - data files for nemo p nemo-dbg - file manager and graphical shell for Cinna p nemo-dbg:i386 - file manager and graphical shell for Cinna ... i nemo-terminal - Nemo extension to enable an embedded termi p nemo-terminal:i386 - Nemo extension to enable an embedded termi
Который, кстати, можно ещё сократить, отсортировав пакеты для ненужной архитектуры (в моём случае — для i386) довольно неуклюжей (лучше не придумал) конструкцией:
$ apt search nemo | grep " nemo-" | grep -v i386 p nemo-compare - Context menu comparison extension for Nemo i nemo-data - data files for nemo p nemo-dbg - file manager and graphical shell for Cinna p nemo-dropbox - Dropbox integration for Nemo i nemo-emblems - Change a folder or file emblem p nemo-filename-repairer - Nemo extension for filename encoding repai i nemo-fileroller - File Roller integration for Nemo i nemo-folder-color-switcher - Change a folder color p nemo-gtkhash - nemo extension for computing checksums and p nemo-image-converter - nemo extension to mass resize or rotate im p nemo-keyboard - pure QML keyboard for the Maliit framework p nemo-media-columns - Nemo Extension p nemo-pastebin - Nemo extension to send files to a pastebin p nemo-preview - nemo-preview is a quick previewer for nemo p nemo-rabbitvcs - Nemo extension for RabbitVCS p nemo-seahorse - seahorse plugins and utilities for encrypt i nemo-share - Nemo extension to share folder using Samba i nemo-terminal - Nemo extension to enable an embedded termi
Большинство «расширителей», не установленных по умолчанию, как зависимости пакета nemo
(например, nemo-emblems
— это тоже «расширитель»), относятся ко всяким средствам разработки, а nemo-terminal
мы только что установили собственноручно. Однако и среди оставшихся простой советский применитель может выискать кое-что для себя полезное.
В этом массиве полезностей — nemo-gtkhash
, очень простое средство вычисления check-сумм, добавляющее соответствующий пункт в контекстное меню Nemo. Вроде бы ничего особенного — руки не отваляться дать соответствующую команду в CLI. Однако есть ситуации, когда этот «расширитель» оказывается удобней. Вот одна из них:
Ну вы меня поняли, ага?
Далее, полезным может оказаться «расширитель» nemo-image-converter
, предназначенный для массовой обработки графических файлов — их масштабирования и вращения. Он также встраивается в контекстное меню Nemo. Например, если выделить в текущем каталоге несколько PNG-файлов (или любых других файлов растровых изображений), и затем щелкнуть правой кнопкой мыши, то в появившемся контекстном меню можно будет увидеть пункты Масштабировать изображения… и Rotate Images…:
Первый, как это ни парадоксально, обеспечивает именно масштабирование картинок. А каким образом это может происходить — становится понятно при беглом вгляде на скриншот вызываемой им панели:
Точно так же, и столь же прозрачно, действует ротация, что видно на соответствующем скриншоте:
К которому остаётся разве что добавить, что вращать изображения можно на 90 градусов посолонь и противусолонь, на 180 градусов, а также на произвольные углы с шагом в один градус.
И ещё: разумеется, масштабирование и вращение применимы и к единичному изображению. Однако наибольшую пользу они принесут в случае, когда надо сотни скриншотов вписать в формат web-страницы. Или массив отснятых фотографий перевести из портретной ориентации в альбомную (или наоборот). А для этих целей данный «расширитель» кажется мне очень востребованным.
А вот действие nemo-filename-repairer
, напротив, распространяется только на каталоги — лишь при правом клике на имени каталога в контекстном меню появляется пункт Repair filename…. Вот только, увы, у меня в системе нет ни одного каталога с именем в неправильной кодировке, и вообще практически нет файлов с именами, отличными от чистого ASCII, так что проверить, как это всё действует, не могу. А потому оставляю освещение этого вопроса заинтересованным лицам. Как и знакомство с прочими «расширителями», не окученными ранее. Хотя об одном из них, nemo-dropbox
, расскажу в следующем разделе.
Nemo и Dropbox
Назначение «расширителя» nemo-dropbox
, как следует из его имени — обеспечить интеграцию Nemo с соответствующим облачным хранилищем. И делает он это так. Сразу после завершения установки, например, командой
$ apt install nemo-dropbox
предлагается «вчистую» закрыть все, возможно, открытые экземпляры Nemo:
$ nemo -q
А вслед за тем запустить из главного меню Cinnamon программу, которая так и называется — Dropbox, находится в секции Интернет и вызывает для начала свой собственный инсталлятор:
Программа скачивается:
А затем вызывается панель её установщика:
Поскольку аккаунт Dropbox’а у меня существует с незапамятных времён (хотя я им почти не пользуюсь), ввожу свои учётные данные
Жму кнопку Next и жду установления коннекта. После чего совершаю выбор типа установки. Рекомендуемый Typical создаст каталог для синхронизации с Dropbox’ом в моём домашнем. Это меня по некоторым причинам ни в коем случае не устраивает, поэтому приходится выбирать Advanced, хотя ничего такого авантажного мне не требуется. Так что следующим шагом выбираю подходящее место для каталога Dropbox
:
Далее по умолчанию предлагается синхронизировать все каталоги Dropbox’а. Это мне тоже ни к чему, поэтому меняю на каталоги по собственному выбору. В ответ программа хочет провести среди меня разъяснительную работу, объяснив, что такое каталоги вообще и каталог Dropbox в частности:
Отказываюсь, нажав кнопку Skip Tour. В ответ предлагается финишировать, открыв при это каталог Dropbox’а:
Запускается Nemo, в нём открывается каталог /home/data/Dropbox
, а в него очень быстро помещается то, что лежало у меня в Drop’локе (это я только что неологизм придумал).
Все описанные события происходили на Ноутбучке, а настоящий текст сочинялся параллельно на большой машине. Так что собираю все сделанные скриншоты (те, что были приведены выше) и отправляю их в Drop’лако. Поскольку на большой машине описанныя процедура была проделана ещё раньше, скриншоты через посредство Drop’лака уже там. Дописываю последний абзац этого мини-очерка — и занимаюсь вставкой в него иллюстраций. Результат перед вами.
Nemo и Яндекс.Диск
Только что мы разобрались с ихним буржуазным облачным сервисом Dropbox’ом. Но ведь и мы не лыком шиты — у нас есть его собрат по поднебесному ремеслу, Яндекс.Диск, который подключается ничуть не сложнее. И даже проще, поскольку задача сводится к настройке подключения по WebDAV. Для чего нужно отправиться в боковую панель, найти там раздел Сеть, а в нём — закладку Сеть, на которой и щёлкнуть, чтобы получить вот такую картину:
Нажимается Enter. В появившейся панельке авторизации вводится пароль доступа к сервисам Яндекса:
Всё — подключение свершилось. Теперь между локальными дисками и Яндекс.Диском можно взаимодействовать через Copy&Paste. А можно клавишей F3 включить двухпанельный режим:
И проникнуться его полезностью — файлы и каталоги можно просто таскать мышью туда и сюда.
По поводу Yandex.Disk крайне рекомендую посмотреть в сторону его родного клиента + Yandex.Disk indicator (aka yd-tools: http://forum.ubuntu.ru/index.php?topic=241992.0 и PPA: https://launchpad.net/~slytomcat/+archive/ubuntu/ppa). Вместе всё это выглядит примерно так: http://itmages.ru/image/view/1630183/450c5321 в трее показывается индикатор статуса синхронизации. Так же добавляются сценарии для публикации и снятия с публикации файла/каталога. Это, конечно, не полноценные расширения как у Insync, Dropbox или MegaSync, но тоже достаточно удобно. Плюс, как мне показалось, по скорости значительно быстрее и безглючнее.
Добрый день!
Очень здорово вы пишете. Причем это воспринимается как чтение для души. Особенно приятно то, что вы описываете всякие полезные штучки, которые делают жизнь легче. Честно говоря благодаря Вашим статьям я начинаю погружаться в Линукс, хотя Линукс у меня стоит изначально и Винды собственно никогда не было. Однако я им пользуюсь на уровне Винды с иконками. Глубже вникнуть не получалось. Теперь с удовольствием читаю Ваши статьи где вы не жадничаете и делитесь секретами мастерства. Здорово, что можно тут же применять то, что вы описываете на своем компьютере. Мне помогает то, что у меня стоит родственная Циннамону система — Росинка 13, правда жаль, что не все совпадает.
Хорошая статья, спасибо. Только с яндексом проблемка небольшая. Мелкие файлы (фото, музыку) заливает в облако без проблем, а вот на файле 3.5 гига споткнулся. Одно из двух ядер ЦП грузится на 100%, комп начинает тормозить и сетевой монитор показывает полнейшую тишину. Лечится это только перезагрузкой. Коннектился с яндексом как описано тут: https://help.yandex.ru/disk/webdav/webdav-linux.xml С Dropbox’ом таких проблем не наблюдалось?
Подскажите, пожалуйста, может в курсе, какие параметры/переменные в кофиг файлах отвечают за цвет боковой панели nemo в дефолтных темах Mint. В целом темы нравяться, но чёрный цвет сайдбара совсем не устраивает…
Увы, не в курсе.
У меня она серая :)
В принципе, конечно можно подобрать тему на просторах глобальных, но пока подберёшь под себя запаришься)). Подумал легче подогнать дефолтную тему под себя, ан нет — и тут копать-не перекопать(
Подгонка темы в Cinnamon — занятие не то что очень сложное, но весьма кропотливое: http://alv.me/?p=8406#toc25
Однако дело в том, что смена темы в среде на Nemo не отражается, только на его иконке.
А от чего зависит цвет сайдбара в нём — не знаю, даже и не искал пока.
Здравствуйте! Возможно, я что то упустил, но из Nemo в YD войти не могу. Mint 17.2 x 64 Cinnamon ядро 4.1 stable.
Разобрался. В Вашей текстовке пропущено davs://username@webdav.yandex.ru/
Mint 17.3 хочу в Cinnamon сделать так, чтобы, при щелчке на PDF файле правой клавишей мыши, появилась отдельная команда, которая преобразует этот PDF в DJVU с помощью команды pdf2djvu -v —monochrome —no-outline —no-text —crop-text —jobs=0. Как это сделать?
Alex, в Nemo теоретически — Правка -> Плагины, в раздел сценарии добавить свой скрипт, он появится в контекстном меню как пункт в Сценарии.
Практически не пробовал — необходимости не было.