作为守护进程,如何获取本地登录用户的用户名

时间:2015-03-13 10:07:31

标签: python linux bash xorg

我正在运行python脚本作为守护程序,并希望使用xprop查询窗口信息。如果我以登录的同一用户运行xprop并在本地启动X,这似乎是可能的。我已经尝试将守护进程作为我的用户运行,但是如果我可以运行用户当前登录的xprop,它会更强大并且适用于其他用户。

如何获取当前登录用户的姓名?

编辑:我不能只阅读$USERgetpass.getuser()因为脚本可能以root用户身份运行。我需要运行X的人的用户名。

我不确定这是否意味着是否正在寻找拥有以下显示:0的用户(是否总是:0?)。什么是最好的方式?

> who
myusername :0      2015-03-13 19:52
myusername pts/0   2015-03-13 19:53

也许有些事情如下:

ps -o user -p `pgrep -n '^(startkde|gnome-session)'` | tail -1

虽然这显然取决于窗口管理器。


答案here建议os.getlogin()似乎很有希望,但不起作用,因为它“返回登录在流程控制终端上的用户的名称”,因此失败了{{1}来自我的守护进程。

0 个答案:

没有答案