Ghostty冷启动优化
目录
相比于 Alacritty, Ghostty 虽然功能更多但是冷启动速度更慢, 要加快冷启动速度, 官方文档提到可以使在图形界面登录时就启动 Ghostty.
使用 Systemd 启动服务
使用以下命令将 Ghostty 服务添加到用户服务中:
systemctl enable --user app-com.mitchellh.ghostty.service即可配置服务默认启动. 使用以下命令启动
systemctl start --user app-com.mitchellh.ghostty.service运行时需要关闭所有 Ghostty 进程, 包括后台进程, 使用 pkill ghostty 关闭所有进程, 用另外的 Shell 执行.
配置后台驻留时间
配置文件中添加以下内容可以配置后台驻留时间
quit-after-last-window-closed = true
quit-after-last-window-closed-delay = 60m或者可以直接配置后台常驻
quit-after-last-window-closed = false非 Gnome/KDE 环境启动
在 Hyprland/Niri/I3-WM/BSPWM 等窗口管理器中, 由于不会自动发送图形界面就绪的信号, 而 Ghostty 的服务中配置了 WantedBy=graphical-session.target , 导致服务一直在等待图形界面就绪而无法启动, 解决方法有以下三种:
- 修改服务以下配置内容让它直接启动而不等待图形界面就绪
[Install]
WantedBy=default.target- 让窗口管理器在启动时直接启动服务, 在niri配置文件中可以加入以下内容
spawn-at-startup "systemctl" "--user" "start" "graphical-session.target"- 只配置后台驻留, 而不启动服务, 这样只会在第一次启动稍慢后续启动都很快.
修改启动命令
默认安装的 Ghostty 启动命令一般为不带任何参数的, 官方文档提到, 如果有后台驻留, 推荐用 ghostty +new-window 命令启动, 这样可以跳过加载配置、检查环境、初始化 GTK 等项目直接启动, 速度更快, 所以可以修改对应启动脚本或快捷键, 为启动命令加上 +new-window 参数加快热启动速度.