Linux Mint и его Cinnamon. Очерки применителя
Шрифт:
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 — и тут уже с синхронизацией пути в командой строке и основной панели. Файлы же открывались в той программе, которая закреплена за ними по умолчанию: текстовые файлы — в текстовом
Проблема же с неправильным поведением командной оболочки была решена Станиславом Шрамко 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 = ""
Затем — «жёсткое» завершение работы Nemo:
$ 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