Пользовательские действия в контекстном меню pcmanfm

Модератор: adventurer

Аватара пользователя

Автор темы
adventurer
Супермодератор
Сообщения: 2856
Зарегистрирован: 15 июн 2011, 18:24

Пользовательские действия в контекстном меню pcmanfm

Сообщение adventurer » 01 апр 2014, 18:25

В состав Lubuntu 14.04 входит обновлённая версия файлового менеджера pcmanfm (pcmanfm 1.2.0), которая имеет несколько новых функций. Появилась возможность настроить контекстное меню pcmanfm с собственными действиями для выбранных файлов и папок.
Всё, что вам нужно - это описать действия в файле с расширением .desktop и поместить его в каталог ~/.local/share/file-manager/actions (по умолчанию в Lubuntu 14.04 этого каталога не существует, вы сами должны его создать).

Разберём эту "фичу" на следующем примере. В pcmanfm 1.2.0 из соображений безопасности удалён пункт меню [Инструменты/Открыть текущую папку с правами root]. Вы можете вернуть это действие, добавив его в контекстное меню pcmanfm (на мой взгляд замена не равнозначная :)). Итак, если вы ещё этого не сделали, то самое время создать каталог:

Код: Выделить всё

~/.local/share/file-manager/actions/

Далее, переходим в этот каталог и создаём файл:

Код: Выделить всё

open-folder-as-root.desktop

вставляем следующий текст:

Код: Выделить всё

[Desktop Entry]
Type=Action
Tooltip=Open Folder As Root
Name=Open Folder As Root
Name[ru]=Открыть папку с правами root
Profiles=profile-zero;
Icon=gtk-dialog-authentication

[X-Action-Profile profile-zero]
MimeTypes=inode/directory;
Exec=/usr/bin/gksu /usr/bin/pcmanfm %u
Name=Default profile
 

Сохраняем, меняем сеанс ("выйти" или "сменить пользователя") и проверяем, появился ли новый пункт в контекстном меню pcmanfm. Проверять на любой папке не из каталога /home.

И "на закуску" ещё одно пользовательское действие "Установить в качестве обоев". Создаём файл:

Код: Выделить всё

set-as-wallpaper.desktop

вставляем следующий текст:

Код: Выделить всё

[Desktop Entry]
Type=Action
ToolbarLabel[en_US]=Set As Wallpaper
ToolbarLabel[en]=Set As Wallpaper
ToolbarLabel[C]=Set As Wallpaper
Name[en_US]=Set As Wallpaper
Name[en]=Set As Wallpaper
Name[C]=Set As Wallpaper
Profiles=profile-zero;
Icon=gtk-orientation-landscape

