IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    Emacs启动加速篇

    Timothy发表于 2022-09-13 11:21:13
    love 0

    Emacs虽然强大,但是其作为一个伪装成编辑器的”操作系统”,在启动耗时方面是广大Emacs用户的痛点。虽然现在用上Doom Emacs,比起Spacemacs启动要快了不少。在公司开发用的MBP上(内存16GB,i7 6核CPU, 500GB SSD),单次启动加载完所有插件大概需要4秒多的时间。

    恰巧最近又买了个德国的高配置VPS,访问速度还不错。于是心血来潮,在上面折腾了开发环境,还装了Doom Emacs,打算实现用任何一台低配置的瘦客户端SSH登录到云端VPS, (或者在Chrome中用SSH扩展连接过去) 达成用Emacs在 “云端” 写代码的一个小目标……

    其实,这样的目标已经实现了,美中不足的地方在于: 由于是SSH连接过去,每次退出SSH会话的时候还得退出Emacs,下次启动Emacs又得花掉人生中宝贵的四秒钟时间,实在是不甘心。正好,Emacs从26.1开始,已经支持使用systemd管理Emacs服务端Daemon的功能。这样一来,我们只需要在VPS上后台使用Systemd启动一个Emacs的服务端,每次SSH登录的时候,用Emacs客户端启动,就能实现秒开Emacs的效果了。

    在Emacs安装完成后,会在 /usr/lib/systemd/user 中创建一个Systemd的配置文件,名为: emacs.service。跟其他的Systemd服务一样,我们只需启动这个服务即可。

    启动并运行Emacs服务端程序:

    1
    systemctl --user start emacs.service

    为了下次随机器启动时,自动启动Emacs服务端程序,我们还可以运行:

    1
    systemctl --user enable emacs.service

    随后,查看Emacs服务运行情况:

    https://xiaozhou.net/pics/emacs/5.png

    服务端启动妥当,最后,只需要在SSH登录后,运行Emacs客户端程序,即可秒开Emacs了,又为人生中省下了不少个4秒钟:

    1
    emacsclient -t

    https://xiaozhou.net/pics/emacs/4.png



沪ICP备19023445号-2号
友情链接