質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

260閲覧

Failed to run “app.desktop”

bapasu

総合スコア11

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2018/04/15 12:03

編集2018/04/15 12:35

アイコンをクリックするだけでdata.pyの立ち上げを行いたいです。自動的にappアプリケーションのdata.pyが実行されるように(python data.pyが実行される)したいです。
appフォルダの中に、data.py があります。
Desktopエントリファイルを~/.local/share/applicationsの中に作り、app.desktopファイルをその中に作りました。app.desktopには

[Desktop Entry] Type=Application Encoding=UTF-8 Name=app Comment=app for ubuntu 16.04 Exec=/home/xxx/app /home/xxx/app/python data.py Icon=/home/xxx/app.png

と書き、

chmod 773 app.desktop

コマンドを打ち、app.desktopをDesktopにコピーしました。Ubuntuのデスクトップを見た時にアプリケーションのアイコンがありました。でもそれをクリックした時に、
Launch Error
Failed to run “app.desktop”
Failed to execute child process “/home/xxx/app” (Permission denied)
とエラーが出ました。実行権限をもうすでに付与してあるのに、なぜ Permission denied errorとエラーが出るのかがわかりません。どのように直したらよいでしょうか?

ちなみに、chmod 773 app.desktop と打ったのは間違いでしたか?セキュリティ的に771にしておくべきでしたか?(関係の無い他人に実行権限を与える必要はないので)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Exec=/home/xxx/app /home/xxx/app/python data.py

の記述ですが、Execは実行可能なファイルを指定する必要があります。annotation.pyにシェバンを付与して実行可能にし、それを呼び出すか、実行用のシェルスクリプトを別途作ってそれを呼び出してあげるようにしてください。そのスクリプトにも実行権限を付与してあげる必要があります。

投稿2018/04/15 12:29

編集2018/04/16 06:08
hayataka2049

総合スコア30933

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

bapasu

2018/04/15 12:43

ありがとうございます。ちなみに実行したいファイルはdata.pyです。data.pyに
bapasu

2018/04/15 12:44

#!/usr/bin/env python # -*- coding: utf-8 -*- とシバンを追加したのですが、
bapasu

2018/04/15 12:45

それでも同様のエラーが出ました。Execの行は、/home/xxx/app/data.py のみ書くという意味ですか?
hayataka2049

2018/04/15 12:47

説明不足で申し訳ないです。Exec=/home/xxx/app/data.pyとしてください。それで動きませんか?
bapasu

2018/04/15 12:58

はい、同様のエラーが出ます。
hayataka2049

2018/04/15 13:00

/home/xxx/app/data.pyにも実行権限を付与してみてください。それで駄目ならちょっと手元で色々試してみます
bapasu

2018/04/15 13:05

ありがとうございます。 /home/xxx/app/data.pyに実行権限を付与したところ、エラーが何も出なくなりましたが、コマンドをクリックしても何も反応しなくなりました。うまく実行権限が付与されてないのでしょうか...?
hayataka2049

2018/04/15 13:12

うまく実行できなくて途中で落ちてるのかもしれません。 #!/bin/sh python /home/xxx/app/data.py sleep 10 こんなシェルスクリプトを作り、デスクトップエントリでそっちを呼ぶようにし、ついでにTerminal=trueを追加してみてください。エラーが出れば表示されます。
hayataka2049

2018/04/15 13:17

/home/xxx/app/pythonを使う必要があるなら、そっちで書くべきかも・・・というか、最初からExec=/home/xxx/app/python /home/xxx/app/data.pyで行けるかもしれません
bapasu

2018/04/15 13:29

Failed to execute default Terminal Emulator Input/output error とエラーが出ました。新しいWindowを開こうとしていることにエラーが出ているのでしょうか...?
hayataka2049

2018/04/15 13:46

私の手元でも色々やってみましたが、それは再現できないので環境に問題があるのかもしれません。とりあえずデフォルトのターミナルエミュレータを変えてみるという手はあります(普段使うターミナルも一緒に変わっちゃうかもだけど)
bapasu

2018/04/15 14:19

別のターミナルからアイコンをクリックしましたが同じエラーが出ました。その他に何か原因は考えられますか?
hayataka2049

2018/04/15 14:52

考えてみますが、ちょっと色々厳しいかもしれません。 あまりうまい手が思いつきませんが、とりあえずdesktop entryで簡単で確実に動きそうなもの(firefox起動するとか)から書いていって、問題の切り分けを図るのがベターかなぁ。
bapasu

2018/04/16 03:47

承知いたしました!ほんとうにありがとうございます。ちなみに回答をdata.pyに書き換えておいてもらえますか?他の人が読むと混乱してしまいそうだったので。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問