Чтение онлайн

на главную

Жанры

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 — и тут уже с синхронизацией пути в командой строке и основной панели. Файлы же открывались в той программе, которая закреплена за ними по умолчанию: текстовые файлы — в текстовом

редакторе, 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-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

Поделиться:
Популярные книги

Великий князь

Кулаков Алексей Иванович
2. Рюрикова кровь
Фантастика:
альтернативная история
8.47
рейтинг книги
Великий князь

Идеальный мир для Лекаря 12

Сапфир Олег
12. Лекарь
Фантастика:
боевая фантастика
юмористическая фантастика
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 12

Афганский рубеж 2

Дорин Михаил
2. Рубеж
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Афганский рубеж 2

Имя нам Легион. Том 6

Дорничев Дмитрий
6. Меж двух миров
Фантастика:
боевая фантастика
рпг
аниме
5.00
рейтинг книги
Имя нам Легион. Том 6

Пятничная я. Умереть, чтобы жить

Это Хорошо
Фантастика:
детективная фантастика
6.25
рейтинг книги
Пятничная я. Умереть, чтобы жить

Возвышение Меркурия. Книга 16

Кронос Александр
16. Меркурий
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Возвышение Меркурия. Книга 16

Проданная невеста

Wolf Lita
Любовные романы:
любовно-фантастические романы
5.80
рейтинг книги
Проданная невеста

СД. Том 15

Клеванский Кирилл Сергеевич
15. Сердце дракона
Фантастика:
героическая фантастика
боевая фантастика
6.14
рейтинг книги
СД. Том 15

Развод, который ты запомнишь

Рид Тала
1. Развод
Любовные романы:
остросюжетные любовные романы
короткие любовные романы
5.00
рейтинг книги
Развод, который ты запомнишь

Кодекс Охотника. Книга XXIV

Винокуров Юрий
24. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XXIV

Сила рода. Том 3

Вяч Павел
2. Претендент
Фантастика:
фэнтези
боевая фантастика
6.17
рейтинг книги
Сила рода. Том 3

Убивать чтобы жить 6

Бор Жорж
6. УЧЖ
Фантастика:
боевая фантастика
космическая фантастика
рпг
5.00
рейтинг книги
Убивать чтобы жить 6

Ветер перемен

Ланцов Михаил Алексеевич
5. Сын Петра
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Ветер перемен

Совершенный 2.0: Освобождение

Vector
6. Совершенный
Фантастика:
боевая фантастика
рпг
5.00
рейтинг книги
Совершенный 2.0: Освобождение