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 opencode.net

49
Score 86.2%
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 3 years 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)

C

kubicle

11 years ago

Probably a binpath issue in the script (since it can't find kate in your kde4 installation path). I thought I had that issue 'fixed' with the latest changes, but apparently not..I'll take a look at it when I have spare time and a hardy machine to test it on (which may take a while :P)

In the mean time, as a workaround, try running with the absolute path to kate:
"rootactions-servicemenu.pl open_with /usr/lib/kde4/bin/kate /boot/grub/menu.lst"...and if that works you can change the command accordingly in the 11-rootactionsfiles.desktop file as well.

Also, this issue is probably specific to hardy (with it's dual KDE installations), so if you're planning on upgrading to intrepid that will fix it.

Report

9

snowhog

11 years ago

Okay, a 'blank' Kate window opens as:

Untitled - /USR/LIB/KDE4/BIN/KATE OPENED AS ROOT

Console output shows:

paul@laptop:~$ rootactions-servicemenu.pl open_with /usr/lib/kde4/bin/kate /boot/grub/menu.lst

kate(9605): createDoc
kate(9605) KateSessionManager::KateSessionManager: LOCAL SESSION DIR: "/root/.kde4/share/apps/kate/sessions"
kate(9605) KateApp::initKate: Setting KATE_PID: ' 9605 '
kate(9605) KateViewDocumentProxyModel::updateBackgrounds: false
kate(9605) KateMainWindow::KateMainWindow: **************************************************************************** 0x8280bf0
kate(9605) KateViewDocumentProxyModel::updateBackgrounds: false
kate(9605) KateViewDocumentProxyModel::updateBackgrounds: false
kate(9605) KateDocManager::slotDocumentNameChanged: docname changed: "Untitled" -----> "Untitled"
kate(9605) KMimeTypeFactory::parseMagic: Now parsing "/usr/share/mime/magic"
kate(9605) KateDocManager::slotDocumentNameChanged: docname changed: "Untitled" -----> "menu.lst"
kate(9605) KateViewDocumentProxyModel::updateBackgrounds: false
kate(9605) KateApp::startupKate: KateApplication::init finished successful
QDBusConnection received a message of type 3 that it shouldn't have
error: "org.freedesktop.DBus.Error.ServiceUnknown" "The name org.kde.kded was not provided by any .service files"
kate(9605) KToolInvocation::klauncher: klauncher not running... launching kdeinit
kdeinit4: preparing to launch /usr/lib/kde4/lib/kde4/libexec/klauncher
kdeinit4: Launched KLauncher, pid = 9614 result = 0
kdeinit4: opened connection to :0.0
kdeinit4: preparing to launch /usr/lib/kde4/bin/kded4
kdeinit4: Launched KDED, pid = 9616 result = 0
kdeinit4: Got EXT_EXEC '/usr/lib/kde4/bin/kbuildsycoca4' from launcher.
kdeinit4: preparing to launch /usr/lib/kde4/bin/kbuildsycoca4
kbuildsycoca4 running...
kbuildsycoca4(9620) kdemain: Reusing existing ksycoca
kbuildsycoca4(9620) KBuildMimeTypeFactory::createEntry: Missing <comment> field in "/usr/share/mime/application/x-vmware-team.xml"
kbuildsycoca4(9620) KBuildMimeTypeFactory::createEntry: Missing <comment> field in "/usr/share/mime/application/x-vmware-vmdisk.xml"
kbuildsycoca4(9620) KBuildMimeTypeFactory::createEntry: Missing <comment> fieldin "/usr/share/mime/application/x-mswinurl.xml"
kbuildsycoca4(9620) KBuildMimeTypeFactory::createEntry: Missing <comment> fieldin "/usr/share/mime/application/x-vmware-vm.xml"
kbuildsycoca4(9620) KBuildMimeTypeFactory::createEntry: Missing <comment> fieldin "/usr/share/mime/application/x-vmware-snapshot.xml"
kbuildsycoca4(9620) KBuildMimeTypeFactory::createEntry: Missing <comment> fieldin "/usr/share/mime/application/x-vmware-vmfoundry.xml"
kbuildsycoca4(9620) KBuildMimeTypeFactory::createEntry: Missing <comment> fieldin "/usr/share/mime/application/x-dbm.xml"
kbuildsycoca4(9620) KBuildMimeTypeFactory::createEntry: Missing <comment> fieldin "/usr/share/mime/text/x-ksysv-log.xml"
kbuildsycoca4(9620) KConfigGroup::readXdgListEntry: List entry Categories in "/usr/share/applications/kde/kontactdcop.desktop" is not compliant with XDG standard (missing trailing semicolon).
kdeinit4: PID 9620 terminated.
kdeinit4: Got EXEC_NEW 'kconf_update' from launcher.
kdeinit4: preparing to launch /usr/lib/kde4/lib/kde4/libexec/kconf_update
kdeinit4: PID 9623 terminated.
kdeinit4: PID 9616 terminated.
kdeinit4: Got EXEC_NEW 'kconf_update' from launcher.
kdeinit4: preparing to launch /usr/lib/kde4/lib/kde4/libexec/kconf_update
kdeinit4: PID 9624 terminated.

Ctrl+C terminates the process and the Kate window closes.

Report

C

kubicle

11 years ago

The 'blank' window issue is fixed in kdesudo versions 3.3.x.

Report

ricnar456

11 years ago

Could not find the program 'rootactions-servicemenu.pl'

how solve this i use dolphin in kde4.1?

ricnar

Report

C

kubicle

11 years ago

Did you copy the 'rootactions-servicemenu.pl' script to one of the executable directories in your $PATH (/usr/bin or /usr/local/bin are common valid choices)?

You can check your $PATH directories with the command:
echo $PATH

Report

ricnar456

11 years ago

thanks works now.

ricnar

Report

xiongchiamiov

11 years ago

I recently switched from konq to dolphin (KDE 3.5.9), and I found myself lacking this script. I installed the dolphin .desktop's and the perl script, and it works, just rather interestingly.

First, I used to use the right-click open space -> open root terminal here all the time, but I don't have any options unless I'm right-clicking on a file.
Second, there's one root actions menu for "open as text", and one for the rest.
Third, both of those are submenus under actions.

I'm not sure if this is just the way you coded the dolphin version, or if it's a bug, but I wish I had all the nifty options I had in konqueror from this.

Report

C

kubicle

11 years ago

Thanks for your feedback.

Unfortunately these issues seem to be with upstream dolphin.
1. The empty space seems 'dead' when it comes to service menus, the menus only show if clicked on file or folder, there's not much I can do about that.
2. Dolphin doesn't merge menus with the same name (like konqueror does), so it shows two menus instead of one (which two depends on whether you clicked a file or folder).

(This can probably be worked around by creating only two .desktop files, one for files and one for folders...and adding the menu items that are common to both types in each .desktop file...I'll look into it in the next release)

Report

xiongchiamiov

11 years ago

I figured it was probably something with how dolphin works; I just thought I'd bring it to your attention. Thanks for working on this; it's really very useful!

Report

mapi

12 years ago

Mandriva 2008.0 i686 rpm here:

http://mandriva.99k.org/

Report

jihemd

12 years ago

nice tools, thx.

I can complete the french translation if needed (where can I send the translated files?)


1° In mandriva 2008 pwp, KDEHOME does'nt exist, the kdeglobals can be found at :
/var/lib/mandriva/kde-profiles/common/share/config/kdeglobals

2°Unfortunately the french language var in this file is :
Language=fr_FR.UTF-8:fr
so get_kde_language return a wrong value

I have inserted a strait nasty workaround (I am not a Perl programmer but a Pascal one)
$LANG = "fr";
return 0

Report

C

kubicle

12 years ago

You can email me the translated files, my email addresses can be found in the README file in the download.

Thanks for the bug report, I'll look into the language detection routine to make it more robust.

Could you post (or email) what the console command:
'kreadconfig --group Locale --key Language'
returns in your Mandriva?

Report

jihemd

12 years ago

'kreadconfig --group Locale --key Language' returns :

fr_FR.UTF-8:fr

in my french version of Mandriva 2008 pwp

but :
egrep '^Language=' /var/lib/mandriva/kde-profiles/common/share/config/kdeglobals | cut -d ':' -f 1

returns :
Language=fr_FR.UTF-8

it should be : 'fr' ?!

as with :
`egrep '^Language=' /var/lib/mandriva/kde-profiles/common/share/config/kdeglobals | cut -d ':' -f 2`

Report

C

kubicle

12 years ago

Thanks

Should be fixed in 2.1.2, which I'll be uploading shortly.

Report

jihemd

12 years ago

It fixed ... thx
in mandriva 2008 fr version all seems to work nicely

Report

5x5

12 years ago

I love Linux so much. I'm relatively new to the whole Linux thing but things like this simple little 'fix' for Konqueror to make it more usable is part of why I'm here to stay. These actions are so handy and help so much with daily tasks! Thank you for sharing them!

Report

felmur

12 years ago

Good commodity. Thank you.

I've add this to my personal package builder:

sed -i "s/open_with konqueror %U/open_with konqueror %U --caption \"ROOT FILEMANAGER\"/" Root_Actions_2.0.1/10-rootactionsfolders.desktop

sed -i "s/open_with kate %U/open_with kate %U --caption \"EDITING AS ROOT\"/" Root_Actions_2.0.1/11-rootactionsfiles.desktop

These changes remember me that I've opened an application as root.

Report

C

kubicle

12 years ago

Thanks for the suggestion :)

Personally I use a different color scheme for 'root' apps as a reminder, but I realize that not everyone does, so I'll look into adding a 'root reminder' into the next non-translation release.

I'll probably implement it in the perl-script for the strings to be translatable and effecting all apps started with the menu (not just konqueror and kate)

Something like "Kate in Root Mode", "Konqueror as Root" or "KWrite Opened as Root", I'll give it some thought.

Report

Jabadabadoo

12 years ago

Tx. I've been looking for this kind of tool. Now I don't have to use the console as much:-) Looking forward to more splendid apps you can think of;-)

