如何以 root 用户身份登录时调用 bash 函数

如何以 root 用户身份登录时调用 bash 函数

我正在使用 Arch(带有 Xfce),并且需要在登录操作系统时运行 bash 函数。我编写的函数需要通过 root 访问权限运行。

这是函数:

my_func() {
   sudo -v
   sudo chown $USER /var/lib/pgadmin
   sudo chown $USER /var/log/pgadmin
   python3 -m venv pgadmin4
   source pgadmin4/bin/activate
   pgadmin4
}
export -f my_func

我可以轻松地my_func在终端中运行。首先,它会提示输入密码,然后它就可以正常工作了。

由于某种原因,我必须在登录时运行该功能。

我做了什么:

我创建了一个 bash 脚本 (my_function.sh),并将其添加到“会话和启动 > 应用程序自动启动”。但由于该功能需要由 root 用户运行,因此失败

答案1

您可能想要创建一个系统单元为了这。

这是一个基础教程在去做这件事的路上。

通常情况下,你会希望

[Unit]
Description=PGAdmin

[Service]
ExecStart= #Path of my_function.sh

[Install]
WantedBy=multi-user.target

相关内容