启动时运行简单的 xrandr 脚本的自动启动问题

启动时运行简单的 xrandr 脚本的自动启动问题

我创建了一个简单的启动脚本,以便我可以将我的超宽显示器与 Ubuntu 21.04 一起使用(应该与以前的版本类似)。但是,当我使用“自动启动”将此脚本配置为在启动时运行时,我在启动时收到错误,而脚本无法运行。 手动运行脚本可以正常工作- 每次启动时手动运行它很麻烦....

无论如何我得到了这个错误:

Warning: Could not start program '/home/user/scripts/2560x1080.sh' with arguments '/home/user/scripts/2560x1080.sh'.

Warning: execve: Exec format error

,以下是简单的脚本:

#! /bin/bash
#cd /home/user/scripts/
xrandr --newmode "2560x1080_60.00" 230.00  2560 2720 2992 3424  1080 1083 1093 1120 -hsync +vsync
xrandr --addmode HDMI-2 2560x1080_60.00
xrandr --output HDMI-2 --mode 2560x1080_60.00

谢谢 提前

答案1

你尝试过 cronjob 了吗?

您可以使用 crontab 来实现此目的:

crontab -e

您可以在文件底部添加一个在重启时运行的项目:

例如:

@reboot /home/{your user}/scripts/startscript.sh

注意:这可能在所有依赖项加载之前运行。您可能希望异步运行 shell 脚本(例如在 bash 中使用 &)并在 shell 脚本中添加休眠时间。

注意:如果您想要使用 sudo 运行,您可能需要稍微调整一下权限。

注意:sudo crontab -e不同于crontab -e

编辑:

要将日志记录添加到您的 startscript.sh,您可以尝试将命令的输出通过管道传输到日志文件,如下所示: /home/user/scripts/startscript.sh

#!/bin/bash
# Source your bashrc for environment variables
# Note this uses . as source (old school unix) 
# because the source command might not be available depending on the OS
. /home/user/.bashrc
sleep 30
echo "Starting Log" > /home/user/scripts/log.txt
/home/user/scripts/myscript.sh >> /home/user/scripts/log.txt

注意:chronjobs 中的路径应该是绝对路径。

相关内容