Я использую Ubuntu 15.04 с файловым менеджером Немо.
Как я могу включить опцию щелчка правой кнопкой, которая сжимает файлы в архив zip и присоединяет его к новому электронному письму в Thunderbird?
Создайте сценарий (.nemo_action), чтобы сделать это, здесь можно найти образец для правильного синтаксиса.
, Когда Вы заканчиваете свой сценарий, добавляют его к nemo-actions
для предоставления доступа к нему доступным для щелчка правой кнопкой. Необходимо добавить его к $HOME/.local/share/nemo/actions/
, сценарий должен иметь .nemo_action
расширение
Теперь, необходимо сделать сценарий для сжатия и почты:
Добавляют потребность к сценарию:
Для сжатия zip использования, например:
zip -r attach.zip attachFiles
Теперь присоединение это к новой почте в тандерберде:
thunderbird -compose "attachment='/path-to- attach.zip'"
, Таким образом, этот сценарий назовут nemo_action
один
Некоторые полезные ссылки:
Вам нужны два сценария для этого: сценарий действия Немо и сценарий, который на самом деле сделает работу: (Ну, на самом деле можно было бы быть достаточно, но это сделает обслуживание veeery раздражающим)
, сценарий действия для щелчка правой кнопкой должен будет войти в очень определенный каталог:
~/.local/share/nemo/actions/compress-and-mail.nemo_action:
, Поскольку это не расширяется ~
или $HOME
, необходимо будет дать полный путь.
[Nemo Action]
Name=Compress and E-Mail
Comment=zip-compress files and send them with Thunderbird
Icon-Name=thunderbird
Exec=/home/saravanabawa/.local/nemo_mail_compress.sh %F
Selection=notnone
Extensions=any
EscapeSpaces=true
другой сценарий будет сценарием удара, чтобы сжать выбранные файлы, присоединить временный архив к новому сообщению и удалить его, как только Thunderbird закрывается. Файл должен будет быть в местоположении, которое Вы определили в Exec=
строка в предыдущем сценарии:
#!/usr/bin/env bash
ATT=$(mktemp /tmp/attachment.XXXXX.zip) #Generate temp file
rm $ATT #Remove temp file
zip -rj $ATT $@ #Compress files
thunderbird -compose "attachment='file://${ATT}'" #Attach zip to message
rm $ATT #Delete archive when done
Да, я сначала создаю временный файл и затем удаляю его снова. Таким образом, имя файла сгенерировано, но zip
не жалуется на файл, не являющийся архивом zip.
сценарий, который я создал, позволяет Вам присоединять несколько файлов и каталогов. Из-за некоторых ограничений, любой возможно сжать целый путь (архив выберет целое путь как имя, в конечном счете содержащее дерево каталогов от /
до всех сжатых файлов) или опустить все каталоги, т.е. все файлы будут на корневом уровне. Названия дубликата файла в различных каталогах заставят программу не работать правильно (я никогда не использую zip, я не знаю, как это будет реагировать). Если Вы желаете первого поведения, удаляете эти j
переключатель от команды zip, еще оставляете его там.
пз: Получатели могут быть подозрительными, если они получают электронное письмо с вложением, названным attachment.JgHdI.zip
(имя, сгенерированное mktemp). Таким образом, можно хотеть переименовать архив в Thunderbird.
Другая опция состояла бы в том, чтобы запросить для названия архива, например, использования Zenity. Адаптированный сценарий мог быть похожим на это:
#!/usr/bin/env bash
ATT="/tmp/$(zenity ---entry --title='Enter file name' --text='Please name the attachment archive').zip"
zip -rj $ATT $@
thunderbird -compose "attachment='file://${ATT}'"
rm $ATT
Для Thunderbird в Ubuntu 16.10 для Немо 3.20 я адаптировал это решение: http://www.badpenguin.org/nemo-action-send-to-email
/usr/share/nemo/actions
thunderbird.nemo_action
открытый это и вставляют после содержания:
[Nemo Action]
Name=Attach to Email
Comment=Attach to Email
Exec=thunderbird -compose to=,"attachment='%U'"
Icon-Name=thunderbird
Selection=notnone
Extensions=nodirs;
Separator=,
EscapeSpaces=false
близкий Немо: nemo -q