Выбрать главу

Командная оболочка в окне 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 = ""

Затем — «жёсткое» завершение работы 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-terminaclass="underline" 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 мы только что установили собственноручно. Однако и среди оставшихся простой советский применитель может выискать кое-что для себя полезное.