Root Actions Servicemenu

Dolphin Service Menus

Source (link to git-repo or to original if based on someone elses unmodified work): Add the source-code for this project on git.opendesktop.org

47
Score 89%
Description:

Version: 2.9.1
***KNOWN ISSUES***
KDE Applications 17.04 release has disabled running kate (and dolphin) as root.

I'm looking into using sudoedit in the menu, but unfortunately it's a bit trickier than I would have thought mainly because it's not trivial to use a graphical password dialog with sudoedit within the menu script (without external helpers).

Hopefully I'll come up with a workable solution, but cannot give a definite time line.

And there's nothing I can do about dolphin (there's currently no work arounds for it like there is for kate).

***IMPORTANT***
- You need to have "ruby" installed for Automatic installation to work
- Make sure you get the latest version, the automatic download from dolphin seems to download a really old version (2.7.3) for some mysterious reason. Manual download from kde-apps/kde-look will guarantee you'll get the latest version.
****

***NOTES***
- From version 2.8 onwards, Root Actions only supports KDE4 or later...Files from version 2.7.3 are included in the package for KDE3 users.
- My mail address can be found in the README file in the package if you wish to contact me for translations or feedback (You can of course also post a comment here)
- I can't test the menu on KDE3 anymore, so I can't guarantee the menu works 100% on KDE3
- Full Kf5 support is work in progress, but the menu should work on kf5 as is.

*************

Root Actions servicemenu provides a convenient way to perform several actions 'as root', from the right-click context menu in KDE filemanagers.

It aims to be distribution agnostic, if you experience issues in your distribution, drop me an email describing the issue.

The menu needs a properly configured kdesu/kdesudo to work (kdesudo is preferred, for some added functionality, like remembering password for a period of time...timeout is configurable by sudo settings)

Any comments, criticism and improvement suggestions welcomed :)

Included in the download are .desktop file versions for KDE3 konqueror, KDE3 dolphin, KDE4 and KF5 (both konqueror and dolphin) and an importable user action xml file for krusader KDE4...see installation for details.

README:

I've dropped version 1.x from the package since 2.x is stable and can do a lot more than 1.x. If you're still interested in the 1.x version, drop me a mail and I'll send it to you.

Thanks to:
Stefan Majewsky - German translation (1.1.x and 2.x)
Pierre Buard - French translation (1.1.x)
Guillaume Millet &
Jean-Marc Detourmignies - French translation (2.x)
Alessio - Italian translation (1.1.x)
Massimo Pissarello - Italian translation (2.x)
João Pedro Gomes - Portuguese translation (2.x)
Viruscg - Brazilian Portuguese translation (1.1.x amd 2.x partial)
Eduardo Grau - Spanish translation (1.1.x and 2.x)
Kenny Verstraete - Dutch translation (1.1.x and 2.x)
Paul Körössy - Hungarian translation (2.x)
nikt_taki - Polish translation (2.x)
Andreas Nordal - Norwegian translation (2.x)
Jakub Matas - Czech translation (2.x)
Donatas Glodenis - Lithuanian translation (2.x)
Mladen Pejaković - Serbian translation (2.x)
Netrebin Alexey - Russian translation (2.x)
Cihat Imamoglu - Turkish translation (2.x)
Manuel Tortosa Moreno - Catalan translation (2.x)
Neo Tet - Greek translation (2.x)
Adrián Chaves Fernández - Galician translation (2.x)
Mihael Simonič - Slovene translation (2.x)
Niklas Åkerström - Swedish translation (2.x)
Maz_1 - Simplified Chinese (2.x)

----Requirements:-----------------------------------------------------
Essential: (these should already be installed on a standard KDE installation)
perl -the script is written in perl
kdesu | kdesudo -to gain administrative privileges
kdialog -to show dialogs
kreadconfig -to read kde configuration
dolphin | konqueror -filemanager
kwrite | kate -editor
ark -handles compression

Optional:
krename -for multiple file (batch) renaming
krusader -to use the included krusader actions
xdg-utils -for default application support (2.5.x-)

----Installation:-----------------------------------------------------

Some distributions have packages available in either their main repos or community repos. For easy installation and possible distro specific patches you can use them if available. Manual installation instructions below:

