我创建了一个简单的启动脚本,以便我可以将我的超宽显示器与 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 中的路径应该是绝对路径。