首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在其他路径上执行pkexec命令

在其他路径上执行pkexec命令
EN

Stack Overflow用户
提问于 2018-06-10 19:07:23
回答 1查看 258关注 0票数 2

我正在编写一个图形化的应用程序,它会在某一时刻提示pkexec窗口,但是,使用pkexec会将执行路径更改为/root目录,我正在尝试执行前一个路径中的命令。例如

代码语言:javascript
复制
pwd # returns /home/myuser/Desktop
pkexec pwd # returns /root

我希望第二个pkexec在/home/myuser/Desktop中执行pwd。cd不能与pkexec一起工作,并且我看不到执行或转到其他路径的选项

EN

回答 1

Stack Overflow用户

发布于 2021-03-06 00:27:25

pkexec似乎并不是故意这样做的。我有一个非常具体的用例,我希望pkexec能够执行工作目录中的内容。我想出的答案是编写两个脚本:脚本A将目录切换到第一个参数,然后将其他参数作为命令执行,脚本B在脚本A上调用pkexec,将当前目录作为第一个参数,其余参数作为“真实”参数。

脚本A ("exec- in -dir“--必须安装在/usr/local/bin或通用目录中):

代码语言:javascript
复制
#!/bin/bash

cd $1
shift
eval $@

脚本B ("pkw"):

代码语言:javascript
复制
#!/bin/bash

pkexec exec-in-dir $PWD "$@"

有点像黑客,但它似乎起作用了。

请注意,这样做会颠覆创建pkexec时所做的一些设计决策,不管是好是坏。特别是在图形应用程序中使用此包装器时,我会格外小心,因为pkexec总是更改目录的部分原因是为了避免,例如,nautilus在您的用户目录中以root用户身份启动,并扰乱您的所有权限。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50783033

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档