You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置sudo在终端通过curses界面实现密码输入(替代GUI弹窗)

如何配置sudo在终端通过curses界面实现密码输入(替代GUI弹窗)

嘿,这个需求我之前刚好折腾过!想要让sudo用终端里那种类似pinentry的curses风格密码输入框代替烦人的GUI弹窗,其实几步就能搞定,我给你捋清楚:

  • 首先先装个合适的curses密码工具,最常用的就是pinentry-curses,大部分发行版都能直接装:

    • Debian/Ubuntu系:sudo apt install pinentry-curses
    • RHEL/CentOS/Fedora系:sudo dnf install pinentry-curses
  • 临时测试(不想改永久配置的话):
    先在终端里设置环境变量,指定sudo要用的密码弹窗程序:
    export SUDO_ASKPASS=/usr/bin/pinentry-curses
    之后用sudo的时候加上-A参数,比如sudo -A systemctl restart nginx,这时候终端里就会弹出curses风格的密码输入框了,完全在终端里操作,不会跳GUI。

  • 永久配置(一劳永逸):
    用visudo命令编辑sudoers配置文件(一定要用visudo,直接编辑容易搞坏配置导致sudo用不了),在文件里加这么一行:
    Defaults askpass=/usr/bin/pinentry-curses
    保存退出后,以后不管你用不用-A参数,sudo都会自动调用pinentry-curses在终端里显示密码框,再也不会弹GUI窗口了。

  • 额外小技巧:
    要是偶尔还是弹出GUI版的pinentry,那可能是pinentry默认用了GUI版本。你可以直接运行pinentry,在弹出的界面里选「Set Default」,然后指定curses作为默认程序,这样所有调用pinentry的工具都会用终端版了。

备注:内容来源于stack exchange,提问作者xorgzz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.20 10:34:39