Report

LocoMojo

12 years ago

Works in Slackware 12.0 and Dolphin.

Is it possible to add a "Move to trash/Delete" function?

Of course, one could open Dolphin as root then delete files to one's heart's content, but that would be rather dangerous. Would be cool to open Dolphin as a regular user then if need be, delete files owned by root via Root Actions.

LocoMojo

Report

LocoMojo

12 years ago

Oops, I was wrong.

It doesn't work as well in Dolphin as it does in Konqueror. Only "open as text" works in Dolphin.

Sorry about that.

LocoMojo

Report

C

kubicle

12 years ago

Yes there seem to be several issues in dolphin (d3lphin).
1. ServiceTypes=all/all doesn't seem to work at all on dolphin, changing it to ServiceTypes=all/allfiles,inode/directory in rootactionsall.desktop should bring back the majority of the actions.
2. Dolphin doesn't support _SEPARATOR_s, removing them makes it a bit cleaner.
3. Dolphin doesn't merge the menus, showing two menus instead...the only solution I can think of for this is to merge the menus in a single .desktop file

So it isn't impossible to get it to work with dolphin, but it needs a bit of work...Maybe I should make dolphin version into the package as well.

Report

darky0505

12 years ago

well i'm an addict to the command line so it's useless to me but great work :) keep on

