Страница 5 из 10

Контекстное меню ФМ nemo

Добавлено: 31 июл 2018, 08:40
root
Т.к. gksu вырезали из 19 версии mint-а, КМ для запуска текстового редактора от root перестало работать. Все что нужно сделать (я перешел на xed, поэтому буду говорить за него):
1) Создать текстовый файл /usr/share/polkit-1/actions/org.gnome.xed.policy (подробнее - Запуск привилегированных приложений с pkexec (PolicyKit))
2) Привести файл /usr/share/nemo/actions/open_xed_root.nemo_action к виду:

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

[Nemo Action]
Name=Open the file xed as a root
Name[ru]=Открыть файл в xed как root
Comment=Open "%f" using xed as a root
Comment[ru]=Открыть "%f" в xed как root
Exec=<open_xed_root.sh %F>
Selection=s
Mimetypes= text/plain;
Icon-Name=accessories-text-editor
Quote=single
Dependencies=xed;
3) Создать файл /usr/share/nemo/actions/open_xed_root.sh, привести к виду:

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

#!/bin/bash
pkexec xed "$1"
и сделать исполняемым.

Контекстное меню ФМ nemo

Добавлено: 31 июл 2018, 13:31
root
UP!
Добавлено КМ "Монтирование торрент файлов"

Контекстное меню ФМ nemo

Добавлено: 07 авг 2018, 13:56
demonlibra
root писал(а):
31 июл 2018, 08:40
1) Создать текстовый файл /usr/share/polkit-1/actions/org.gnome.xed.policy (подробнее - Запуск привилегированных приложений с pkexec (PolicyKit))
Можно слегка упростить
В скрипте написать так

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

pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xed $@
https://losst.ru/oshibka-cannot-open-display-linux

PS gnome-terminal стал поинтереснее

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

sudo apt purge xfce4-terminal

Контекстное меню ФМ nemo

Добавлено: 07 авг 2018, 22:28
root
demonlibra, вроде соображаешь, вроде кучу всего написал (хотя, имхо, некоторые сценарии из твоего архива "избыточны", но это скорее +, чем минус), поэтому я до сих пор удивлен, почему ты в свое время не создал эту тему про контекстное меню nemo) Спасибо за дополнение, это определенно удобнее, да что там удобнее, можно просто алис создать типо gksu на pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY и пользоваться :thumbs:

Контекстное меню ФМ nemo

Добавлено: 07 авг 2018, 22:54
demonlibra
Я перешел на Mint с Xubuntu меньше года назад после замены ноута. Так что опередить Вас не мог.
Вопрос с pkexec и у меня возник после перехода на Mint 19. Нашел решение проще и не смог удержать в себе.

Всё что писал мне было или до сих приносит пользу. Вот еще один избыточный скрипт:

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

[Nemo Action]
Active=true
Name=Объединить изображения
Comment=Объединить изображения
Exec=<image_montage.sh %F>
Selection=notnone
Extensions=bmp;gif;ico;jpe;jpg;jpeg;png;ppm;tif;tiff;
Quote=double
image_montage.sh

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

#!/bin/bash

