我已Debian virtual machine
设置为自动登录,并且我想这样,当自动登录发生时,终端将打开并运行命令
python /home/pymodbus/examples/common/synchronous_client.py
Python 脚本的输出出现在终端中,这就是我首先想打开它的原因。我已经做了很多研究,尝试了很多方法,包括把这个命令放在/etc/rc.local
文件,但这似乎没有做任何事情。
另外,我尝试过这个
gnome-terminal -e "python /home/pymodbus/examples/common/synchronous_client.py"
但这并没有像我想象的那样在登录时启动终端。
有人知道如何实现这一点吗?我对 Linux 还很陌生,试图弄清楚我需要哪些软件包和工具,这让我感到非常困惑!
答案1
所以,我终于搞清楚了如何做到这一点,我想在这里分享我的发现。以下是我采取的步骤:
- 为了让命令在启动时运行,我编辑了文件
.bashrc
并将/home/etc/
命令放在最后,位于所有预先编写的代码之后(sudo python /home/usr/pymodbus/examples/common/synchronous_client.py
)。确保您的命令中有 sudo。 为了让终端在启动时启动,我创建了一个桌面文件
~/.config/autostart
(如果您没有自动启动文件夹,您可以创建一个)。在自动启动文件夹中,我创建了一个
.desktop
名为的文件gnome-terminal.desktop
并填充如下内容:[Desktop Entry] Type=Application Exec=gnome-terminal Hidden=false NoDisplay=false X-GNOME-Autostart-enabled=true Name[en_NG]=Terminal Name=Terminal Comment[en_NG]=Start Terminal On Startup Comment=Start Terminal On Startup
最后,为了绕过运行脚本时输入密码的需要
sudo
,我运行了命令sudo visudo
并将以下行放在文件的最末尾:<username> ALL=(ALL) NOPASSWD:ALL
我希望这能帮助任何可能尝试做与我类似事情的人!
答案2
考虑使用 cron 作为启动机制。在 cron 条目列表的底部添加@reboot python /home/pymodbus/examples/common/synchronous_client.py &
(不要忘记 &)您可以设置一个在计算机启动时运行的脚本 - 不要忘记 chmod +x 相关脚本 - 这使系统能够执行该脚本。
通过输入来访问 cronsudo crontab -e