用 pkexec 替换 gksudo:编辑器不在当前文件夹中启动

用 pkexec 替换 gksudo:编辑器不在当前文件夹中启动

我想做个好孩子,不再使用gksudo,特别是因为它在 18.04 每日构建中被孤立了(注意,这个问题是不是具体到18.04)。

在过去使用 的糟糕日子里gksudo,我通常会导航到包含我想要编辑的文件的文件夹(我使用 pcmanfm),然后选择工具/在终端中打开当前文件夹从菜单中。然后我会gksudo leafpad [file-I-wish-to-edit]在新打开的终端中输入内容。

使用非常有用的答案中的信息如何配置 pkexec?我设置了 .bash_aliases,现在可以pkexec leafpad [file-I-wish-to-edit]在新打开的终端中输入内容,并且不会出现任何错误。遗憾的是,我得到的是一个空白文件,而不是我想要的。我确定这是因为 leafpad 正在查找/root而不是我希望的文件夹。

我怎样才能维护我的光环,继续使用,pkexec而又gksudo保留我习惯的功能?

答案1

正如评论中提到的那样,gksu16.04但你仍然可以使用以下命令安装它:

sudo apt install gksu

也就是说,我pkexec很久以前就制作了一个包装脚本,可能会引起人们的兴趣:

#!/bin/bash

# Usage: gsu gedit file1
#  -OR-  gsu natuilus /dirname

COMMAND="$1" # extract gedit or nautilus
ABSOLUTE_NAME=$(realpath "$2")

pkexec "$COMMAND" "$ABSOLUTE_NAME"

#log-file "$ABSOLUTE_NAME" ~/bin/log-gsu-"$COMMAND"

我将包装器命名gsu为 的简称gksu。该log-file脚本是一个单独的项目,我在此答案的脚本中将其注释掉。

您需要先设置geditnautilus策略工具包,然后才能将此脚本用作评论参考。就您而言,您需要为设置一个策略工具包leafpad

希望这可以帮助!

答案2

我在桌面启动器或 bash 脚本中使用这个替代方案来保持 gksu 的感觉:

bash -c 'sudo -i nautilus;'

... 虽然这里没有 pkexec - 请不要告诉我的管理员。

答案3

使用类似的pkexec thunar %f(thunar 是 xfce 文件管理器,%f用于当前路径 - 就像 gksu 一样与 Bionic XFCE 配合使用)。

相关内容