我正在研究当gksu gedit
我sudo 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
,它会自动将 更改为sudo
,gksu
否则它将保留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