apt-get install gksu

gksu是linux下图形化的su/sudo工具

sudo 用来执行命令行(CLI)程序
gksu 用来执行图形的(GUI)程序

GUI = Graphical User Interface
CLI = Command Line Interface

sudo 是当前用户的home目录,gksu 是root 用户的home目录

sudo gvim 和 gksu gvim 明显不同,
sudo gvim 读取当前用户下的 ~/.gvim 配置文件,
gksu 读取 root 用户的配置文件,因为当前用户配置文件里设置字体没起作用,:cd 后 :pwd 结果是 /root

所以在系统或程序启动时,没有运行终端CLI,可以用gksu来实行root权限。

用法:gksu [-u <用户>] [选项] <命令>

--debug,-d
   在屏幕上打印调试信息,这些信息可能对诊断或解决问题有用。

--user <用户>,-u <用户>
    以指定用户身份运行 <命令>。

--disable-grab,-g
    禁止在程序询问密码时锁定键盘、鼠标和焦点。

--prompt,-P
    在独占键盘和鼠标前询问用户是否需要这样做。

--preserve-env,-k
    保留当前环境,例如不重设 $HOME 和 $PATH。

--login,-l
    以此作为登录 Shell。当心这可能会导致与 Xauthority magic 的问题。运行 xhost 以允许目标用户在您的显示上打开窗口!

--description <描述 | 文件>,-D <描述 | 文件>
    为待运行的命令提供一个用在默认信息中的描述性名称以使它更漂亮。您也可以提供一个 .desktop 文件的绝对路径,其 Name 键值将被用作此用途。

--message <信息>,-m <信息>
    替换标准的询问密码的信息为本参数提供的信息。请只在 --description 不符合需要时使用。

--print-pass,-p
    让 gksu 打印密码到标准输出,和 ssh-askpass 一样。在包含能从标准输入接收密码的程序的脚本中很有用。

--sudo-mode,-S
    让 GKSu 使用 sudo 而不是 su,与运行“gksudo”效果一致。

--su-mode,-w
    让 GKSu 使用 su,而不是 libgksu 默认的方法。

在编程中比较有用的几个参数

-D:描述是哪个应用程序调用的gksu,不告诉用户任何其他的信息。

-m:当需要把后台程序的行为告知用户时使用这个参数。

-p:读取gksu的输入,打印到标准输出,当程序需要密码时,用这个参数;不过此时的gksu是不去验证密码的正确性的,所以怎么样保证这个密码是正确的,就需要我们程序员动脑经了。

-w:让gksu使用su,能让用户选择是否为当前程序记住密码

E.g.

一,先打开nautilus文件管理器,从/usr/share/applications/文件夹中将gedit的启动器文件复制到桌面中来。

二,右键点击桌面上的gedit的启动器文件,在菜单中选择属性,在原来的命令前增加gksu,即如下图中的gksu gedit %U,修改后点击右下角的关闭。

图片上传到红联Linux系统教程频道中。

三,回到桌面上,点击gedit的桌面快捷方式,这个时候会调出一个对话框,输入开机密码就能打开具有root权限的gedit文本编辑器了。

linux gksu用法的更多相关文章

  1. linux curl用法详解

    linux ‍‍curl用法详解 ‍‍curl的应用方式,一是可以直接通过命令行工具,另一种是利用libcurl库做上层的开发.本篇主要总结一下命令行工具的http相关的应用, 尤其是http下载方面 ...

  2. [转载]expect spawn、linux expect 用法小记

    原文地址:expect spawn.linux expect 用法小记作者:悟世 使用expect实现自动登录的脚本,网上有很多,可是都没有一个明白的说明,初学者一般都是照抄.收藏.可是为什么要这么写 ...

  3. [转帖]linux lsof 用法简介

    linux lsof 用法简介 https://www.cnblogs.com/saneri/p/5333333.html 1.简介: lsof(list open files)是一个列出当前系统打开 ...

  4. Linux find 用法示例

    Linux中find常见用法示例 ·find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \; find命令的参数 ...

  5. linux exec用法总结

    Linux中exec的用法总结 先总结一个表: exec命令 作用 exec ls 在shell中执行ls,ls结果显示结束后不返回原来的的目录中,而是/(根目录) exec <file 将fi ...

  6. Linux man 用法小结(Linux指令学习笔记)

    今天买了一本<<Linux命令行与shell脚本编程大全>>,想利用暑假放假的时间系统的学习一下 Linux的shell脚本.今天看了一下书,才发现我之前学习,把Linux s ...

  7. linux定时器用法

    linux定时器  原文出自http://www.cnblogs.com/processakai/archive/2012/04/11/2442294.html 今天看书看到了关于alarm的一些用法 ...

  8. Linux find用法

    Linux中find常见用法示例 ----摘抄哪里忘记了 ·find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} ...

  9. Linux iptables用法与NAT

    1.相关概念 2.iptables相关用法 3.NAT(DNAT与SNAT) 相关概念 防火墙除了软件及硬件的分类,也可对数据封包的取得方式来分类,可分为代理服务器(Proxy)及封包过滤机制(IP ...

随机推荐

  1. Basic 分类: POJ 2015-08-03 15:49 3人阅读 评论(0) 收藏

    Basic Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 905 Accepted: 228 Description The p ...

  2. 第十二届浙江省大学生程序设计大赛-Ace of Aces 分类: 比赛 2015-06-26 14:25 12人阅读 评论(0) 收藏

    Ace of Aces Time Limit: 2 Seconds Memory Limit: 65536 KB There is a mysterious organization called T ...

  3. C语言中的++和--

    这个问题是老生常谈的问题了,虽然诸多大牛都深恶痛绝的告诉所有人不要那样写,但这永远挡不住学校的老师和考试. 今天我们来辨析一下这个东西. 首先我们来名词辨析一下吧: ++i 这个叫   前自增 i++ ...

  4. iOS:堆(heap)和栈(stack)的理解

    Objective-C的对象在内存中是以堆的方式分配空间的,并且堆内存是由你释放的,即release 栈由编译器管理自动释放的,在方法中(函数体)定义的变量通常是在栈内,因此如果你的变量要跨函数的话就 ...

  5. TCP连接的状态详解以及故障排查

    我们通过了解 TCP各个状态 ,可以排除和定位网络或系统故障时大有帮助. 一.TCP状态 LISTENING :侦听来自远方的TCP端口的连接请求 . 首先服务端需要打开一个 socket 进行监听, ...

  6. CodeForces 384A Coder

    Coder Time Limit:1000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Submit Statu ...

  7. C#借助谷歌翻译实现翻译小工具(二)添加托盘图标

    接上一节完善小翻译工具 设置Form的ShowInTaskbar属性为False,取消任务栏显示 设置Form的MaximizeBox属性为False,取消最大化显示 窗口添加两个控件 分别是:Con ...

  8. FreeSWITCH 1.6关于视频通话的一些测试

    简单的测试了一下,暂时没把精力放到这一块. ① 视频编码透传的设置(使用代理模式). 修改internal.xml文件的以下参数: <param name="inbound-proxy ...

  9. 让PHP 5.3支持MSSQL连接

    最近在Windows Server 2008配置了PHP环境,想要连接SQL Server 2008,但是悲催的发现,从5.3开始,PHP自带的dll不再支持2000以后的MS SQL Server了 ...

  10. Django 分页2 (Pagination)

    分页是Web应用常用的手法,Django提供了一个分页器类Paginator(django.core.paginator.Paginator),可以很容易的实现分页的功能.该类有两个构造参数,一个是数 ...