Report

C

kubicle

12 years ago

Hmm...I'm having problems uploading the latest version. :P

The download is temporarily unavailable.

Report

C

kubicle

12 years ago

Err...sunday mind at work...download available again ;)

Report

2.9.1 Translation and bugfix release 3 years 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)

12345678910
1491
product-maker Nano-Ocelot Jul 23 2019 10 the best
10 the best
product-maker alex1701c Apr 13 2019 9 excellent
+
product-maker m0ji Feb 02 2019 9 excellent
+
product-maker alekksander Dec 28 2018 9 excellent
thanks!
product-maker emplate430 May 19 2018 9 excellent
TY!
product-maker zav444 Nov 02 2017 9 excellent
product-maker floorek Aug 06 2017 9 excellent
product-maker ubo Jun 20 2017 9 excellent
product-maker mockroot Apr 25 2017 9 excellent
product-maker alex-l Mar 17 2017 3 bad
product-maker mirkogennari Jan 25 2017 9 excellent
product-maker Henri Oct 17 2015 9 excellent
product-maker paulus3005 Sep 21 2015 9 excellent
product-maker tomXx Aug 20 2015 9 excellent
product-maker fadnix Aug 19 2015 9 excellent
product-maker gericom Feb 27 2015 9 excellent
product-maker Ironclad Feb 25 2015 9 excellent
product-maker Landis Feb 11 2015 9 excellent
product-maker tanzer Dec 29 2014 9 excellent
product-maker eliaskousk Dec 10 2014 9 excellent
product-maker n-k Aug 25 2014 9 excellent
product-maker roentgen May 18 2014 9 excellent
product-maker evgom May 15 2014 9 excellent
product-maker Meteorrock Apr 29 2014 9 excellent
product-maker Pafrape Apr 07 2014 9 excellent
product-maker bibins Jan 06 2014 9 excellent
product-maker alpvonkri Mar 10 2013 9 excellent
product-maker vatsok Dec 30 2012 9 excellent
product-maker Sweyn78 Sep 10 2012 9 excellent
product-maker RAIDENSUB Aug 15 2012 9 excellent
product-maker lionhater May 18 2012 9 excellent
product-maker JustFoxy May 07 2012 9 excellent
product-maker MountainX Mar 11 2012 9 excellent
product-maker roctheme Jan 27 2012 9 excellent
product-maker aspotashev Nov 19 2011 9 excellent
product-maker glewik Nov 18 2011 9 excellent
product-maker gjk Oct 07 2011 9 excellent
product-maker karton Jul 21 2011 9 excellent
product-maker v01t May 29 2011 9 excellent
product-maker mywereld May 03 2011 9 excellent
product-maker Brutus180 Apr 28 2011 9 excellent
product-maker momonster Apr 12 2011 9 excellent
product-maker rangerGR Mar 26 2011 9 excellent
product-maker steveke Feb 10 2011 9 excellent
product-maker jorssoftware Feb 09 2011 9 excellent
product-maker srog Jan 29 2011 9 excellent
product-maker ubuntuku Jan 04 2011 9 excellent
product-maker cjann Dec 29 2010 9 excellent
product-maker bugmenot1234 Dec 02 2010 9 excellent
product-maker snowhog Oct 31 2010 9 excellent
product-maker dequire Sep 23 2010 9 excellent
product-maker Base: 4 x 5.0 Ratings
alex1701c
Apr 13 2019
m0ji
Feb 02 2019
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
diamonds-notebook
May 16 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 Downloads Date Filesize DL OCS-Install MD5SUM
*Needs pling-store or ocs-url to install things
Pling
0 Affiliates
Details
license
version
2.9.1
updated Aug 06 2017
added Nov 08 2006
downloads 24h
46
mediaviews 24h 0
pageviews 24h 33
System Tags addon