我想使用 GPU 屏幕录像机来录制重播。我使用 flatpak 安装它,并使用以下命令启动重播模式:
flatpak run --command=gpu-screen-recorder com.dec05eba.gpu_screen_recorder -w DP-1 -f 60 -o ~/Videos/Captures -c mp4 -r 150 -a alsa_output.usb-BEHRINGER_UMC202HD_192k-00.HiFi__hw_U192k__sink.monitor
此进程会占用当前终端。
由于我不希望阻塞的终端窗口不断运行,并且我想让它在启动时启动,因此我创建了一个~/scripts/startup/gpu-recorder-flatpak-command.sh
要在启动时运行的脚本。该脚本是可执行的并且有一个shebang。如果我只是在终端中输入文件名,它就会按预期工作。这意味着,我可以在另一个终端中发送命令 ( killall -SIGUSR1 gpu-screen-recorder
),并将过去 2.5 分钟的视频保存到指定位置。
现在,为了让它在启动时启动,我尝试使用 cron 并尝试创建自己的 systemd 服务。
为了使用 cron,我尝试使用crontab -e
放入@reboot ~/scripts/startup/gpu-recorder-flatpak-command.sh
cronjob 文件。我也尝试过 put @reboot sleep 10; ~/scripts/startup/gpu-recorder-flatpak-command.sh
,但这似乎没有改变任何东西。
当 cron 不起作用时,我并没有真正检查原因,我只是转到了 systemd 路线。我的服务文件位于/etc/systemd/system/gpu-screen-replay.service
,其中包含以下内容:
[Unit]
Description=GPU screen record replay service
After=network.target
[Service]
Type=simple
Restart=always
RestartSec=1
User=lenny
ExecStart=/home/meekah/scripts/startup/gpu-recorder-flatpak-command.sh
[Install]
WantedBy=multi-user.target
我确实执行了systemctl enable gpu-screen-replay.service
,并且在运行时systemctl
我的服务被列为loaded active running
.
您对我可以尝试或检查错误消息有什么建议吗?我尝试检查journalctl
,但似乎刚刚启动服务,没有错误。