在 Ubuntu 18.04 上通过 systemd 服务启动 tmuxinator 会话时出错

在 Ubuntu 18.04 上通过 systemd 服务启动 tmuxinator 会话时出错

我有一个 tmuxinator (注意不是 tmux,多路复用器) 项目在 Ubuntu 18.04 上运行(以无头/服务器模式运行)。我的 tmuxinator 项目文件位于默认目录中/home/karsh/.tmuxinator/testProject.yml。当我通过 SSH 进入系统并tmuxinator start testProject通过终端运行时,一切都正常运行,并使用我的项目配置启动新的 Tmux 会话。

我的目标是在计算机启动时自动运行此命令。我的方法是创建一个位于的 systemd 服务文件,/etc/systemd/system/testProject.service其设置如下:

[Unit]
Description=Test Project

[Service]
Type=forking
ExecStart=/usr/bin/tmuxinator start testProject

[Install]
WantedBy=multi-user.target

但是,当我通过 启动此服务时sudo systemctl start testProject.service,它崩溃了。使用 检查状态后sudo systemctl status testProject.service,我收到以下错误:

● testProject.service - Test Project
   Loaded: loaded (/etc/systemd/system/testProject.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Fri 2022-04-08 06:08:43 CST; 8s ago
  Process: 3298 ExecStart=/usr/bin/tmuxinator start testProject (code=exited, status=1/FAILURE)
 Main PID: 32756 (code=exited, status=1/FAILURE)

4月 08 06:08:43 nvidia-desktop systemd[1]: Starting Test Project
4月 08 06:08:43 nvidia-desktop tmuxinator[3298]: Project testProject doesn't exist.
4月 08 06:08:43 nvidia-desktop systemd[1]: testProject.service: Control process exited, code=exited status=1
4月 08 06:08:43 nvidia-desktop systemd[1]: testProject.service: Failed with result 'exit-code'.
4月 08 06:08:43 nvidia-desktop systemd[1]: Failed to start Test Project.

似乎通过 systemd 运行时,tmuxinator 无法找到/home/karsh/.tmuxinator/testProject.yml文件并说该项目不存在。

/home/<user>/假设这是问题所在,我该如何授予 systemd 访问这些目录的权限?

答案1

我相信您 100% 正确,tmuxinator 无法找到您/home/<user>/文件夹中的项目文件。

-p相反,尝试使用参数和项目文件的绝对路径启动项目:

tmuxinator start -p /home/karsh/.tmuxinator/testProject.yml

官方有解释tmuxinator Github 页面- 我希望这个对你有用。

相关内容