我一直在寻找一种在启动时运行脚本的方法,但我找到的有关该主题的所有旧线程似乎都是在 systemd 出现之前,而且我找到的所有答案似乎都不再有效。我是 Linux 操作系统的新手,我不确定在哪里可以找到有关如何在 systemd 下执行此操作的说明。
先说一下背景故事,我最近在一台小型平板电脑/笔记本电脑上用 Ubuntu 替换了 Windows,我发现启动时屏幕方向是错误的,这意味着每次我登录时都必须进入xrandr -o right
终端,每次都这样做有点烦人。
此外,如果有人有针对 Linux 初学者的资源,我很乐意看到!我目前正在读大学,编程方面的事情都是在 Ubuntu 上完成的,因此能够更熟练地使用该系统将是一件很棒的事情。
谢谢。
答案1
启动脚本示例:
首先在目录中创建一个 systemd 启动脚本(例如 disk-space-check.service),
/etc/systemd/system/
内容如下:[Unit] After=mysql.service [Service] ExecStart=/usr/local/bin/disk-space-check.sh [Install] WantedBy=default.target
安装 systemd 服务单元并启用它:
chmod 664 /etc/systemd/system/disk-space-check.service systemctl daemon-reload systemctl enable disk-space-check.service
您可以在此链接中阅读更多解释:
答案2
我在 Ubuntu 16.04 中遇到了同样的问题。显然这是一个错误,某物将错误的显示方向值保存到文件中~/.config/monitors.xml
。因此,如果您xrandr -o right
在启动时执行,则当您登录且文件monitors.xml
准备好时,方向值将被覆盖。
要为某个用户修复此问题,只需添加以下 Cron 作业 - crontab -e
:
@reboot sed -i 's#<rotation>.*</rotation>#<rotation>normal</rotation>#' "$HOME/.config/monitors.xml" >/dev/null 2>&1
- 替换
normal
为您所需的方向。 - 此命令将替换
<rotation>something</rotation>
文件<rotation>desired value</rotation>
中的~/.config/monitors.xml
。
不幸的是,此解决方法仅在您启动或重新启动系统时才能解决问题。当您注销并登录时,问题可能会再次出现。要解决此问题,您可以xrandr
在启动应用程序。