kdesu解决需要root运行的GTK程序在KDE下无法加载主题的问题

2013-09-12 分类 [操作系统]

GParted是标准的Gnome程序,但是由于KDE Partition Manager久未更新且没有中文,所以在KDE下最好的分区工具还是GParted。分区类的工具都是要只有root账户运行的,而为了普通账户也能使用,系统提供了pkexec这个程序来在图形化界面下取得root执行权限运行程序。但是有个问题,pkexec毕竟不是专门为KDE设计的,所以对于KDE的设置有些无法读取,这就包括对于GTK程序设置的主题。

于是解决办法就很好找了,KDE提供了kdesu来提供pkexec的功能,而经过测试kdesu可以完美的解决GTK程序显示的问题,具体的做法是这样的:

找到程序对应的可执行文件,比如我的GParted就可以在/usr/share/applications/gparted.desktop里找到这样一句:

Exec=gparted-pkexec

然后我们定位gparted-pkexec,找到在/usr/bin里面,打开这个文件可以看到如下的内容:

#!/bin/sh
pkexec "/usr/sbin/gparted" "$@"

我们只需要把pkexec修改为kdesu,然后保存即可。再次启动GParted,就可以看到问题已经解决了。