简洁版本:我使用 RPi Imager 设置了我的 Ubuntu 服务器并登录。我有一个 Python Discord Bot 会自动运行(在我登录后),但登录仍然存在,我不知道如何绕过它。
我需要帮助找到一种方法来使我的登录自动而不是手动,是的,这不会全天候使用。
根据提到的内容,我将其添加到我的 .bashrc 文件中,以便在登录后自动启动 Bot。
cd environments/Psylar
source my_env/bin/activate
python3 psylar.py
简洁版本:我使用 RPi Imager 设置了我的 Ubuntu 服务器并登录。我有一个 Python Discord Bot 会自动运行(在我登录后),但登录仍然存在,我不知道如何绕过它。
我需要帮助找到一种方法来使我的登录自动而不是手动,是的,这不会全天候使用。
根据提到的内容,我将其添加到我的 .bashrc 文件中,以便在登录后自动启动 Bot。
cd environments/Psylar
source my_env/bin/activate
python3 psylar.py
这个答案并没有解决“自动登录Ubuntu服务器”的问题。
这个答案展示了一种在计算机启动时启动 python discord bot 脚本的方法。
创建 bash 脚本
在您的主文件夹中创建一个文件夹,
bin
例如/home/$USER/bin
.然后创建一个名为 .bashrc 的文件/home/$USER/bin/start_my_discord_bot
。由于我们将在 cron 中使用它,因此限制了路径变量。您需要编辑上面的脚本以在任何地方都包含完整路径。例如,而不是
python3
使用/usr/bin/python3
或您创建的环境的 python3 的正确路径。使用以下命令使 bash 脚本可执行:
尝试使用该命令
start_my_discord_bot
,看看它是否手动工作。我们将在接下来的步骤中使其自动化。我提供了2个选项。你只需要一个。如果第一个选项不起作用,请尝试其他选项。在尝试第二个选项之前,请确保机器人未运行,并且选项 1 中对 crontab 所做的更改已撤销。
选项 1:Crontab
使用
crontab -e
创建一个新的 crontab 文件。在文件末尾添加以下行:保存并退出编辑器。
当您重新启动计算机时,您的 discord 机器人应该会自动启动。
选项 2:系统
Systemd 可以做与 crontab 相同的事情。它是一种更现代、更灵活的方法:
使用以下方法创建了一个服务:
并将以下几行放入其中:
保存文件并退出编辑器。确保机器人尚未运行。然后使用以下命令启用并启动服务:
最后一个命令将显示 start_my_discord_bot.service 是否处于活动状态。如果它不活跃,则表明出现了问题。如果它处于活动状态,请检查机器人是否正在运行。
重新启动后,该服务应自动启动。
希望这可以帮助