emacs - systemctl 调用 emacs 服务器
问题描述
在阅读Emacs Server - GNU Emacs Manual时,
它说明了调用 emacs 服务器的 3 种方法,
- 在运行框架内输入 Mx server-start
- emacs --守护进程
第三个
如果您的操作系统使用 systemd 来管理启动,您可以在使用提供的 systemd 单元文件登录时以守护程序模式自动启动 Emacs。要激活它:
systemctl --user enable emacs
(如果您的 Emacs 安装在非标准位置,您可能需要将 emacs.service 文件复制到标准目录,例如 ~/.config/systemd/user/。)
emacs 是标准目录
$ which emacs
/usr/bin/emacs
跑
$ systemctl --user enable emacs
Created symlink /home/me.config/systemd/user/default.target.wants/emacs.service → /usr/lib/systemd/user/emacs.service.
检查以上操作后没有服务器运行
ps -ef |grep emacs | sed "s/$USER/me/g"
me 32251 3018 0 19:21 pts/2 00:00:00 grep --color=auto emacs
运行ystemctl --user enable emacs
多次,但发现没有服务器在运行。
启动一个 emacs 实例
$ ps -ef |grep emacs | sed "s/$USER/me/g"
me 32336 3018 47 19:22 pts/2 00:00:03 emacs
me 32379 3018 0 19:22 pts/2 00:00:00 grep --color=auto emacs
仍然没有找到正在运行的服务器。
我使用 systemctl 有什么问题?
解决方案
systemctl enable
不启动任何东西,它只是为将来配置东西,如systemctl 手册页中所述:
启用单元不应与启动(激活)单元混淆,正如start命令所做的那样。启用和启动单元是正交的:单元可以在没有启动的情况下启用,也可以在没有启用的情况下启动。启用只是将设备挂接到建议的各种位置(例如,以便设备在启动时或插入特定类型的硬件时自动启动)。启动实际上会产生守护进程(在服务单元的情况下),或绑定套接字(在套接字单元的情况下),等等。
现在实际启动守护进程,而不是在下次登录时:
将此命令与--now开关结合使用,或稍后使用适当的参数调用start 。
推荐阅读
- mongodb - MongoDB > 文本查询 > 相似词
- c - nginx 模块为日志模块设置变量值
- c# - 如何在角色声明中存储多个角色?
- node.js - 从节点脚本返回真/假值到 bash
- c - 是否可以为每个 pthread 安装单独的信号处理程序?
- javascript - 在 Angular 2+ 上重新渲染 FullCalendar
- c# - 创建 ViewModel 以组合链接的 2 个模型
- php - 在 Codeigniter 中多次上传的表单中未选择文件
- python-3.x - 如何编辑列表中的特定元素
- python - 需要为特定列设置列宽大小..同时为数据框创建表以将其转换为图像