![如何创建延迟启动命令](https://linux22.com/image/1155233/%E5%A6%82%E4%BD%95%E5%88%9B%E5%BB%BA%E5%BB%B6%E8%BF%9F%E5%90%AF%E5%8A%A8%E5%91%BD%E4%BB%A4.png)
这个问题可能很简单,但是我是 Linux 新手。我的 nvidia 显卡出现了屏幕撕裂问题,我查了一下 YT 视频,它说这与合成管道有关,并解释了如何通过在 nvidia 配置文件中添加下面的命令行来修复它。它起作用了,屏幕撕裂消失了,但它又产生了另一个问题。一个名为“redshift”的程序不再起作用了。无论如何,我撤销了视频中说的更改,并花了一整晚的时间试图找出问题的根源,最后我找到了解决方案。
我需要做的就是启动我的电脑,在 redshift 启动后,我在终端中运行此命令:
“nvidia-settings --assign CurrentMetaMode="HDMI-0:1280x720_60 +0+0 { ForceFullCompositionPipeline = On }”
模板: nvidia-settings --assign CurrentMetaMode="CONNECTION:RESOLUTION_RATE +0+0 { ForceFullCompositionPipeline = On }"
不知何故,redshift 不受其影响,因为它已经启动了,同时,屏幕撕裂问题也得到了解决(直到我重新启动计算机),然后我必须再次执行该命令..
我现在正在寻找一个自动化解决方案,也许通过在“会话和启动”中使用此命令创建一个延迟脚本,该脚本将在“Redshift”启动后执行。
我该怎么做?提前致谢
答案1
我使用启动应用程序来延迟 Dropbox 的启动,直到我的 VPN 加载完毕。同样的方法可能适用于您的情况。我会尝试以下方法:
打开启动应用程序(单击破折号并搜索它)
单击添加按钮添加新的启动程序并命名。
在命令行中尝试:
/bin/bash -c "sleep XX && YOUR NVIDIA code"
其中 XX 是执行前需要的延迟秒数。因此,
/bin/bash -c "sleep 10 && nvidia-settings --assign CurrentMetaMode="HDMI-0:1280x720_60 +0+0 { ForceFullCompositionPipeline = On }
然后单击“保存”并重新启动以验证其是否有效。