如何在Windows上切换到Emacs管理员用户?

10

也许我应该在Superuser上问这个问题,但这里有很多其他与Emacs相关的问题,所以我想试试我的运气。

我在启用用户访问控制的Windows 7上使用GNU Emacs 23.2.1。

在Emacs中,我想对一些管理员文件(例如hosts文件)进行更改。但是,尝试保存文件时,我收到一个警告,指出我没有权限写入该文件。

是否有一种方法可以使Emacs升级到管理员用户来编辑这些文件?

1个回答

3
你可以承认失败并以提升的权限运行emacs会话。有很多方法可以做到这一点,这个页面列出了它们,包括自动以管理员身份运行程序。这可能不完全是你想要的。否则,你可以创建一个脚本,将文件名作为其第一个参数,并将该程序绑定到快捷方式或类似的东西,如admin-save。如果你给予该脚本管理员权限,然后使用缓冲区名称作为其第一个参数和目标作为其第二个参数调用文件,那么就应该可以了。该脚本可以是一个简单的BAT文件,例如(我不在Windows上,所以无法为自己测试):
:: Administrator-copy.bat copies a file with adminstrator privileges.
:: Remember to give it administrator privileges!
: START
COPY %1 %2
: END

但那是一个相当笨重的解决方案。

如何提升已经运行的应用程序,我不知道。


这篇好文章,点个赞!我从没想到可以用ctrl-shift-enter来进行sudo操作。 - Nathan
谢谢你的建议,Haakon。我承认失败了,将为管理更改运行单独的Emacs会话。 - Martin
1
一旦应用程序正在运行,您就无法提升它(如果它已经以提升的方式启动,则也无法取消提升)。这与应用程序的启动方式有关,并且在启动后无法更改。看起来可以实现此功能的应用程序实际上会启动另一个副本,然后关闭原始副本。 - Kate Gregory
谢谢Kate,很好知道。 你知道在Linux下是否也是这样吗? nVidia配置工具似乎确实能够提升到root权限。 - Haakon Løtveit

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接