我怎样才能以 gksu gedit 身份运行 sudo gedit

我怎样才能以 gksu gedit 身份运行 sudo gedit

我正在研究当gksu geditsudo gedit错误输入时自动加载 Gedit 的方法?

我发现使用 gedit 导致许多文件无法访问,而我刚刚才发现原因!

迄今取得的成就

我已经编写了一个脚本,它将生成一个,alias以便如果我输入sudo <application>它可以自动将其转换为,gksu <application>但我想让这个别名保留下来,这样我就不必每次启动计算机时都运行该脚本。

是否有我可以编辑的配置文件,或者我应该将该脚本作为启动脚本运行(这很不方便!)?

答案1

您可以制作一个智能函数,当其后面的命令位于一组预编程函数中时,它将自动转换sudo为,如下所示:在您的添加中:gksu.bashrc

sudo_to_gksu=( "gedit" "nautilus" )
sudo() {
    local sudo=$(which sudo)
    local f
    for f in "${sudo_to_gksu[@]}"; do
        if [[ $1 = $f ]]; then
            sudo=gksu
            break
        fi
    done
    "$sudo" "$@"
}

因此,当您键入sudo后跟gedit或 时nautilus,它会自动将 更改为sudogksu否则它将保留sudo。如果您愿意,可以在数组中添加更多程序sudo_to_gksu。如果您愿意,您还可以将其扩展为 而gksudo不是gksu

这可能会有一些副作用...如果是这种情况,请告诉我!

希望这可以帮助!

答案2

打开.bashrc文件
gedit ~/.bashrc

添加以下别名
alias sudo='gksu'

现在重新启动终端以开始使用别名。

alias gedit='gksu gedit'仅当您希望 gksu 仅适用于 时才添加gedit
echo 'alias gedit='gksu gedit' >> ~/.bashrc

相关内容