¿Cómo hacer que un archivo Python se ejecute haciendo doble clic en él en Ubuntu 20.04?

¿Cómo hacer que un archivo Python se ejecute haciendo doble clic en él en Ubuntu 20.04?

Hago un juego en Python con el turtlemódulo pero quiero hacerlo ejecutable haciendo doble clic en él. Sigo estos pasos:

  1. Mi archivo Python tiene #!/usr/bin/env python3en la parte superior.

  2. Creé un archivo llamado launcher.desktopen el escritorio. Contiene:

    [Desktop Entry]
    Name = Pong 
    Exec = /home/username/Desktop/MyGame/game.py 
    Version = 1.0 
    Icon = /home/username/Desktop/MyGame/game.icon 
    Type = Application
    
  3. Marqué el archivo como ejecutable.

Sin embargo, cuando hago doble clic en ese archivo, se abre en el editor de texto.

¿Alguien puede decirme cómo puedo hacer que el archivo Python sea ejecutable haciendo doble clic en Ubuntu 20.04?

Respuesta1

Su archivo de escritorio es básicamente correcto, al hacer doble clic en él se interpretará como "editar"; puede verlo en las propiedades; el comportamiento predeterminado de un icono en un escritorio será "Editor de texto".

Yo lo pondría en ~/.local/share/applications. Entonces podrías empezar desde las actividades. Asegúrese de que la expresión exec sea ejecutable. Entonces tu "game.py" debe ser ejecutable (entonces necesita el shebang #!/usr/bin/env python3en su primera línea) o el exec debe verse así:

Exec= /usr/bin/python3 /path/to/mygames/game.py

Tenga en cuenta que sería un buen estilo tener la siguiente línea comoprimerolínea en su archivo de escritorio:

#!/usr/bin/env xdg-open

Y el "icono" debería ser más bien *.png que ".icon".

Entonces llamé al juego "pong":

[ 1]

desde donde podrías ponerlo en tus "favoritos"

Este es el archivo de escritorio completo como se muestra arriba:

#!/usr/bin/env xdg-open
[Desktop Entry]
Encoding=UTF-8
Name = Pong 
#Exec = /usr/bin/python3 /home/username/Desktop/games/game.py 
Exec = /home/username/Desktop/games/game.py 
Version = 1.0 
Icon = /home/username/Desktop/games/game.png
Type = Application
NoDisplay=false
Categories=Games

información relacionada