Каждый свои выходные проводит по-разному, к примеру, в январские праздники 2024
года, я задался темой, как в проводнике на Ubuntu 18.04 Desktop
при нахождении в любой папке через правый клик мышью иметь возможность в контекстном меню выбирать шаблоны создаваемых документов/текстовых файлов + добавления шаблона под скрипты: *.py, *.sh
и т.д. Просто по умолчанию, когда запускаем приложение Files
/ Файлы
переходим к примеру, в Documents
через правый клик мышью на пустом содержимом появляется меню в котором нету выбора создания пустого документа,
New Folder (Создать папку)
Paste (Вставить)
Select All (Выделить все)
Properties (Свойства)
Restore Missing Files… (Восстановление отсутствующих файлов...)
Open in Terminal (Открыть в терминале)
На заметку: Чтобы вызвать меню через правый клик мышью в Files
есть сочетание клавиш Ctrl + F10
, а перейти в "New Document": Ctrl + F10, d
Shift (left) + F10
— находясь на папке, файле вызвать щелчок правой кнопкой мыши для выбора действияCtrl + l
→ скопировать путь до файла или каталога
что явно недостаточно, нет возможность создать текстовый файл, документы из пакета LibreOffice
и т.д.
Все ниже обкатываю на установленной Ubuntu 18.04 Desktop
системе под виртуализацией Debian 10 + Proxmox 6.4-13
опираясь на первые 5 шагов ниже
Шаг №1:
Как установить Ubuntu 18.04 Desktop on Proxmox 6.4-13
Шаг №2:
Изменяем переключение на русский язык в Ubuntu 18.04 Desktop
Шаг №3:
Интерфейс с English на Russian в Ubuntu 18.04 Desktop
Шаг №4:
в "Домашняя папка" - Documents
нажимаю Ctrl + F10
и меню уже на русском языке
Шаг №5:
Установка пакета LibreOffice on Ubuntu 18.04 Desktop
Шаг №6:
Чтобы иметь возможность взаимодействовать с создаваемыми файлами через правый клик мышью в программе Files (Проводник)
нужно сделать шаблоны, но сперва нужно понять где они находятся в файловой системе:
ekzorchik@srv-ud1804a:~$ cat ~/.config/user-dirs.dirs # This file is written by xdg-user-dirs-update # If you want to change or add directories, just edit the line you're # interested in. All local changes will be retained on the next run. # Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped # homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an # absolute path. No other format is supported. # XDG_DESKTOP_DIR="$HOME/Desktop" XDG_DOWNLOAD_DIR="$HOME/Downloads" XDG_TEMPLATES_DIR="$HOME/Templates" XDG_PUBLICSHARE_DIR="$HOME/Public" XDG_DOCUMENTS_DIR="$HOME/Documents" XDG_MUSIC_DIR="$HOME/Music" XDG_PICTURES_DIR="$HOME/Pictures" XDG_VIDEOS_DIR="$HOME/Videos" ekzorchik@srv-ud1804a:~$
Ага, каталог с шаблонами находится в пользовательском каталоге и именуется, как Templates
Шаг №7:
Запускаю LibreOffice Writer
и сохраняю пустой документ: "Файл" - "Сохранить как"
и указываю имя, к примеру, New LibreOffice Write Document
Выбираю в правом нижнем углу окна "Все форматы"
и в списке нахожу "Текстовый документ ODF (.odt)"
А каталог куда сохранить указываю: "Домашняя папка" - "Templates"
и нажимаю "Сохранить"
, затем закрываю документ.
Теперь если перейти в любой каталог и через правый клик мышью на пустой области появится меню "Создать документ"
– пустой документ (шаблон) с именем "New LibreOffice Write Document"
тем самым открывает LibreOffice Writer
, вносим изменения в созданный документ, а после сохраняем как нужно, а заданное дефолтное именование удаляем, т.е. удаляем "New LibreOffice Write Document.odt"
или же сохраняем под ним, а после переименовываем как нужно.
На заметку: По аналогии для других офисных приложений пакета LibreOffice
делаем точно также:
/usr/lib/libreoffice/program/oosplash --calc
/usr/lib/libreoffice/program/oosplash --draw
/usr/lib/libreoffice/program/oosplash --impress
/usr/lib/libreoffice/program/oosplash --writer
На заметку: Я могу, запустив LibreOffice Writer
сделать предварительные настройки работы, а после сохранить пустой документ и тем самым все последующие новые буду с одним форматированием и т.д.
Шаг №8:
Чтобы был шаблон текстового файла:
Ctrl + Alt + T ->
ekzorchik@srv-ud1804a:~$ touch ~/Templates/"Empty Document"
Шаг №9:
Вот к примеру шаблон создания файла скрипта (Bash & Python):
На заметку: Основная идея env bash
это улучшение переносимости. Никто не может гарантировать, что интерпретатор находится по дефолтному пути.
Указал ты допустим в скрипте #!/bin/bash
, закинул скрипт на сервер, а эндпоинта bin/bash
нет. По этой причине господа ребята используют хак с env bash.
Использование env позволяет снизить риски за счет запуска команды на основе данных из переменной среды PATH.
Ну и используя env
в скрипте можно указывать любые версии интерпретатора.
ekzorchik@srv-ud1804a:~$ nano ~/Templates/New\ Shell\ Script.sh #!/usr/bin/env bash
После нажимаем Ctrl + O, Enter - Ctrl + X
(для выхода из редактора)
ekzorchik@srv-ud1804a:~$ nano ~/Templates/New\ Python\ Script.py #!/usr/bin/env python3
После нажимаем Ctrl + O, Enter - Ctrl + X
(для выхода из редактора)
Шаг №10:
А можно создать структуру и в ней внутри разместить файлы шаблонов, к примеру для написания кода:
ekzorchik@srv-ud1804a:~$ mkdir ~/Templates/Code ekzorchik@srv-ud1804a:~$ mv ~/Templates/New\ Shell\ Script.sh ~/Templates/New\ Python\ Script.py ~/Templates/Code/
т.е. создаем каталог с осмысленным именование, а внутри файлы шаблонов.
ekzorchik@srv-ud1804a:~$ sudo apt-get install -y tree ekzorchik@srv-ud1804a:~$ tree ~/Templates/ /home/ekzorchik/Templates/ ├── Code │ ├── New Python Script.py │ └── New Shell Script.sh ├── Empty Document └── New LibreOffice Write Document.odt 1 directory, 4 files ekzorchik@srv-ud1804a:~$
Шаг №11:
Если хорошо поискать можно найти файлы templates и разместить их у себя, но я бы не стал, лучше уже сделать самим, мало ли что в тех файлах кто их собрал вместе и обобщился, что это именно файлы шаблонов и чего они содержат. Хотя если признать, то на тестовой системе я сперва их использовал, а уже после заморочился, как же создать свои файлы шаблонов.
На заметку: Если в процессе использования у меня появятся какие-либо нюансы, то они будут отражены дополнение в данной заметке, т.к. это не пустые слова, а все мои блоги служат одной единственной цели быть полезными в моей работе, как системный администратор.
На этом заметка завершена, я добился реализации задуманного, с уважением автор блога Олло Александр aka ekzorchik.