开机自启动命令after.local无法执行怎么办

我是双显示器,有一台显示器的分辨率系统无法识别,默认的可选分辨率里也没有合适的选项。每次开机都需要用 xrandr 来设置。

我看了一下,opensuse leap 需要在创建 /etc/init.d/after.local 这个文件,把要自动执行的命令放进去。
然而我放进去以后开机并没有自动执行这些命令。

我又搜到说要在 /lib/systemd/system 新建一个 after-local.server,然而这个目录并不存在。

要怎么解决这个问题呢?是不是还有更简单一点的办法可以设置分辨率的。

有人帮忙吗,谢谢!

 /etc/systemd/system 

确实是有些人觉得写自启动方便,但我觉得双屏标准的方法一般不是去改 xorg 么?

你可以通过编辑 Xorg.conf 来设置分辨率啊,参见 segmentfault.com/a/1190000004510095

当使用了 systemd 后将会禁用 sysv 的初始化脚本。

下面是一个简单的 systemd 执行命令的代码,不过还是推荐你用上面的方法。

[Unit]
Description=Run xrandr

[Service]
Type=simple
ExecStart=

[Install]
WantedBy=multi-user.target

创建这个文件 /etc/systemd/system/run-xrandr.service 把上面的代码复制进去,ExecStart= 后面跟你的命令,记得用绝对路径。

然后 systemctl start run-xrandr 试一下,可以的话就 systemctl enable run-xrandr