Version 2.3 ->
1. Uncompress the rootactions-servicemenu.pl script in Root_Actions_2.x to a directory in your $PATH. /usr/local/bin or /usr/bin are two valid options. Make the script executable (if it's not).

2a. (Konqueror for KDE3) Uncompress the three .desktop files in /konqueror-KDE3 to ~/.kde/share/apps/konqueror/servicemenus (This will enable the menu for individual users, if you wish to enable the menu for all users, copy the files to /usr/share/apps/konqueror/servicemenus instead).

2b. (Dolphin for KDE3) Uncompress the two .desktop files in /dolphin-KDE3 to ~/.kde/share/apps/d3lphin/servicemenus (This will enable the menu for individual users, if you wish to enable the menu for all users, copy the files to /usr/share/apps/d3lphin/servicemenus instead).

2c. (Dolphin and Konqueror for KDE4) Uncompress the two .desktop files in /dolphin-KDE4 to your kde4 servicemenu folder (possibly ~/.kde/share/kde4/services/ServiceMenus...although $KDEHOME [".kde"] can be something else in your distribution). If you wish to use konqueror instead of dolphin as your filemanager, edit 10-rootactionsfolders.desktop by changing 'dolphin' to 'konqueror'.

2d. (Dolphin and Konqueror for Kf5) Copy the two .desktop files in /dolphin-KDE4 to your kf5 servicemenu folder (likely ~/.local/share/kservices5/ServiceMenus). If you wish to use konqueror instead of dolphin as your filemanager, edit 10-rootactionsfolders.desktop by changing 'dolphin' to 'konqueror'.

2e. (Krusader for KDE4) Import krusader_rootactions.xml file in /krusader-KDE4 with krusader's action manager.

----Available Actions----------------------------------------------------------------

Version 2.x
- Open Terminal Here (folders) - open a root terminal session in chosen folder
- Open in File Manager (folders) - open chosen folder(s) in file manager
- Open as Text (files) - open chosen folder(s) in text editor
- Open With ... (both) - open chosen items in a program of your choice

- Copy (both) - copy a single file or folder (ADDED in 2.1)
- Move/Rename (both) - if multiple items selected and a batch renamer installed (default is krename) start renamer, otherwise use a simple move/rename dialog
- Compress (both) - Compress selected files/folders (ADDED in 2.7)
- Delete (both) - Completely removes chosen items (as this is potentially hazardous, there is an extra confirmation dialog), handy for removing back-up files etc.

- Ownership to Root (both) - change ownership of chosen items to root:root
- Ownership to Active User (both) - change ownership of chosen items to current user
- Ownership to ... (both) - change ownership of chosen items to UID:GID of your choice

- Change Permissions (both) - change permissions of chosen items
If only a single folder is selected, permissions/ownership can be set recursively. If changing permissions recursively, files are only set executable if they already are executable (Otherwise all files in a directory would be set executable if the parent folder is set executable, which is necessary for the folder to be accessible)


----Translating and customizing:-----------------------------------------------------

Read the README file in the package for instructions on translating and customizing the menu


----Disclaimer-------------------------------------------------------

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA.
Last changelog:

2.9.1 Translation and bugfix release 1 year ago

- Rename install script to avoid confusion (remove "KDE4" part)
- Bugfix for Chinese localization support (thanks to maz_1)
- Added simplified chinese translation (thanks to maz_1)

(Full changelog available within the package)

void97

2 months ago

In ubuntu 18.04 the package 'kdesudo' is deprecated, thus this service menu doesn't work anymore.

Report

C

kubicle

2 months ago

If kdesudo is unavailable, the menu will try to use kdesu instead (if it can be found in $PATH.

in (k)ubuntu 18.04, make sure that 'kde-cli-tools' is installed and then link kdesu executable into a $PATH directory, for example:
"sudo ln -s /usr/lib/x86_64-linux-gnu/libexec/kf5/kdesu /usr/local/bin/kdesu" and the menu should start to work again (apart from dolphin and kate/kwrite).

Report

BJIacTeJIuH

4 months ago

Yes I agree the new versions of text editors kwrite,kate, the developers have disabled the reason, the ability to run as root, not apolosova their actions with the developers of file managers Dolphin and Krusader . As a result, we (users) with the release of Fedora 25 have the inability to edit the file in Krusader even with root !!! : (: (However, the ability to run through desu still left it and need to use the menu although 100% not sure what will work but in the console everything works.

Report

Murz

5 months ago

Feature request: Add 'Create folder' and 'Create file' root actions to menu.

Report

C

kubicle

5 months ago

That seems doable, and if the policykit integration (see my response to your previous question) takes a lot longer, I could add these into the next feature release (if there will be one).

Report

Murz

5 months ago

Thanks for so useful servicemenu! Did you have any bug tracker for discuss bugs and feature requests not in one large thread? Maybe use for this Github or other service?

Report

C

kubicle

5 months ago

First of all, sorry for the delayed response. I've been off-grid for a few weeks.

I had plans to setup a git repo for the menu (to make it easier for people to contribute), but did not get around to it. And currently it looks like the kio policykit integration effort for the kde file managers will eventually (once it is finished) make this service menu redundant (unnecessary) so there is not much point to spend too much effort on to this menu...I'll keep maintaining it for the foreseeable future of course.

Report

varaskkar

6 months ago

Hi, i like this service menu, great job. I’ve discovered a bug, let me give you some feedback. When I disable all the services of root options since context menu, and then right clic on folder space, still appear root options without list the dropdown because before they were disabled.

Report

C

kubicle

5 months ago

I can confirm the behavior in dolphin. However, that part is handled by the file manager (and not by the service menu), so technically it is a bug in dolphin (which I cannot affect by the menu code). Seems like the bug doesn't affect krusader, for example, so it's likely specific to dolphin code.

Report

emplate430

6 months ago

TY!

Report

roctheme

1 year ago

Edit as root:
EDITOR='kate -b' SUDO_ASKPASS=/usr/bin/ssh-askpass sudoedit -A

I think SUDO_ASKPASS=/usr/bin/ssh-askpass can be used for your root actions too.

But the ksshaskpass package has unfortunately a bug in 17.10:
https://bugs.launchpad.net/ubuntu/+source/ksshaskpass/+bug/1728696

Report

C

kubicle

1 year ago

Thanks for the suggestion. Unfortunately, ssh-askpass won't work with the menu as it is.
The good news is that since KDE frameworks 5.34, you don't need to elevate your privileges anymore to edit files that you don't have write access to (you can just open the file normally in dolphin and you'll be asked for authorization when saving it), so the root action to open file as root is just redundant (and kept for legacy system support only...it'll likely be removed in the future).

Report

Xeers

1 year ago

Esto trabaja perfectamente. Al principio no me funcionaba pero instalé lo que faltaba y se instaló correctamente.
kdialog
kreadconfig
krename
krusader
xdg-utils
perl
ruby (imprescindible para root)

Thanks

Report

Bladeforce

1 year ago

The latest kde has this error

Executing Kate as root is not possible. To edit files as root use:
SUDO_EDITOR=kate sudoedit

Can this be incorporated into this script please?

Report

C

kubicle

1 year ago

KDE Applications 17.04 release has disabled running kate (and dolphin) as root.

I'm looking into using sudoedit in the menu, but unfortunately it's a bit trickier than I would have thought mainly because it's not trivial to use a graphical password dialog with sudoedit within the menu script (without external helpers).

Hopefully I'll come up with a workable solution, but cannot give a definite time line.

And there's nothing I can do about dolphin (there's currently no work arounds for it like there is for kate).

Report

Nano-Ocelot

3 months ago

how would one go about editing environment variables like that?

Report

Murz

1 year ago

Feature request: Action "Copy to other panel" for Krusader - very often I need to copy file as root in Krusader to other panel. Now I must manually type path to folder in other panel. Can you add auto-detecton of other panel path in your script? Thanks!

Report

C

kubicle

1 year ago

Thanks for the suggestion.

I'll take a look at it, but can't make any promises as I'm not that keen to add/modify actions for specific file managers...I could still do it if I find a simple enough way to implement the feature, so this is not a definite "no", either.

That said, you could create an additional "Root Action" in krusader yourself:
1. Create a new user action in krusader user actions manager (fill in the details as you see fit...or copy an existing action to use as a starting template)
2. For the 'Command', set:
cp -rt "%oPath%" %aList("Selected")%
3. In the second tab, set "run as different user" to "root"

Report

Murz

1 year ago

Thanks for the example. I do this via Krusader Actions! This is so easy!

Report

mirkogennari

1 year ago

thank update

Report

maz_1

1 year ago

Hello, I made two patches for i18n support, could you take a look at them?

https://gist.github.com/maz-1/ff67830942f6b577b711cd19a5af389b
this one adds simplified chinese support

https://gist.github.com/maz-1/96fc534b20f36454212fe0726139d4e2
this one fixes broken i18n support in chinese locales
For example, there is zh_CN.GBK, zh_CN.UTF-8, zh_TW.UTF-8 and some other locales, we need to strip character set infomation after the dot. And you know, only 'zh' will not tell whether it is simplified and traditional chinese.

Report

C

kubicle

1 year ago

Thank you.

I'll take a look and if there are no issues I'll merge the patches to the next version.

Report

assalane1

2 years ago

Thanks very much for this.

Just to let you know. I had to change your script to make it work.

In line 897 I changed:

$SUCOMMAND = "$KDEBINPATH"."kdesudo -d --noignorebutton --"}

to

$SUCOMMAND = "$KDEBINPATH"."kdesudo -d --noignorebutton -c"}

Report

assalane1

2 years ago

On second thought it might be because in my rig /usr/bin/kdesudo is linked to /usr/bin/kdesudo. I cannot remember if I was the one that made that link or if it was there before.
Using fedora 23

Report

david2012brooke

2 years ago

Here are the answers to your previous questions...

Using kdesu (/usr/bin/kdesu)
Doesn't work:
Open as text
Open File Manager Here
Open with ...
Compress

Works:
Open Terminal Here
move
rename
Ownership to root
Ownership to active user
Ownership to ...
Change Permissions
Delete


sudo ln -s /usr/lib64/libexec/kf5/kdesu /usr/bin/kdesu

Using kdesu5 symlink
Doesn't work:
Open as text
Open File Manager Here
Open with ...
Compress

Works:
Open Terminal Here
move
rename
Ownership to root
Ownership to active user
Ownership to ...
Change Permissions
Delete

No difference using kdesu or kdesu5.

Report

2.9.1 Translation and bugfix release 1 year ago

- Rename install script to avoid confusion (remove "KDE4" part)
- Bugfix for Chinese localization support (thanks to maz_1)
- Added simplified chinese translation (thanks to maz_1)

(Full changelog available within the package)

product-maker emplate430 May 19 2018

TY!

product-maker zav444 Nov 02 2017

product-maker floorek Aug 06 2017

product-maker ubo Jun 20 2017

product-maker mockroot Apr 25 2017

product-maker alex-l Mar 17 2017

product-maker mirkogennari Jan 25 2017

product-maker nicola012123 Feb 17 2016

product-maker Henri Oct 17 2015

product-maker paulus3005 Sep 21 2015

product-maker tomXx Aug 20 2015

product-maker fadnix Aug 19 2015

product-maker gericom Feb 27 2015

product-maker Ironclad Feb 25 2015

product-maker Landis Feb 11 2015

product-maker tanzer Dec 29 2014

product-maker eliaskousk Dec 10 2014

product-maker n-k Aug 25 2014

product-maker roentgen May 18 2014

product-maker evgom May 15 2014

product-maker Meteorrock Apr 29 2014

product-maker Pafrape Apr 07 2014

product-maker droper04127 Jan 14 2014

product-maker bibins Jan 06 2014

product-maker alpvonkri Mar 10 2013

product-maker vatsok Dec 30 2012

product-maker Sweyn78 Sep 10 2012

product-maker RAIDENSUB Aug 15 2012

product-maker lionhater May 18 2012

product-maker JustFoxy May 07 2012

product-maker MountainX Mar 11 2012

product-maker roctheme Jan 27 2012

product-maker aspotashev Nov 19 2011

product-maker glewik Nov 18 2011

product-maker gjk Oct 07 2011

product-maker karton Jul 21 2011

product-maker v01t May 29 2011

product-maker mywereld May 03 2011

product-maker Brutus180 Apr 28 2011

product-maker momonster Apr 12 2011

product-maker rangerGR Mar 26 2011

product-maker steveke Feb 10 2011

product-maker jorssoftware Feb 09 2011

product-maker srog Jan 29 2011

product-maker ubuntuku Jan 04 2011

product-maker cjann Dec 29 2010

product-maker bugmenot1234 Dec 02 2010

product-maker snowhog Oct 31 2010

product-maker dequire Sep 23 2010

product-maker 41 325

Nano-Ocelot

Sep 07 2018

GiuseppeBenigno

Apr 25 2018

SapperStew

Feb 09 2018

jasonwert

Feb 03 2016

fadnix

Aug 11 2015

mopened

Jun 07 2015

HATRED

Feb 27 2015

gericom

Feb 27 2015

Landis

Feb 11 2015

n-k

Aug 25 2014

ksolsim

Aug 22 2014

roentgen

May 18 2014

Meteorrock

Apr 29 2014

janet

Feb 09 2014

Chuck56

Feb 05 2014

alpvonkri

Mar 10 2013

sunbergzach

Jan 05 2013

atenrok

Dec 05 2012

krzywda

Apr 05 2012

MountainX

Mar 11 2012

evgom

Feb 19 2012

aspotashev

Nov 19 2011

devport

Oct 27 2011

obelix

Mar 26 2011

ubuntuku

Jan 04 2011

cjann

Dec 29 2010

hantsy

Nov 24 2010

AngelBlue01

Sep 14 2010

tetris4

Apr 22 2010

pvt14

Mar 24 2010

mxttie

Jan 12 2010

Flavianoep

Jan 09 2010

floorek

Jan 06 2010

mgranet

Jan 01 2010

michalm

Dec 28 2009

lestek

Nov 04 2009

Yggdrasill

Nov 01 2009

oshunluvr

Oct 19 2009

jihemd

Jul 13 2009

Murz

Jul 07 2009

markwege

May 28 2009

Montblanc

Apr 07 2009

JMB

Apr 01 2009

hurikhan77

Mar 11 2009

snowhog

Feb 07 2009

SeaJey

Jan 04 2009
File (click to download) Version Description Packagetype Architecture Downloads Date Filesize DL OCS-Install
Pling
Details
license
version
2.9.1
updated Aug 06 2017
added Nov 08 2006
downloads today
0
page views today 45
System Tags addon