fullpathname="$1"
name=${fullpathname##*/}
path=${fullpathname%/*}

namenoext=${name%.*}
ext=${name##*.}

AAA=`yad --borders=10 --title="Объединить изображений" --text="Введите параметры" --form --item-separator="|" --separator="," --field=":LBL" --field="Направление:CB" --field="Отступ" --field="Имя файла" "" "^вертикально|горизонтально" "0" " $namenoext"_montage."$ext"`

direction=$(echo $AAA | awk -F ',' '{print $2}')
space=$(echo $AAA | awk -F ',' '{print $3}')
newname=$(echo $AAA | awk -F ',' '{print $4}')

if [ $? = 0 ]
	then
		for file in "$@"
			do counterfiles=$(($counterfiles+1))
		done
		if [ $direction = "вертикально" ]
			then montage "$@" -geometry +0+$space -tile 1x$counterfiles "$path/$newname"
		fi
		
		if [ $direction = "горизонтально" ]
			then montage "$@" -geometry +$space+0 -tile "$counterfiles"x1 "$path/$newname"
		fi
fi


PS Acer Ex 2540 (Пост demonlibra #58767)

Контекстное меню ФМ nemo

Добавлено: 18 авг 2018, 13:30
root
UP!
Добавлено КМ "Пакетное переименование файлов"

Контекстное меню ФМ nemo

Добавлено: 18 авг 2018, 16:40
root
UP!
Добавлено КМ "Объединение 2 и более изображений в одно"

Контекстное меню ФМ nemo

Добавлено: 20 авг 2018, 09:44
putnik113
Подскажите как адаптировать функцию открытия из КМ с правами root под LM 19.
Создал файл open_xed_root.nemo_action
[Nemo Action]
Name=Open the file xed as a root
Name[ru]=Открыть файл в xed как root
Comment=Open "%f" using xed as a root
Comment[ru]=Открыть "%f" в xed как root
Exec= pkexec xed %f
Selection=notnone
Mimetypes=text/plain;
Icon-Name=accessories-text-editor
EscapeSpaces=true
Dependencies=xed;
Заменил на редактор xed.
В место gedit прописал pkexec.
При вводе в консоли pkexec xed запускается редактор с правами root, а через контекстное меню реакции ноль.

Контекстное меню ФМ nemo

Добавлено: 20 авг 2018, 10:26
di_mok
putnik113, чуть выше был рецепт Контекстное меню ФМ nemo (Пост root #57935)

Контекстное меню ФМ nemo

Добавлено: 21 авг 2018, 08:10
root
UP!
Добавлено КМ "Добавляем возможность сканирования на вирусы - Clamav - новая реализация КМ"

Старая реализация улетела в спойлер "архив"

Проходим мимо.
Оставляю ссылку для себя как возможную идею для написания КМ forums.linuxmint.com/viewtopic.php?f=42&t=66883. Возможную, потому что я пока не знаю, актуально ли написанное 23 февраля 2011 по сей день...

Контекстное меню ФМ nemo

Добавлено: 21 авг 2018, 09:26
di_mok
Не пойму где согрешил :cray2:

Захотелось сделать пункт для запуска конфигов Open VPN

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

[Nemo Action]
#Active=false

Name=Start Open VPN
Name[ru]=Запустить Open VPN
Comment=
Comment[ru]=
Exec=gksu openvpn --config %F
Selection=s
Extensions=ovpn;
Icon-Name=
Dependencies=openvpn;
EscapeSpaces=true
Вроде накосячить то негде, но уменя даже gksu не выскакивает.

Контекстное меню ФМ nemo

Добавлено: 21 авг 2018, 09:31
rogoznik
Так его же нет в 19 минте

Контекстное меню ФМ nemo

Добавлено: 21 авг 2018, 09:36
di_mok
А я в 18.3 делаю :-D

Контекстное меню ФМ nemo

Добавлено: 21 авг 2018, 09:44
root
di_mok писал(а):
21 авг 2018, 09:26
gksu openvpn --config %F
а из терминала работает? Попробуй заменить %F на путь до конфига и запустить в терминале

Контекстное меню ФМ nemo

Добавлено: 21 авг 2018, 10:02
di_mok
root писал(а):
21 авг 2018, 09:44
а из терминала работает?
А я и не пробовал, только с sudo. Кавычек не хватало. Вот рабочий вариант:

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

[Nemo Action]
#Active=false

Name=Start Open VPN
Name[ru]=Запустить Open VPN
Comment=
Comment[ru]=
Exec=gksu 'openvpn --config %F'
Selection=s
Extensions=ovpn;
Icon-Name=
Dependencies=openvpn;
EscapeSpaces=true

Контекстное меню ФМ nemo

Добавлено: 21 авг 2018, 10:06
root
di_mok, не совсем то. Думаю, лучше сделать так:
Exec=gksu "openvpn --config %F"
EscapeSpaces=true
Quote=single

чтобы избежать проблем с файлами, содержащими пробелы в пути/названии.
Кроме того можно в зависимости добавить gksu... (а можно и не добавлять :-D )

P.S: хотя, возможно, я не прав. До конца до сих пор четко логику с этими кавычками и экранированием не понимаю... В км с терминальной сортировкой по ncdu, например, по аналогии с твоим вариантом работает... Что по идеи странно...

Контекстное меню ФМ nemo

Добавлено: 21 авг 2018, 10:13
di_mok
Понял, спасибо. А теперь вопрос - как его затушить. :-D Нет способа изменять пункт меню в зависимости от каких-то условий? Ну, если ovpn c этим конфигом запущен, то пункт не Start а Stop называется, с соответствующим содержимы, разумеется.

То что ovpn запущен с этим конфигом, видно
Снимок экрана от 2018-08-21 10-13-22.png

Контекстное меню ФМ nemo

Добавлено: 21 авг 2018, 10:19
root
di_mok, думаю, есть :-D костыльный) Играться с зависимостями и скриптами) Типо 1 скрипт переименует другой и наоборот) Соответственно по очереди появляются то одно КМ, то другое. Либо тогда уж писать полноценный скрипт, который будет анализировать, запущен ли ovpn с этим конфигом, если нет, то запускать, если да то по запросу выключать.

Контекстное меню ФМ nemo

Добавлено: 21 авг 2018, 10:24
rogoznik
Жаль нельзя на лету эту менюху изменять, а то можно было бы попробовать интересный скрипт запилить

Контекстное меню ФМ nemo

Добавлено: 21 авг 2018, 10:25
WWolf
di_mok, ну как вариант в темп кидать запуск/останов... echo 1 > /tmp/vpn_opened и считывать его при запуске... но костыль шо пипец :) как вариант без разбора рубить openvpn при запуске и если выполнилось, значит бросаем это дело, не выполнилось - запускаем :)