我正在编写一些库代码,它将以管理员/ root身份重新运行当前进程。问题是(对于linux至少)如果调用代码是命令行应用程序,最好的方法是调用sudo,而如果它是gui应用程序,gksudo是合适的。为了完整起见,也欢迎其他操作系统的解决方案(或指向解决方案的指针)。
此外,这对于GUI应用程序非常有用,我可以关闭printf语句。
答案 0 :(得分:0)
如果设置了环境变量gksu(do)
,我将运行DISPLAY
。如果应用程序有一个GUI,如果有一个X服务器正在运行,我们可以使用它,我们为什么不应该这样做,这并不重要?
不允许您确定是否应禁用标准输出。但是,stderr输出通常在.xsession-errors中捕获,即使没有连接终端,因此您可能不希望再次禁用该输出。