Форум проекта Matuntu

Поддержка => Руководства и инструкции => Тема начата: vita от 16 Августа 2015, 19:25:29

Название: Файловый менеджер Caja и его возможности
Отправлено: vita от 16 Августа 2015, 19:25:29
Полезные и удобные GUI скрипты для Caja (bash scripts for Caja) (http://debianforum.ru/index.php?PHPSESSID=bccc5b9319fad73a0e00fd7b3cf65df9&topic=9141.msg73401#msg73401) для их появления в контекстном меню файлового менеджера достаточно разместить нужные скрипты с возможностью выполнения файла как программы в ~/.config/caja/scripts.
Можно без запуска графического редактора мгновенно конвертировать снимки из формата JPEG в PNG и обратно
(http://i.imgur.com/iBLdzd3.png)
сверить md5sum имеющегося образа без запуска других приложений
(http://i.imgur.com/93OuEXJ.png)
и так далее.
Название: Re: Файловый менеджер Caja и его возможности
Отправлено: ivm от 16 Августа 2015, 19:28:13
Интересно почитать Mate (Caja) - использование скриптов от Nautilus (http://www.sakryukin.ru/?module=articles&c=articles&b=4&a=8). Вспоминаю, что в Ubuntu 10.04 контекстное меню наутилуса было богатое. Чем Caja хуже? Ещё в 2012 году на рунтовском форуме (http://forum.runtu.org/index.php/topic,3257.msg21096.html#msg21096) использовали скрипты для этого файлового менеджера, внедрённого в Runtu Lite.
Название: Re: Файловый менеджер Caja и его возможности
Отправлено: aikshurik от 10 Ноября 2015, 18:54:31
А есть ли скрипт чтобы Caja открывалась сразу с двумя панелями (как при нажатии F3), а не с одной?
Название: Re: Файловый менеджер Caja и его возможности
Отправлено: vita от 10 Ноября 2015, 19:24:47
Вы, наверно, хотите видеть Caja, внешне похожей на двухпанельные файловые  менеджеры. Никогда не задумывалась об открытии сразу двух панелей и скрипта для этого действия не видела.
На мой взгляд, это лишнее и открытие дополнительной панели всего лишь нажатием одной клавиши F3 совсем не сложно.
Название: Re: Файловый менеджер Caja и его возможности
Отправлено: aikshurik от 10 Ноября 2015, 19:35:13
Да, как двухпанельные (Double Commander, Total Commander (windows)). Нет конечно, открывать по F3 не сложно, скорее это дело привычки (наследие от  Total Commander).
Название: Re: Файловый менеджер Caja и его возможности
Отправлено: vita от 24 Февраля 2016, 10:38:38
Для быстрой, в т.ч. массовой, обработки изображений можно расширить контекстное меню Caja после установки пакета caja-image-converter
(http://i.imgur.com/bxv0K7Q.png)
Основные возможности расширения файлового менеджера caja-image-converter:
Название: Re: Файловый менеджер Caja и его возможности
Отправлено: alv от 24 Февраля 2016, 11:08:23
А есть ли скрипт чтобы Caja открывалась сразу с двумя панелями (как при нажатии F3), а не с одной?
Покопайтесь в настройках через dconf-editor, там должна быть соответствующая опция. Для Nemo - есть. Хотя для него это есть и в штатных настройках.
Название: Re: Файловый менеджер Caja и его возможности
Отправлено: vita от 24 Февраля 2016, 11:24:11
Алексей, уточните, пожалуйста, какая конкретно опция Nemo в dconf-editor отвечает за открытие ФМ с двумя панелями.
Название: Re: Файловый менеджер Caja и его возможности
Отправлено: alv от 24 Февраля 2016, 13:23:17
Алексей, уточните, пожалуйста, какая конкретно опция Nemo в dconf-editor отвечает за открытие ФМ с двумя панелями.
В org.nemo.preferences - строка start-with-dual-pane.
Сейчас под рукой нет ни одной системы с MATE, но думаю, что-то подобное должно быть в соответствующей секции и для caja.
Хотя согласен с Вами - насколько это нужно, не уверен: включай две панели, не включай - всё равно такие FM в дети лейтенанта Шмидта коммандера Нортона не запишешь :)
Название: Re: Файловый менеджер Caja и его возможности
Отправлено: vita от 24 Февраля 2016, 13:32:33
Спасибо!
К сожалению или к радости, такая строка в org.caja.preferences отсутствует напрочь. Для меня открытие Caja в однопанельном режиме предпочтительнее.
Название: Re: Файловый менеджер Caja и его возможности
Отправлено: alv от 24 Февраля 2016, 19:00:45
Спасибо!
К сожалению или к радости, такая строка в org.caja.preferences отсутствует напрочь.
Да, ничего подобного не обнаружилось ни поиском в dconf-editor, ни прямым поиском через gsettings.
С этой трагедией придётся примириться :)

UPD нашлось такое вот решение для Nautilus'а (http://blog.amet13.name/2012/12/nautilus.html). Возможно, с должными коррективами будет работать и в Caja. Проверка - на усмотрение заинтересованных лиц :)
Название: Re: Файловый менеджер Caja и его возможности
Отправлено: vita от 24 Февраля 2016, 20:54:48
UPD нашлось такое вот решение для Nautilus'а (http://blog.amet13.name/2012/12/nautilus.html). Возможно, с должными коррективами будет работать и в Caja. Проверка - на усмотрение заинтересованных лиц :)
А ведь работает!
Только учесть некоторые моменты. Опишу свои действия.
1) В терминале от пользователя открыла Pluma командойpluma dual-caja.sh2) В открывшийся документ вставила текст: #!/bin/sh
caja ~/
echo "
Delay 1\nKeyStrPress F3\nKeyStrRelease F3\n"|xmacroplay ":0.0"
3) После сохранения документа сделала его запускаемым.
4) Для того, чтобы не выводилось меню действия с файлом, создала на рабочем столе кнопку запуска
(http://i.imgur.com/iJE5T5E.png)
команду нашла путём обзора файла запуска с добавлением ключа -y
Название: Re: Файловый менеджер Caja и его возможности
Отправлено: vita от 05 Марта 2016, 10:14:50
Установка пакета caja-wallpaper помимо имеющихся сценариев со скриптами расширяет возможности контекстного меню файлового менеджера.
После его установки и перезапуска системы из контекстного меню без открытия EOM можно установить выбранное изображение в качестве обоев  :)
(http://i.imgur.com/A9XA9we.png)
Название: Re: Файловый менеджер Caja и его возможности
Отправлено: vita от 28 Февраля 2017, 17:54:14
Крайне необходимым в работе с некоторыми системными файлами оказался скрипт с наименованием Открыть как текст
(http://i.imgur.com/N7ojcUk.png)
Но предпочтения в применении текстовых редакторов могут быть самыми различными. Например, в Matuntu-Y64 мной вместо Pluma были установлены более продвинутые текстовые редакторы Xed и Kate.
Чтобы скрипт работал с конкретным редактором, необходимо внести поправку в текст самого скрипта, размещённого в ~/.config/caja/scripts с изменением в строке, где указан применяемый текстовый редактор:
Спойлер
#!/bin/bash

# AUTHOR:      (c) Aalexeey :-)
# NAME:         Open as a Text
# DESCRIPTION:     GUI скрипт для Caja, поможет быстрей открыть файлы типа .desktop
# REQUIRES:      pluma
# LICENSE:      GNU GPL v3 (http://www.gnu.org/licenses/gpl.html)
# WEBSITE:      http://debianforum.ru/index.php?topic=9141.0
# ICON_USED:       /usr/share/icons/gnome-colors-common/16x16/apps/accessories-text-editor.png

file=$CAJA_SCRIPT_SELECTED_URIS
xed $file

fi
Название: Re: Файловый менеджер Caja и его возможности
Отправлено: vita от 21 Февраля 2018, 13:40:51
Для работы в файловом менеджере Caja со скриптом ОТКРЫТЬ КАК ТЕКСТ прописан текстовый редактор Pluma.
Если применяется другой текстовый редактор, например, Xed, нужно отредактировать сам скрипт - заменить Pluma на Xed
(http://i.imgur.com/t7kAXfb.png[img])
Название: Re: Файловый менеджер Caja и его возможности
Отправлено: ivm от 07 Июня 2018, 11:51:29
Увидел в одном из официальных дистрибутивов в контекстном меню файлового менеджера неработающий пункт Отправить. Решил разобраться с этим пунктом применительно к Matuntu.
Такую возможность предоставляет пакет caja-sendto - интегрирует почтовые клиенты и Pidgin в файловый менеджер Caja.
Также понадобился почтовый клиент. В дополнительных пакетах рекомендованы Evolution, Pidgin, Claws-mail, Tunderbird и другие.
Воспользовался хорошо знакомой мне громовой птицей.
После всех настроек почтового клиента в контекстном меню Caja появился активный пункт Отправить
(http://i.imgur.com/tjnU9lz.png)
При его выборе появляется подменю из двух вариантов адресации: Сменные диски и общие папки или Электронная почта с возможностью архивации
(http://i.imgur.com/qawXg04.png)
После указания адресата откроется окно почтового клиента, где данный файл уже прикреплён к письму. Далее останется дополнить файл комментарием и названием темы письма.
Название: Re: Файловый менеджер Caja и его возможности
Отправлено: vita от 07 Июня 2018, 14:40:40
Разработан ещё ряд расширений для файлового менеджера Caja, которые по личным соображениям не установлены в Matuntu, но при необходимости любой пользователь может без проблем инсталлировать расширение в установленную систему из основного репозитория Ubuntu.

caja-eiciel - MATE eiciel - графический редактор списков контроля доступа (ACL) и расширенные атрибуты (xattr), либо как расширение внутри Caja, либо как автономная утилита.

caja-seahorse - Seahorse caja - это расширение для caja, которое позволяет шифровать и дешифровать файлы OpenPGP с использованием GnuPG. Он интегрирован в caja. Щёлкните правой кнопкой мыши меню, но также можно использовать из командной строки. Это основано на морском seahorse-nautilus.

caja-share - расширение Caja share позволяет быстро обмениваться файлами в Caja без прав доступа root. Он использует Samba, поэтому ваши папки могут быть доступны для любой операционной системы.

caja-dropbox - Caja Dropbox - это расширение, которое объединяет веб-службу Dropbox с вашим рабочим столом MATE. Чтобы использовать этот пакет, вам необходимо установить собственный пакет Dropbox с https://www.dropbox.com/install.

caja-owncloud - сервис ownCloudSync позволяет вам всегда иметь доступ к самым свежим версиям ваших файлов, где бы вы ни находились. Просто укажите одну или несколько папок на локальном компьютере, которые необходимо синхронизировать с сервером. Можно настроить синхронизацию с сервером нескольких компьютеров и любые изменения в файлах на одном из компьютеров тихо и надёжно будут перенесены на все остальные.

deja-dup-caja - контекстное меню в браузере caja для резервного копирования / восстановления ваших файлов.
Название: Re: Файловый менеджер Caja и его возможности
Отправлено: vita от 23 Июля 2020, 15:38:02
Можно без запуска графического редактора мгновенно конвертировать снимки из формата JPEG в PNG и обратно

Случайно обнаружилось, что скрипт конвертирования форматов можно применять не только между JPEG и PNG, но и к другим форматам. Например, формат WebP (https://ru.wikipedia.org/wiki/WebP) при помощи скрипта в Caja из контекстного меню легко можно перевести в JPEG или PNG. При этом возможно пакетное преобразование форматов изображений.
Название: Re: Файловый менеджер Caja и его возможности
Отправлено: vita от 29 Ноября 2020, 16:29:20
Множество скриптов разработчики Mate реализовали в качестве расширений для файлового менеджера. Но тема скриптов ФМ до настоящего времени рассматривается на разных ресурсах, например, на гитхабе (https://github.com/bitsgalore/contextactions), минтовском форуме (https://forums.linuxmint.com/viewtopic.php?t=219329) и т.д Доступны для просмотра и загрузки скрипты Caja из диска Google (https://drive.google.com/drive/folders/0B0ztncE54F5ER0NiN09BTTE0RWs).
Показался полезным скрипт Сделать текстовый файл исполняемым
Сделать исполняемым
#!/bin/bash
# 20-03-2016 - Titanio
# Web: http://tetratitanio.blogspot.com/
# Licencia: GNU General Public License.
# Instalación: Solo funciona en "Caja", copia este archivo en el directorio ~/.config/caja/scripts y otorgarle permisos de ejecución.
# El script otorga permisos de ejecución al archivo seleccionado.
# Útil para darle permisos a los scripts de CAJA y a cualquier archivo ejecutable descargado de Internet.

path=$CAJA_SCRIPT_SELECTED_FILE_PATHS
path=${path%?}
quoted="file://$path"
chmod +x "$path"
zenity --info --text="The file $path is now executable."
    else

Также можно в каталоге размещения скриптов ~/.config/caja/scripts/ создать подкаталоги по тематике, т.е. древовидную структуру скриптов
(https://i.imgur.com/VNWgZq9.png)
Название: Re: Файловый менеджер Caja и его возможности
Отправлено: vita от 10 Октября 2021, 22:57:01
Автор скриптов для Caja Aalexeey внёс коррективы в некоторые скрипты и разместил их на форуме русскоязычного сообщества Debian (https://debianforum.ru/index.php/topic,9141.0.html).
Проверка контрольных сумм в современном Mate уже не актуальна, поскольку в Caja встроен плагин Дайджесты для проверки хэш-функции.
Показался интересным скрипт JPG‹–›PNG‹–›PDF, в котором объединены JPG, PNG и PDF конвертеры, добавлен выбор качества и информации о файле, исправлена передача размеров и разрешения
текст скрипта
#!/bin/bash

# AUTHOR: (c) Aalexeey :-)
# NAME: JPG‹–›PNG‹–›PDF
# DESCRIPTION:         GUI скрипт для Caja, конвертирует png и jpg в pdf
# REQUIRES: imagemagick, poppler-utils, awk, mate-dialogs-gnome | zenity, mate-notification, libnotify-bin
# LICENSE: GNU GPL v3 (http://www.gnu.org/licenses/gpl.html)
# WEBSITE: http://debianforum.ru/index.php?topic=9141.0
# ICON_USED:         /usr/share/icons/gnome-colors-common/16x16/apps/conduit.png

case $LANG in

ru* )
# Russian (ru-RU)
util="JPG‹–›PNG‹–›PDF"
util_pdf=" в PDF"
util_jpg=" в JPG"
util_png=" в PNG"
conv_out="Как будем конвертировать?"
job_pdf=" PNG или JPG в файл PDF"
job_jpg=" PDF или PNG в файл JPG"
job_png=" JPG или PDF в файл PNG"
file_info=" Вывести информацию о файле"
starting="Проверяю файл ожидайте ..."
conv_level="Качество файла на выходе:"
highq=" Высокое "
mediumq=" Среднее "
lowq=" Низкое "
colo_level="Качество цвета на выходе:"
converting=" Конвертирую выбранный файл\n"
nothing="Ничего не было выбрано"
no_dirs="Директория не выбрана"
terminated="работа скрипта была\nдосрочно прекращена!"
choose_dir="Где сохраняем?"
the_file="Файл"
in_dir="сохранён в выбранном ранее каталоге ..."
wrong_image="Неправильный выбор"
wrong_file="Расширение файла противоречит задаче\nработа скрипта не может быть продолжена!"
job_done="Конвертация была\nуспешно завершена."
job_failed="Работа была прервана\nне конвертировано!";;

esac

allnames=$(echo "$1");
wholename=$(basename "$allnames");
name=${wholename%.*};

# Если ничего не выбрано то сразу выходим из программы
if [[ "$1" == "" ]]; then
zenity --warning --title="$util" --text="$nothing\n$terminated" --width 250;
exit 0;
fi

if ! [[ "$1" =~ \.[pPjJpP][nNpPdD][gGgGfF]$ ]] || [[ "$1" =~ \.[jJ][pP][eE][gG]$ ]]; then
notify-send "$util" "$wrong_file"
zenity --warning --title="$util" --text="$wrong_image\n$terminated" --width 250;
exit 0;
fi

# Выбор каталога для сохранения изображений
save_dir=$(zenity --file-selection --directory --title="$choose_dir");
if [[ "$?" != 0 ]]; then
zenity --warning --title="$util" --text="$no_dirs\n$terminated" --width 250;
exit 0;
fi

savedfile=$(echo "$save_dir/$name");

IFS=$'\t\n';

function jpg2pdf {
# Если выделенный файл png
if [[ "$fileselect" =~ \.[pP][nN][gG]$ ]]; then
png_pdf_job=$(zenity --list --radiolist --title="$util $util_pdf" --column "↓" --column "$colo_level" TRUE "$highq($colors)" FALSE "$mediumq(2700)" FALSE "$lowq(900)" --width=300 --height=200 | sed 's/[^0-9]//g');
if [ "$png_pdf_job" = "" ]; then
zenity --warning --title="$util $util_pdf" --text="$nothing\n$terminated" --width 250;
exit 0;
fi
(
echo
convert -background white -alpha remove -alpha off $fileselect -units PixelsPerInch -density $imagedpi -geometry $resolution $transit_flif &&
echo
convert +dither -colors $png_pdf_job $transit_flif -units PixelsPerInch -density $imagedpi -geometry $resolution $savedfile.pdf
) | zenity --progress --no-cancel --pulsate --text="$converting $name" --auto-close
rm $transit_flif
fi
# Если выделенный файл jpg
if [[ "$fileselect" =~ \.[jJ][pP][gG]$ ]] || [[ "$fileselect" =~ \.[jJ][pP][eE][gG]$ ]]; then
jpg_pdf_job=$(zenity --list --radiolist --title="$util $util_pdf" --column "↓" --column "$conv_level" TRUE "$highq(100%)" FALSE "$mediumq(~90%)" FALSE "$lowq(~60%)" --width=300 --height=200 | sed 's/[^0-9]//g');
if [ "$jpg_pdf_job" = "" ]; then
zenity --warning --title="$util $util_pdf" --text="$nothing\n$terminated" --width 250;
exit 0;
fi
(
echo
convert -background white -alpha remove -alpha off -quality $jpg_pdf_job $fileselect -units PixelsPerInch -density $imagedpi -geometry $resolution $savedfile.pdf
) | zenity --progress --no-cancel --pulsate --text="$converting $name" --auto-close
fi
sleep 0.5
if [ -f "$savedfile.pdf" ]; then
notify-send "$util $util_pdf" "$the_file $name.pdf\n$in_dir"
sleep 0.5
zenity --info --title="$util $util_pdf" --text="$job_done" --width 250;
else
zenity --warning --title="$util $util_pdf" --text="$job_failed" --width 250;
exit 0;
fi
}

function pdf2jpg {
# Если выделенный файл pdf
if [[ "$fileselect" =~ \.[pP][dD][fF]$ ]]; then
pdf_jpg_job=$(zenity --list --radiolist --title="$util $util_jpg" --column "↓" --column "$conv_level" FALSE "$highq(300)" TRUE "$mediumq(150)" FALSE "$lowq(100)" --width=300 --height=200 | sed 's/[^0-9]//g');
if [ "$pdf_jpg_job" = "" ]; then
zenity --warning --title="$util $util_jpg" --text="$nothing\n$terminated" --width 250;
exit 0;
fi
(
echo
#gs -dNOPAUSE -dBATCH -sDEVICE=jpeg -r$pdf_jpg_job -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -sOutputFile="$savedfile-%d" "$fileselect"
pdftoppm -r $pdf_jpg_job -cropbox -jpeg "$fileselect" "$savedfile"
) | zenity --progress --no-cancel --pulsate --text="$converting $name" --auto-close
fi
# Если выделенный файл png
if [[ "$fileselect" =~ \.[pP][nN][gG]$ ]]; then
png_jpg_job=$(zenity --list --radiolist --title="$util $util_jpg" --column "↓" --column "$conv_level" TRUE "$highq(100%)" FALSE "$mediumq(~90%)" FALSE "$lowq(~60%)" --width=300 --height=200 | sed 's/[^0-9]//g');
if [ "$png_jpg_job" = "" ]; then
zenity --warning --title="$util $util_jpg" --text="$nothing\n$terminated" --width 250;
exit 0;
fi
(
echo
convert $fileselect -background white -alpha remove -alpha off -quality $png_jpg_job -units PixelsPerInch -density $imagedpi -geometry $resolution $savedfile.jpg
) | zenity --progress --no-cancel --pulsate --text="$converting $name" --auto-close
fi
sleep 0.5
if [ -f "$savedfile.jpg" ] || [ -f "$savedfile-1.jpg" ]; then
notify-send "$util $util_jpg" "$the_file $name*.jpg\n$in_dir"
sleep 0.5
zenity --info --title="$util $util_jpg" --text="$job_done" --width 250;
else
zenity --warning --title="$util $util_jpg" --text="$job_failed" --width 250;
exit 0;
fi
}

function jpg2png {
# Если выделенный файл pdf
if [[ "$fileselect" =~ \.[pP][dD][fF]$ ]]; then
pdf_png_job=$(zenity --list --radiolist --title="$util $util_png" --column "↓" --column "$conv_level" FALSE "$highq(300)" TRUE "$mediumq(150)" FALSE "$lowq(100)" --width=300 --height=200 | sed 's/[^0-9]//g');
if [ "$pdf_png_job" = "" ]; then
zenity --warning --title="$util $util_png" --text="$nothing\n$terminated" --width 250;
exit 0;
fi
(
echo
#gs -dNOPAUSE -dBATCH -sDEVICE=png16m -r$pdf_png_job -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -sOutputFile="$savedfile-%d" "$fileselect"
pdftoppm -r $pdf_png_job -cropbox -png "$fileselect" "$savedfile"
) | zenity --progress --no-cancel --pulsate --text="$converting $name" --auto-close
fi
# Если выделенный файл jpg
if [[ "$fileselect" =~ \.[jJ][pP][gG]$ ]] || [[ "$fileselect" =~ \.[jJ][pP][eE][gG]$ ]]; then
jpg_png_job=$(zenity --list --radiolist --title="$util $util_png" --column "↓" --column "$colo_level" TRUE "$highq($colors)" FALSE "$mediumq(2700)" FALSE "$lowq(900)" --width=300 --height=200 | sed 's/[^0-9]//g');
if [ "$jpg_png_job" = "" ]; then
zenity --warning --title="$util $util_png" --text="$nothing\n$terminated" --width 250;
exit 0;
fi
(
echo
convert $fileselect -units PixelsPerInch -density $imagedpi -geometry $resolution $transit_flif &&
echo
convert +dither -colors $jpg_png_job $transit_flif -background white -alpha remove -alpha off -units PixelsPerCentimeter -density $imageppcm -geometry $resolution $savedfile.png
) | zenity --progress --no-cancel --pulsate --text="$converting $name" --auto-close
rm $transit_flif
fi
sleep 0.5
if [ -f "$savedfile.png" ] || [ -f "$savedfile-1.png" ]; then
notify-send "$util $util_png" "$the_file $name*.png\n$in_dir"
sleep 0.5
zenity --info --title="$util $util_png" --text="$job_done" --width 250;
else
zenity --warning --title="$util $util_png" --text="$job_failed" --width 250;
exit 0;
fi
}

# Цикл перебора выделенных файлов
for fileselect in `echo "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS"`
do

notify-send "$util" "$starting"

#Вывести информацию о файле
fileinfo=$(identify -verbose $fileselect);

#Определение разрешения оригинала
imagedpi=$(identify -units PixelsPerInch -format "%x" $fileselect | awk '{print sprintf("%.0f",$0/2)*2}');
imageppcm=$(bc<<<"scale=3;$imagedpi/2.53968" | awk '{printf("%.2f \n",$1)}');
xresolution=$(identify -units PixelsPerInch -format "%[fx:w]" $fileselect);
yresolution=$(identify -units PixelsPerInch -format "%[fx:h]" $fileselect);
resolution=$(echo "$xresolution"x"$yresolution");

#Качество цвета транзитного flif
transit_flif=$(echo "/tmp/$name.flif");
colors=$(identify -format "unique_colors:%k" $fileselect | sed 's/[^0-9]//g' | head -c 6);

# Если выделенный файл jpg
if [[ "$fileselect" =~ \.[jJ][pP][gG]$ ]] || [[ "$fileselect" =~ \.[jJ][pP][eE][gG]$ ]]; then
selectedjpg=`zenity --list --radiolist --title="$util" --column "↓" --column "$conv_out" TRUE "$job_pdf" FALSE "$job_png" FALSE "$file_info" --width=300 --height=200`;
if  [ "$selectedjpg" = "$job_pdf" ]; then
# то вызываем функцию конвертирования
jpg2pdf
elif  [ "$selectedjpg" = "$job_png" ]; then
# то вызываем функцию конвертирования
jpg2png
elif  [ "$selectedjpg" = "$file_info" ]; then
echo "$fileinfo" | zenity --text-info --title="$util" --width 700 --height=500;
elif  [ "$?" = 1 ]; then
zenity --warning --title="$util" --text="$nothing\n$terminated" --width 250;
exit 0;
fi
# Если выделенный файл png
elif [[ "$fileselect" =~ \.[pP][nN][gG]$ ]]; then
selectedpng=`zenity --list --radiolist --title="$util" --column "↓" --column "$conv_out" TRUE "$job_pdf" FALSE "$job_jpg" FALSE "$file_info" --width=300 --height=200`;
if  [ "$selectedpng" = "$job_pdf" ]; then
# то вызываем функцию конвертирования
jpg2pdf
elif  [ "$selectedpng" = "$job_jpg" ]; then
# то вызываем функцию конвертирования
pdf2jpg
elif  [ "$selectedpng" = "$file_info" ]; then
echo "$fileinfo" | zenity --text-info --title="$util" --width 700 --height=500;
elif  [ "$?" = 1 ]; then
zenity --warning --title="$util" --text="$nothing\n$terminated" --width 250;
exit 0;
fi
# Если выделенный файл pdf
elif [[ "$fileselect" =~ \.[pP][dD][fF]$ ]]; then
selectedpdf=`zenity --list --radiolist --title="$util" --column "↓" --column "$conv_out" TRUE "$job_png" FALSE "$job_jpg" FALSE "$file_info" --width=300 --height=200`;
if  [ "$selectedpdf" = "$job_png" ]; then
# то вызываем функцию конвертирования
jpg2png
elif  [ "$selectedpdf" = "$job_jpg" ]; then
# то вызываем функцию конвертирования
pdf2jpg
elif  [ "$selectedpdf" = "$file_info" ]; then
echo "$fileinfo" | zenity --text-info --title="$util" --width 700 --height=500;
elif  [ "$?" = 1 ]; then
zenity --warning --title="$util" --text="$nothing\n$terminated" --width 250;
exit 0;
fi
fi

done

fi

Немного переработан + fakeroot скрипт deb_Repacker
текст скрипта
#!/bin/bash

# AUTHOR: (c) Aalexeey :-)
# NAME: deb Repacker
# DESCRIPTION:         GUI скрипт для Caja, для разборки и сборки deb пакетов
# REQUIRES: awk| gawk | mawk, dpkg, fakeroot, mate-dialogs-gnome | zenity, mate-notification, libnotify-bin
# LICENSE: GNU GPL v3 (http://www.gnu.org/licenses/gpl.html)
# WEBSITE: http://debianforum.ru/index.php?topic=9141.0
# ICON_USED:         /usr/share/icons/gnome-colors-common/16x16/actions/extract-archive.png

case $LANG in

ru* )
# Russian (ru-RU)
util="deb_Repacker"
target="Поставленная задача"
rebuild="Воссоздать deb пакет"
fakeroot="Воссоздать пакет с fakeroot"
extract="Распаковать deb пакет"
cancel="Работа скрипта прекращена!"
deb_file="Для запуска скрипта выделяйте deb файл"
no_deb="Не был выбран Debian пакет!"
refused="Вы отказались от намеченного"
deb_folder="Содержимое deb пакета в папке"
unpacking="удалён, ждите распаковывается"
choose="Выберите подготовленный каталог, должен быть!"
no_folder="Ни один каталог не выбран."
md5_gen="сгенерирован, ожидайте...."
deb_build="Собирается ваш deb пакет, возможно,\nэтот процесс займёт некоторое время!"
deb_save="Ваш пакет сохранён в одной\nс его каталогом директории."
panic="Что то пошло совсем не так,\nвозможно это файл <b>control</b>,"
cyrilic="кодировка символов имени \nдиректории и.т.п.";;

esac

fileselect="$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS"
filetype=$(file -b $fileselect | awk '{ print $1}' | tr -d '\n')
defaultdir="./"`basename $1 .deb`"[new]"
dirlog=`basename $1 .deb`"[new]"

selectedjob=$(zenity --list --radiolist --title="$util" --column "↓" --column "$target" FALSE "$rebuild" TRUE "$fakeroot" FALSE "$extract" --width=300 --height=200);

if  [ "$?" = 1 ]; then
    zenity --warning --title="$util" --text="$refused\n$cancel" --width=300
    exit 0;
fi

if  [ "$filetype" != "Debian" ] && [ "$selectedjob" = "$extract" ]; then
    notify-send "$util" "$deb_file"
    zenity  --warning --title="$util" --text="$no_deb\n$cancel" --width=300
    exit -1;
fi

if  [ "$selectedjob" = "$extract" ]; then
    dpkg-deb -R $fileselect $defaultdir/ | notify-send "$util" "md5sums $unpacking"
    rm $defaultdir/DEBIAN/md5sums
    rm $defaultdir/DEBIAN/md5sum
    cat /tmp/deb_repack_dpkg.log
    echo -n "$dirlog" > /tmp/deb_repack_dpkg.log
    sleep 1
    zenity --info --title="$util" --text="$deb_folder\n$defaultdir" --width=300
exit 0;
fi

savedlog=`cat /tmp/deb_repack_dpkg.log`

dirselect=$(zenity --file-selection --directory --title="$choose $savedlog");

if  [ "$?" = 1 ]; then
    zenity --warning --title="$util" --text="$no_folder\n$cancel" --width=300
    exit 0;
fi

if  [ "$selectedjob" = "$rebuild" ]; then
    cd $dirselect && find . -type f ! -regex '.*.hg.*' ! -regex '.*?debian-binary.*' ! -regex '.*?DEBIAN.*' -printf '%P ' | xargs md5sum > $dirselect/DEBIAN/md5sums
    notify-send "$util" "md5sums $md5_gen"
    dpkg-deb -b $dirselect | zenity --progress --no-cancel --pulsate --text="$deb_build" --auto-close --width=300
    cp /dev/null /tmp/deb_repack_dpkg.log
    sleep 1
fi

if  [ "$selectedjob" = "$fakeroot" ]; then
    cd $dirselect && find . -type f ! -regex '.*.hg.*' ! -regex '.*?debian-binary.*' ! -regex '.*?DEBIAN.*' -printf '%P ' | xargs md5sum > $dirselect/DEBIAN/md5sums
    notify-send "$util" "md5sums $md5_gen"
    fakeroot dpkg-deb -b $dirselect | zenity --progress --no-cancel --pulsate --text="$deb_build" --auto-close --width=300
    cp /dev/null /tmp/deb_repack_dpkg.log
    sleep 1
fi

if  [ -f "$dirselect.deb" ]; then   
    zenity --info --title="$util" --text "$deb_save" --width=300
else
    zenity --error --title="$util" --text "$panic\n$cyrilic\n$cancel" --width=300
exit 0;
fi

С остальными скриптами можно ознакомиться по приведённой выше ссылке.
Название: Re: Файловый менеджер Caja и его возможности
Отправлено: ivm от 06 Января 2022, 02:14:36
Сегодня на рунтовском форуме нашёл одну фишку (https://forum.runtu.org/index.php/topic,8357.msg55972.html#msg55972). Проблема известная для любого файлового менеджера. При записи на флешку прогресс-бар быстро "кидается" вперёд и даже показывает завершения действия над файлами. В то время как индикатор флешки продолжает показывает активность и извлечь флешку безопасно система не разрешает.
Решение следующее. Ограничить объём буфера размером 4 ГБ.
Сделать это можно отредактировав файл /etc/sysctl.conf. sudo pluma /etc/sysctl.confВ открывшийся документ добавить две строки: vm.dirty_bytes = 4194304
vm.dirty_background_bytes = 4194304
Для вступления изменений в силу выполнить команду: sudo sysctl -p
После этого записал образ размером 3,5 ГБ на флешку с Ventoy. Наконец-таки запись происходила на нормальной скорости записи флешки, в моём случае 20 МБ/с, на всём протяжении. Окончание прогресса записи совпало с завершением индикации активности флешки!
Название: Re: Файловый менеджер Caja и его возможности
Отправлено: snowman-fedya от 06 Января 2022, 21:49:55
Окончание прогресса записи совпало с завершением индикации активности флешки!
Думаю, что глобально ограничивать буфер не имеет смысла, надо поискать, где отключается кэширование записи для флешек. Большая часть записей-то делается на HD, а там такое ограничение лишнее
Название: Re: Файловый менеджер Caja и его возможности
Отправлено: vita от 07 Января 2022, 16:52:45
надо поискать, где отключается кэширование записи для флешек.

Это больная тема (https://www.linux.org.ru/forum/general/15546985) для пользователей Linux. Глобально проблема до сих пор не решена.
Название: Re: Файловый менеджер Caja и его возможности
Отправлено: snowman-fedya от 07 Января 2022, 23:35:19
надо поискать, где отключается кэширование записи для флешек.
Это больная тема (https://www.linux.org.ru/forum/general/15546985) для пользователей Linux. Глобально проблема до сих пор не решена.
не ожидал, что это проблема -- сделать разные параметры кэширования для разных типов дисков :(
Название: Re: Файловый менеджер Caja и его возможности
Отправлено: vita от 08 Января 2022, 14:39:50
Если действовать по умолчанию, то выручает индикатор активности флешки: отморгался-извлекай. Или же остаётся наблюдать за появлением уведомления, позволяющего безопасно извлечь накопитель. Конечно, хотелось бы синхронных действий с файлами, но пока увы  :(
Название: Re: Файловый менеджер Caja и его возможности
Отправлено: vita от 11 Января 2022, 16:56:27
На русскоязычных форумах, в т.ч. Ubuntu (https://forum.ubuntu.ru/index.php?topic=286131.msg2253347#msg2253347) и ArchLinux (https://archlinux.org.ru/forum/post/126825/), даются советы по применению утилиты sync (https://ru.wikipedia.org/wiki/Sync), предназначенной для обновления файловых систем и для синхронизации данных на диске с данными в памяти.
В процессе копирования большого файла в файловом менеджере Caja с раздела системы на флешку рядом было открыто окно терминала с запущенной командой sync. Файловый менеджер бодренько отрапортовал об успешном завершении действий над файлами. В это же время команда в терминале не завершила своё дело и на флешке индикатор активно моргал. Как только в терминале появилось приглашение к следующей команде, на флешке индикатор успокоился и появилась возможность безопасно извлечь накопитель  :)
(https://i.imgur.com/oxMiLdG.png)
Название: Re: Файловый менеджер Caja и его возможности
Отправлено: ivm от 15 Февраля 2022, 19:20:54
Какое-то время назад резанула слух новость о введении в контекстное меню Caja нового пункта - форматирование. Но то, что меню можно расширить при помощи скриптов, секрет Полишинеля  :)
И всё-таки по "большому секрету" в открытом доступе есть инструкция (https://www.printfriendly.com/p/g/kVMR2S) Расширение контекстного меню nemo/caja (https://redos.red-soft.ru/base/arm/graph-env/modify-menu-nemo-caja/).
Название: Re: Файловый менеджер Caja и его возможности
Отправлено: vita от 16 Февраля 2022, 14:13:08
в открытом доступе есть инструкция (https://www.printfriendly.com/p/g/kVMR2S) Расширение контекстного меню nemo/caja (https://redos.red-soft.ru/base/arm/graph-env/modify-menu-nemo-caja/).
Применительно к файловому менеджеру Caja для реализации выше указанной инструкции необходимо установить пакет caja-actions
Цитата: synaptic
это расширение для файлового менеджера Caja, которое позволяет пользователю добавить произвольную программу для запуска через всплывающее окно меню выбранных файлов файлового менеджера Caja.
В результате установки этого пакета в меню появится пункт Caja-Actions Configuration Tool.

По умолчанию утилита Caja-Actions в дистрибутивах с DE Mate не устанавливается ввиду сложности настроек и в основном рассчитана на опытных пользователей. В файловом менеджере Caja в настоящее время, ИМХО, достаточно расширений.