当前位置: 首页>>技术教程>>正文


在Ubuntu中启动时运行Python脚本

, , ,

问题描述

我有一个简短的Python脚本,需要在启动时运行-Ubuntu 13.10。我已经尝试了所有我能想到的但无法运行的东西。剧本:

#!/usr/bin/python
import time
with open("/home/username/Desktop/startup.txt", 'a') as f:
    f.write(str(time.time()) + " It worked!")

(实际脚本有点不同,因为我只是将其用于测试目的,但是您明白了。)

我已经尝试了以下所有方法,但没有运气:

  • 以常规用户身份和sudo身份将命令python startuptest.py作为@reboot
    python /home/username/Documents/startuptest.py
    放在crontab

  • 将命令python /home/username/Documents/startuptest.py放在/etc/rc.local

  • 打开Ubuntu的启动应用程序,并将命令放在那里

  • 完成上述所有操作,将命令放入 shell 脚本中,然后调用该 shell 脚本

没用。我感到自己缺少一些简单的东西。有任何想法吗? (如果我只是从终端运行命令,则脚本可以正常运行。)

最佳回答

将其放在/etc/init中(在Ubuntu 15.x中使用/etc/systemd)

mystartupscript.conf

start on runlevel [2345]
stop on runlevel [!2345]

exec /path/to/script.py

通过在其中放置该conf文件,您可以挂接到ubuntu的upstart服务,该服务在启动时运行服务。

手动启动/停止使用sudo service mystartupscript startsudo service mystartupscript stop完成

次佳回答

Instructions

  • 将python文件复制到/bin:sudo cp -i /path/to/your_script.py /bin

  • 添加一个新的Cron作业:sudo crontab -e滚动到底部并添加以下行(在所有#'s之后):@reboot python /bin/your_script.py &该行末尾的“&”表示该命令在后台运行,并且不会停止系统启动。

  • 测试一下:sudo reboot

实际示例:

  • 将此文件添加到您的桌面:test_code.py(运行以检查它是否适合您)

    from os.path import expanduser
    import datetime
    
    file = open(expanduser("~") + '/Desktop/HERE.txt', 'w')
    file.write("It worked!\n" + str(datetime.datetime.now()))
    file.close()
    
  • 运行以下命令:sudo cp -i ~/Desktop/test_code.py /bin sudo crontab -e

  • 添加以下行并保存:@reboot python /bin/test_code.py &

  • 现在重新启动计算机,您应该在桌面上找到一个新文件:HERE.txt

第三种回答

如果您使用的是Ubuntu,则除了Python文件的代码外,无需编写其他任何代码,以下是步骤:-

  • 打开破折号(侧边栏中的第一个图标)。

  • 然后键入启动应用程序并打开该应用程序。

  • 在这里单击右侧的添加按钮。

  • 在其中填充详细信息,并在命令区域中浏览Python文件,然后单击“确定”。

  • 通过重新启动系统进行测试。完成。请享用 !!

第四种回答

使用以下命令创建文件〜/.config /autostart /MyScript.desktop

[Desktop Entry]
Encoding=UTF-8
Name=MyScript
Comment=MyScript
Icon=gnome-info
Exec=python /home/your_path/script.py
Terminal=false
Type=Application
Categories=

X-GNOME-Autostart-enabled=true
X-GNOME-Autostart-Delay=0

它帮助到我!

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/10566.html,未经允许,请勿转载。