Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Контекстное меню Thunar. Делимся своими конфигами  (Прочитано 94829 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн nikmax

  • Любитель
  • *
  • Сообщений: 85
    • Просмотр профиля
А как сделать , что бы при копировании или переносе файлов при использовании данных функций из контекстного меню, была хоть какая то информация о действии с файлами, а то переносишь или копируешь файлы, а на каком этапе не видно.

Salomander

  • Автор темы
  • Гость
А как сделать , что бы при копировании или переносе файлов при использовании данных функций из контекстного меню, была хоть какая то информация о действии с файлами, а то переносишь или копируешь файлы, а на каком этапе не видно.

Встроеные функции копирования/перемещения не так просто изменить, для этого придется как минимум править исходники програмы, а свою функцию копирования сделать можно... У нас есть список выделенных файлов %N, нужна директория, куда их скопировать и индикация процесса:
1. каталог выбираем через диалог зенити:
Код: (bash) [Выделить]
d=$(zenity --file-selection --directory --title="Куда копируем?")2. для отображения прогресса подсчитываем количество выделеных файлов:
Код: (bash) [Выделить]
n=0
for i in %N
do let "n=n+1"
done

делаем счетчик при копировании $k, по нему определим текущий прогресс, если n это 100%, то иcходя из пропорции k это x%
Код: (Bash) [Выделить]
k=0
for i in %N
do
let "k=k+1"
let "x=k*100/n"
cp $i $d\/$i #само копирование
echo $x #выводим процент скопированного
done

Добавляем диалог прогресса, в одну строку это все выглядит так:
Код: (bash) [Выделить]
d=$(zenity --file-selection --directory --title="Куда копируем?");n=0;for i in %N;do let "n=n+1";done;k=0;for i in %N;do cp $i $d\/$i;let "k=k+1";let "x=k*100/n";echo $x;done|zenity --progress --title="Копирование"
по идее должно работать, недостаток может быть в том, что при выделении папки - вся директории будет считатся за один файл, соответственно ее файлы в индикации прогресса отображаться не будут.

чето не заработал в Ubuntu этот вариант, напрочь игнорирует оператор let, вот в таком виде работает:

<action>
<icon>folder-copy</icon>
<name>Копировать в...</name>
<unique-id>1399798863221053-8</unique-id>
<command>d=$(zenity --file-selection --directory --title=&quot;Куда копируем?&quot;);n=0;for i in %N;do n=$((n+1));done;k=0 ;for i in %N;do k=$((k+1));x=$((k*100/n));echo $x ;cp $i &quot;$d/$i&quot;;done|zenity --progress --title=&quot;Копирование&quot;</command>
<description>Копируем выделенное в выбраный каталог</description>
<patterns>*</patterns>
<directories/>
<audio-files/>
<image-files/>
<other-files/>
<text-files/>
<video-files/>
</action>
« Последнее редактирование: 11 Мая 2014, 13:06:46 от Salomander »

Оффлайн artifactor

  • Старожил
  • *
  • Сообщений: 1769
    • Просмотр профиля
    • Leaf Watoru's notes
nikmax, обновитесь до xfce 4,11, там это уже сделали.
Xubuntu 16.04 x64
Обои для рабочего стола и Space Ambient

Оффлайн Алекс Шут

  • Любитель
  • *
  • Сообщений: 53
    • Просмотр профиля
чейта у меня вся сия возня не фурычит  :-\


простите, хлопцы, за наезд не честный.
Сам прощелкал пару моментов выполнить  :idiot2:
« Последнее редактирование: 24 Июня 2014, 19:46:18 от Алекс Шут »

Оффлайн IgoryaN_

  • Новичок
  • *
  • Сообщений: 30
    • Просмотр профиля
Доброго времени суток.
Подскажите, можно как-то реализовать отправку файла на virustotal.com правой кнопкой мыши?

Оффлайн artifactor

  • Старожил
  • *
  • Сообщений: 1769
    • Просмотр профиля
    • Leaf Watoru's notes
IgoryaN_, расскажите, какую команду поддерживает этот сайт и мы подскажем вам, как это можно прикрутить к тунару. :)
Xubuntu 16.04 x64
Обои для рабочего стола и Space Ambient

Оффлайн IgoryaN_

  • Новичок
  • *
  • Сообщений: 30
    • Просмотр профиля
