Sky Watch

在 Emacs 里以 root 权限运行程序

囧阿,一直用 Emacs 的 dictionary.el 作字典,但是启动 dictd 的时候都要跑到终端里去,因为要 sudo。今天下决心解决这个问题。到 emacswiki 里看了一圈,到 IRC 里问了一圈,把 Tramp, shell-modeintcmd-mod 的 sudo 问题都解决了,但还是搞不定 shell-command 的 sudo。看来这个函数运行的时候完全没有办法接受用户的输入作为 stdin。最后翻到 Tramp 的手册,发现以 root 权限运行 shell-command 需要先 C-x C-f /sudo::,把当前目录变为 /sudo::/root,然后再 M-! 运行 shell-command... 太囧了...