[X-Action-Profile profile-zero]
MimeTypes=image/*;
Exec=pcmanfm -w %f
Name[en_US]=Default profile
Name[en]=Default profile
Name[C]=Default profile


сохраняем, проверяем.

Дополнительная информация здесь:
http://madebits.com/blog/index.php?m=03&y=14&entry=entry140317-141947

Аватара пользователя

nowiko
Сообщения: 620
Зарегистрирован: 19 фев 2013, 13:56

Re: Пользовательские действия в контекстном меню pcmanfm

Сообщение nowiko » 02 апр 2014, 13:48

adventurer. Спасибо за полезную подсказку, с правами root. :) :good:
Жаль что такую удобную функцию, из Pcmanfm убрали.

Аватара пользователя

Автор темы
adventurer
Супермодератор
Сообщения: 2856
Зарегистрирован: 15 июн 2011, 18:24

Re: Пользовательские действия в контекстном меню pcmanfm

Сообщение adventurer » 02 апр 2014, 18:11

Вообще-то это было написано в анонсе pcmanfm 1.2.0. Там была ссылка на wiki.lxde: http://wiki.lxde.org/en/PCManFM#Run_as_root
Но в приведённой ссылке команда написана с ошибкой, вернее, она не работает. А вот команда из MadeBits Blog (то, что я и запостил в how-to) работает!

Единственное, что мне не нравится, так это то, что раньше (в lubuntu 13.10) было открыть ТЕКУЩУЮ папку с правами root. А с командой из контекстного меню надо сначала перейти на уровень выше, чтобы выделить папку.

Много там интересного. Я так понял, что это аналог скриптов наутилуса. Их как-то можно использовать.
Можно создавать меню для разных профилей.

Хочу добавить пункт: "Открыть в leafpad с правами root". Но пока только думаю. :D

Аватара пользователя

masta88
Сообщения: 117
Зарегистрирован: 03 июн 2012, 13:29

Re: Пользовательские действия в контекстном меню pcmanfm

Сообщение masta88 » 22 апр 2014, 23:07

adventurer писал(а):Хочу добавить пункт: "Открыть в leafpad с правами root". Но пока только думаю. :D


дадада! Нужный пункт! прошу скрипт выложить! Спасибо!

Аватара пользователя

nowiko
Сообщения: 620
Зарегистрирован: 19 фев 2013, 13:56

Re: Пользовательские действия в контекстном меню pcmanfm

Сообщение nowiko » 24 апр 2014, 22:57

А вот, можно ещё засунуть в меню пункт "Открыть файловый менеджер с правами рута". Для этого нужно создать в /usr/share/applications, файл с любым названием, и расширением .desktop, со следующим содержимым:

Код: Выделить всё

[Desktop Entry]
Type=Application
Icon=system-file-manager
Name=Открыть PCmanFM с правами ROOT
Name[en]=PCManFM as root
GenericName=File Manager
GenericName[en]=Filemanager as root
Comment=Администрирование файловой системы.
Categories=FileManager;Utility;Core;GTK;
Exec=gksu pcmanfm %U
StartupNotify=true
Terminal=false
MimeType=inode/directory;

В строке Name, можно написать что угодно. Это то что будет отображаться в меню. И строку Comment можно редактировать по усмотрению. Файл сохранить, и он тут же появляется в Меню>Стандартные.
Изображение
При клике, будет запрос пароля, и после ввода откроется файловый менеджер от рута. Для рута так же можно его настроить, - закладки, поведение, отображение, ваши обычные настройки.
Лично я предпочитаю способ предложенный adventurer, то есть открывать под рутом конкретную папку, а не весь файловый менеджер, так как если вся система открыта под рутом, можно и не заметить где "накосячил". Ну может кому-то будет удобней так. Может кому нибудь, для чего нибудь пригодится.

P.S. О том что вы работаете под рутом, предупреждает лишь знак в левом верхнем углу. Короче, будьте внимательней. :D
Изображение

Аватара пользователя

Автор темы
adventurer
Супермодератор
Сообщения: 2856
Зарегистрирован: 15 июн 2011, 18:24

Re: Пользовательские действия в контекстном меню pcmanfm

Сообщение adventurer » 25 апр 2014, 06:09

Но подождите, nowiko, если вы открываете определённую папку, то вы и запускаете файловый менеджер. Разницы никакой.

Аватара пользователя

nowiko
Сообщения: 620
Зарегистрирован: 19 фев 2013, 13:56

Re: Пользовательские действия в контекстном меню pcmanfm

Сообщение nowiko » 25 апр 2014, 07:08

Да, точно. :D Я что-то подумал, что открыв определённую папку с правами рута, в другие не попадёшь. :D

Аватара пользователя

Woznyak
Сообщения: 19
Зарегистрирован: 29 апр 2014, 11:37

Re: Пользовательские действия в контекстном меню pcmanfm

Сообщение Woznyak » 29 апр 2014, 23:29

nowiko писал(а): Лично я предпочитаю способ предложенный adventurer, то есть открывать под рутом конкретную папку, а не весь файловый менеджер, так как если вся система открыта под рутом, можно и не заметить где "накосячил". Ну может кому-то будет удобней так. Может кому нибудь, для чего нибудь пригодится.
P.S. О том что вы работаете под рутом, предупреждает лишь знак в левом верхнем углу. Короче, будьте внимательней. :D


Для того чтобы не накосячить, нужно Pcmanfm покрасить в красный цвет.
Создаём в директории root папку .themes. Копируем туда текущую тему из /usr/share/themes. Под рутом открываем /root/.themes/Lubuntu-default/gtk-2.0/images/toolbar.png в любом редакторе и красим в любой яркий цвет.
Навеяно http://madebits.com/blog/comments.php?y=14&m=03&entry=entry140316-130440

ЗЫ Жалко, что у меня sudo (gksu) lxappearance после таких манипуляций намертво вешает машину, а то б я на одной панельке не остановился бы :D

Аватара пользователя

Woznyak
Сообщения: 19
Зарегистрирован: 29 апр 2014, 11:37

Re: Пользовательские действия в контекстном меню pcmanfm

Сообщение Woznyak » 29 апр 2014, 23:32

Огромное спасибо за данную ветку всем участникам.

Аватара пользователя

Автор темы
adventurer
Супермодератор
Сообщения: 2856
Зарегистрирован: 15 июн 2011, 18:24

Re: Пользовательские действия в контекстном меню pcmanfm

Сообщение adventurer » 17 июн 2014, 19:41

Не прошло и полгода, как я собрался добавить в контекстное меню pcmanfm действие "Открыть в Leafpad с правами Root". Однако обнаружил, что:
Всё уже украдено до нас!

Пользователь MadeBits (если это, конечно, его имя), ссылка на блог которого приведена выше, несколько модифицировал действие "Open-folder-as-root". А именно, добавил ещё один профиль с командой "Exec=/usr/bin/gksu /usr/bin/leafpad %f". Теперь в контекстном меню pcmanfm появляется пункт "Open As Root", причём если вы выделили папку, то эта папка откроется в pcmanfm с правами root, а если вы выделили текстовый файл, то этот файл откроется в leafpad с правами root.

Кратко повторю необходимые действия:
1. Создаём каталог (если вы не сделали это ранее):

Код: Выделить всё

~/.local/share/file-manager/actions/

2. Переходим в этот каталог и создаём файл:

Код: Выделить всё

open-as-root.desktop

3. Вставляем следующий текст:

Код: Выделить всё

[Desktop Entry]
Type=Action
Profiles=profile-zero;profile-1;profile-2;
Name[en_US]=Open As Root
Name[en]=Open As Root
Name[C]=Open As Root
Tooltip[en_US]=Open As Root
Tooltip[en]=Open As Root
Tooltip[C]=Open As Root
ToolbarLabel[en_US]=Open As Root
ToolbarLabel[en]=Open As Root
ToolbarLabel[C]=Open As Root

Icon[en_US]=stop
Icon[en]=stop
Icon[C]=stop

[X-Action-Profile profile-zero]
MimeTypes=inode/directory;
Exec=/usr/bin/gksu /usr/bin/pcmanfm %u
Name[en_US]=Open Folder As Root
Name[en]=Open Folder As Root
Name[C]=Open Folder As Root

[X-Action-Profile profile-1]
MimeTypes=all/allfiles;!text/plain;
Exec=/usr/bin/gksu /usr/bin/pcmanfm %d
Name[en_US]=Open Folder As Root
Name[en]=Open Folder As Root
Name[C]=Open Folder As Root

[X-Action-Profile profile-2]
MimeTypes=text/plain;
Exec=/usr/bin/gksu /usr/bin/leafpad %f
Name[en_US]=Edit File As Root
Name[en]=Edit File As Root
Name[C]=Edit File As Root

Сохраняем, перезапускаем pcmanfm ("выйти", "сменить пользователя" или вообще перезагрузиться) и проверяем, появился ли новый пункт в контекстном меню pcmanfm.

В оригинале статьи ещё несколько полезных действий, есть даже deb-пакет со сборником этих действий. Смотреть здесь:
http://madebits.com/blog/comments.php?y=14&m=03&entry=entry140317-141947
Ссылка устарела. Новые ссылки см. в посте пользователя flamer:
http://www.lubuntu.ru/forum/viewtopic.php?f=15&t=1985&start=10#p23109
Последний раз редактировалось adventurer 16 сен 2015, 07:59, всего редактировалось 1 раз.
Причина: была нерабочая ссылка


Вернуться в «How-To и FAQ»