IgoryaN_, расскажите, какую команду поддерживает этот сайт и мы подскажем вам, как это можно прикрутить к тунару. :)
Эх, если б знать...
К сожалению мой уровень знания linux невелик. :(

Оффлайн M1ke

  • Участник
  • *
  • Сообщений: 228
  • ✎…
    • Просмотр профиля
    • IT блог
IgoryaN_,
http://ondailybasis.com/blog/wp-content/uploads/2012/12/yaps.py_.txt
Python скрипт для отправки файла туда. Но нужно получить API Key на самом сайте virustotal. Насчет работоспособности не скажу, не проверял.

https://www.virustotal.com/ru/documentation/public-api/
Документация по API. Если кто захочет разобраться и сделать скрипт )
« Последнее редактирование: 09 Июля 2014, 13:48:40 от M1ke »
define(TRUE, FALSE); //секс и наркотики

Оффлайн IgoryaN_

  • Новичок
  • *
  • Сообщений: 30
    • Просмотр профиля
спасибо, M1ke, буду разбираться :)

Оффлайн nk_

  • Активист
  • *
  • Сообщений: 325
  • slackware64-current
    • Просмотр профиля
Спасибо за тему, Itmages прекрасно добавилось

Что ж, поделюсь сколько не конфигом, а сколько способом, как задействовал dropbox в этом ФМ, что бы было такое:



Задействовал пакет от Crunchbang-11/Debian-7:
32 http://packages.crunchbang.org/waldorf/pool/main/thunar-dropbox-plugin_0.2.0-1_i386.deb
64 http://packages.crunchbang.org/waldorf/pool/main/thunar-dropbox-plugin_0.2.0-1_amd64.deb

просто ставим и перезапускаем Thunar, переходим в папку с dropbox и наблюдаем результат.
Проверенно на LinuxMint-17-Xfce4/Ubuntu-14.04, еще и на mint 16 версии проверял - все работало
Tried and Used: KU-8.04; U-8.04; U-9.04; U-12.04

Salomander

  • Автор темы
  • Гость
IgoryaN_, я попробовал, но у меня не пошел первый скрипт, заработал второй и тут как сказал M1ke надо делать прогу на питоне, а еще лучше не извращаться с онлайн сканерами, а поставить локальный антивирус. Но всеже я попробовал, даже расскажу что делал :)

Итак, нам нужен скрипт для использования API-функций. Я уже скачал сам файл и прикрепил к сообщению, можно взять его ниже, или качаем прямо с сайта, чтобы было понятно, что это вообще за архив и где он лежит, для этого открываем страницу со скриптами, нам нужен второй скрипт в секции Python VirusTotal public API...thanks to Gawen Arab, находим архив zip и скачиваем, тесты eicar нам сейчас не интересны, setup установит в питон новый модуль, нам это тоже не нужно, нужен только файл virustotal.py (последний раз к нему прикасались в 2012 и у скрипта есть 4 форка более новых, один из них этого года, но на оф.сайте указан этот репозиторий, поэтому сделаем вид, что доверяем ему), разархивируем этот файл в домашнюю директорию (ну т.е. /home/МойМегаПользователь), делаем его исполняемым:
chmod +x ~/virustotal.pyДальше важный момент!
На время тестирования это делать не обязательно, но
если собираетесь использовать скрипт, то необходимо получить свой API-ключ и вбить его в файл:
1. регистрируемся на сайте - Вступить в сообщество, дальше минианкета, отправить подтверждение е-майл, войти и открыть в профиле API-key:
 

На картинке я ключ выделил, полоска символов на оранжевом фоне в центре экрана;

2. далее открываем файл любым редактором, пусть мышинным:
mousepad ~/virustotal.pyнаходим в нем следующие строчки:

Цитировать
    # This is my API key. Please use it only for examples, not for any production stuff
    # You can get an API key signing-up on VirusTotal. It takes 2min.
    API_KEY = "e7327df7957f44e340bdbeaf9bc3f3dfdae4413baecfb9af33757d27d176af6a"

Нужно поменять API_KEY = "старый ключ стереть, вставить свой, кавычки оставить" и сохранить.

Теперь открываем Thunar - особые действия - добавить, комманда:
xfce4-terminal -H -x ~/virustotal.py scan %fэтим мы будем загружать файлы на VirusTotal, ждать пока проверится



Информацию выдает примерно в таком виде:


