linux+gtk编写程序过程,在编写Linux下的gtk程序的时候遇到的问题

本文探讨了在Linux中使用普通用户编写的GTK程序遇到的启动问题,通过介绍如何使用-su-正确传递环境变量,解决了控制台以root权限运行时的AuthenticationRejected警告。文章深入剖析了这一现象背后可能涉及的桌面设置,为开发者提供了解决类似问题的路径。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于过于太菜,在Linux下编写gtk的一个界面程序的时候,从控制台启动这个程序的时候发现:如果是用一个普通用户创建的程序,但是在控制台中切换到root权限下去运行带界面的程序时,总是发现下面的提示,不过也能运行起来,所以一直也就没有在意,反正能运行。

(xdown:3362): GnomeUI-WARNING **: While connecting to session manager:

Authentication Rejected, reason : None of the authentication protocols specified are supported and host-based authentication failed.

Loading simple Config module ...

Creating backend ...

Loading socket FrontEnd module ...

Starting SCIM as daemon ...

后来发现有个大侠,说使用su命令是说道的,原来在su到root的时候 需要加一个减号”-“,这样才能把root的环境变量也带过去,所以这样一su,你就发现你当前的目录是在root的home目录里,然后在运行gtk的程序时就不会有问题了。更深一层次的原因应该是桌面系统的设置问题了,需要进一步考察了。0b1331709591d260c1c78e86d0c51c18.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值