双击.desktop文件运行shell脚本以启动python脚本

时间:2017-02-05 15:31:51

标签: python shell python-3.x user-interface

我有一个名为script.py的python脚本我想双击script.desktop,它将执行shell文件script.sh,然后执行python文件:{{1 }}

我的script.py文件包含:

script.desktop

我的shell文件[Desktop Entry] Name=jobs Comment=jobs Exec=/home/user/Desktop/school_scrape/script.sh Icon=/home/user/Desktop/school_scrape/icon.png Terminal=true Type=Application 如下所示:

script.sh

我最终希望它在通过shell文件执行时执行#!/bin/bash echo "hi" sleep 2m 文件,但首先让它首先回显script.py

是有意义的

我甚至无法输出hi虽然在终端中,当我双击hi它只是挂起而没有错误。

首先,我希望只运行运行script.desktop文件的.desktop文件,然后输出hi,然后担心执行python文件。

知道我做错了什么?

2 个答案:

答案 0 :(得分:1)

<强> script.sh

#!/bin/bash
echo "hi"

read

设置chmod +x script.sh并在控制台/终端中手动尝试 - 您可能必须在开始时添加./才能运行它

./script.sh

<强> script.desktop

在Linux Mint系统中添加#!的第一行 - 所以它可能需要它。

#!/usr/bin/env xdg-open
[Desktop Entry]
Name=jobs
Comment=jobs
Exec=/home/user/Desktop/school_scrape/script.sh
Icon=/home/user/Desktop/school_scrape/icon.png
Terminal=true
Type=Application  

设置chmod +x script.desktop并尝试点击

<强> script.py

#!/usr/bin/env python

print("Hello World!")

input()

设置chmod +x script.py并在console / terminal中手动尝试

./script.py

添加到script.sh - 更好地使用完整路径

#!/bin/bash
echo "hi"

/home/user/Desktop/school_scrape/script.py

(因为script.py有shebang并设置chmod +x,所以您不必在python中使用script.sh。您甚至可以删除文件中的扩展名脚本)

或直接在.desktop

中使用

<强>脚本py.desktop

#!/usr/bin/env xdg-open
[Desktop Entry]
Name=jobs-py
Comment=jobs-py
Exec=/home/user/Desktop/school_scrape/script.py
Icon=/home/user/Desktop/school_scrape/icon.png
Terminal=true
Type=Application  

设置chmod +x script-py.desktop并尝试点击

答案 1 :(得分:0)

您是否尝试在script.sh中插入以下行:python script.py

或者您可以使用命令chmod +x script.py使其可执行,只需在script.sh中写入:./script.py