Работает очень медленно, поэтому, добавим еще одно действие, назовем его "Поиск на VirusTotal"
xfce4-terminal -H -x ~/virustotal.py get %fначнет шуршать гораздо быстрее, но он отправляет не файл на проверку а ищет хэш-сумму на сайте и тутже получает отклик, если точно такойже файл ктото уже проверял, сразу же выдает список антивирусных систем с тестами; если не находит такого файла - выдает какоето сообщение, видимо, что не нашел(ну я так думаю;) возможно ошибку.

Пробуйте, вполне может заработать. По крайней мере у меня завелась с первого раза.
API очень медленные, пакетную обработку с публичным API-ключом сделать не получится, после каждой проверки идет какаято задержка, как получить приватный vip API-ключ не знаю, не разбирался, поэтому проверять пока только по одному файлу и две функции - одна быстрая проверка, другая медленная, их можно легко объединить чуть изменив скрипт на питоне, опять же если кто возьмется, я наврядли.

nk_, спасибо, обязательно заценим.

Я пока на биткассе подзастрял, но мне она уже не нравится, надо искать чтото еще, возможно, переберусь на дропбокс. (Рефку скинул, если интересно, там 3-4 билетика еще есть, из плюсов - какойто непонятный, через клиента, но всеже вебдав; очень быстрая загрузка видео и музыки - она хранит их в общих ресурсах и грузит по хешу, ну и минусы не знаю пока, что с защитой и ценные файлы я бы на ней держать не стал.)

Witwicky

  • Автор темы
  • Гость
Re: Контекстное меню Thunar. Делимся своими конфигами
« Ответ #26 : 02 Сентября 2014, 16:43:34 »

Приветствую. Может быть кто-то знает, есть ли возможность сделать такой пункт для Яндекс.Диска? Хотя бы, копировать ссылку на файл.
Если сделать особое действие с командой yandex-disk publish %f то файл копируется(и расшаривается) в папку Я.Д, но ссылку в этом случае не скопируешь.
« Последнее редактирование: 02 Сентября 2014, 16:47:19 от Witwicky »

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Re: Контекстное меню Thunar. Делимся своими конфигами
« Ответ #27 : 02 Сентября 2014, 17:36:42 »
Witwicky, для вас уже все сделано и даже больше - смотрите по ссылке в подписи.
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

Witwicky

  • Автор темы
  • Гость
Re: Контекстное меню Thunar. Делимся своими конфигами
« Ответ #28 : 02 Сентября 2014, 19:17:41 »
Sly_tom_cat, разве там есть пункт в контекстном меню файлового менеджера?
Я тут свой велосипед сделал, в общем. Часть информации взято с Хабра.
Создаём файл YD_public
var=`yandex-disk publish $1 2>&1`
echo $var | xclip -selection clipboard
notify-send "Ссылка скопирована" "$var"

Затем в особых действиях Thunar
/путь до файла/YD_public %F

Ах, да, в линуксе новичок.
« Последнее редактирование: 02 Сентября 2014, 22:17:10 от Witwicky »

Оффлайн Sly_tom_cat

  • Don't worry, be happy!
  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 12130
  • Xubuntu 22.04
    • Просмотр профиля
    • Github
Re: Контекстное меню Thunar. Делимся своими конфигами
« Ответ #29 : 02 Сентября 2014, 22:47:04 »
Witwicky, там - есть расширения для шары файлов в тунаре. Ставятся автоматом при запуске (первом) индикатора.

Но если не нужен индикатор - могу дать вам код для этих расширений отдельно.


Действие:
Публикация через Yandex.Disk
Команда:
yandex-disk publish %f | xclip -filter -selection clipboard; zenity --info --window-icon=/opt/yd-tools/icons/yd-128_g.png --title="Yandex.Disk" --ok-label="Закрыть" --text="Ссылка на файл: %f скопирована в буфер обмена."

Действие:
Убрать из публикации через Yandex.disk
Комнада:zenity --info --window-icon=/opt/yd-tools/icons/yd-128_g.png --ok-label="Закрыть" --title="Yandex.Disk" --text="Убрать из публикации через Yandex.disk: `yandex-disk unpublish %f`"
Только иконки свои впишите (--window-icon=...) а то в приведенном коде используются иконки от индикатора. А можете просто убрать эту опцию.
« Последнее редактирование: 02 Сентября 2014, 22:52:31 от Sly_tom_cat »
Индикатор для Yandex-Disk: https://forum.ubuntu.ru/index.php?topic=241992
UEFI-Boot - грузимся без загрузчика: https://help.ubuntu.ru/wiki/uefiboot

 

Страница сгенерирована за 0.038 секунд. Запросов: 22.