更换 GKSU

use*_*360 6 centos polkit gksu pkexec

在 CentOS 5 的旧时代,我有一个以另一个用户身份运行的应用程序。我创建了一个 .desktop 文件,它运行如下命令:

gksu -u anotheruser someapplication
Run Code Online (Sandbox Code Playgroud)

当用户单击该图标时,弹出窗口要求输入“另一个用户”的密码,当密码正确时,“某个应用程序”启动。

现在,在 CentOS 7 的现代,我找不到这种行为的替代品。我尝试过beesu:

beesu -l -P someapplication anotheruser
Run Code Online (Sandbox Code Playgroud)

但它要求我输入 root 密码而不是“另一个用户”密码。

我也尝试过 pkexec:

pkexec --user anotheruser someapplication
Run Code Online (Sandbox Code Playgroud)

结果相同。

这两种方法在寻找正确的显示变量时也存在问题:

Failed to parse arguments: Cannot open display:
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激。

谢谢。

小智 0

尝试在终端中使用 sudo 以及备用用户和 root 密码:

\n\n

sudo -u USER COMMAND

\n\n

如果显示正常,您可以设置 sudo (在 sudoers 文件中通过visudo)来使用目标用户的密码:

\n\n

目标密码 \n如果设置,\xc2\xa0sudo\xc2\xa0 将提示输入\xc2\xa0-u\xc2\xa0 选项指定的用户密码(默认为\xc2\xa0root),而不是调用用户的密码运行命令或编辑文件。

\n\n

从那里只需构建要在 xterm 中启动的命令。

\n\n

我才想起来,我用过gksudo第一次尝试 Ubuntu 时曾短暂使用过,这也许是你所想的?

\n