用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
,但仍保留我习惯的function?
正如评论中所提到的, gksu
在16.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
的简短forms。 log-file
脚本是一个单独的项目,我在脚本中注释了这个答案。
您需要先设置gedit
和nautilus
策略工具包,然后才能使用此脚本作为注释参考。 在您的情况下,您需要为leafpad
设置策略工具包。
希望这可以帮助!
我在桌面启动器或bash脚本中使用此替代方法来保持gksu的感觉:
bash -c 'sudo -i nautilus;'
…虽然这里没有pkexec – 请不要告诉我的管理员。
使用像pkexec thunar %f
(thunar是xfce文件管理器, %f
是当前路径) – 与Bionic XFCE一样,就像gksu一样。