如何在使用图形桌面登录时运行 Bash 脚本

如何在使用图形桌面登录时运行 Bash 脚本

我在 Arch Linux 上运行 MATE 桌面,并且运行了一个 bash 脚本:

  • 配置 MATE 以与多台显示器配合使用
  • 将电脑连接到互联网
  • 改变我的鼠标速度

每次以图形方式登录时,我都必须手动执行此脚本。我如何才能自动执行此操作?我尝试了以下方法:

  • 将脚本放入~/.profile文件中。什么也没发生。
  • 将脚本放入~/.initrc文件中。什么也没发生。
  • 将脚本放入~/.xsession文件中。什么也没发生。
  • systemd 无法工作,因为据我所知,它试图过早执行脚本函数。它只能在用户登录后执行,而不是在启动时执行。

编辑:该脚本也需要root权限!

答案1

感谢 @JorneymanGeek 的评论,我能够使用 MATE 自动启动应用程序来执行我需要的操作。我解决了需要输入密码的问题,方法是使用 NOPASSWD visudo,这使我可以sudo COMMAND在不使用密码的情况下在命令行上调用。

虽然这通常不是一个好主意,但是它却有效。

答案2

有时(并非总是)您可以使用它~/.xsession来实现您想要的效果。这通常非常依赖于系统,您可能需要深入了解系统的启动脚本。请参阅这个 Unix 和 Linux Stack Exchange 问题更多细节

答案3

您可以将其放入:

  • ~/.bashrc(将在所有应用程序初始化后运行)
  • /etc/rc.local(将在所有服务运行后但在您使用用户名登录之前以 ROOT 身​​份运行)

相关内容