Windowsで.EXEファイルのようにダブルクリックするだけでスクリプトを実行する方法は?


116

.exeWindowsのファイルのようにダブルクリックしてbashスクリプトを実行可能にするにはどうすればよいですか?ランチャーを作成してスクリプトを割り当てようとしましたが、結果は2つあります。

  1. ターミナルがきらめいて消え、何も行われません。
  2. 動作させるには、ターミナルで実行するように指定する必要があります。

Tomcatのすべての依存関係を含む、オフラインPCにTomcatをインストールするスクリプトがあります。スクリプトを使用するほとんどの人はUbuntuに慣れていないので、スクリプトをウィンドウのようなダブルクリックで動作させる必要があります。

上記の説明は忘れてください。ターミナルを使用せずにダブルクリックして実行できるスクリプトを作成したい。誰もが方法を知っていますか?


デスクトップファイルの書き込みが不十分だと思います。書いた.desktopランチャーを(逐語的に)投稿できますか?
ジェド

また、これを見ましたか?askubuntu.com/q/34597/24694
ジェド

名前とコマンドを割り当てて、それほど大きなアイデアではないランチャーです

3
muruが、これに私をひっくり返した私の仕事:askubuntu.com/questions/286621/...
draoi

1
今後の訪問者の参考:UbuntuのデフォルトのファイルマネージャーであるNautilusは、脆弱性のために2019年に新しいリリースで実行可能ファイルを実行する機能を削除するようです。トピックに関する記事コードは、GitLabでの議論とコミット
Sergiy Kolodyazhnyy

回答:


134

私はこれをテストし、うまくいきました。スクリプトが正しいシェバンで始まることを確認してください#!/usr/bin/env bash

次に、次の手順を実行します。

  • ヒットAlt+ F2コマンドを実行します。
  • 入力してdconf-editorを押しEnterます。
  • dconfg-editorで次の場所に移動します。 org ➤ gnome ➤ nautilus ➤ preferences
  • をクリックしexecutable-text-activationて、ドロップダウンメニューから次を選択します。

    launch:スクリプトをプログラムとして起動します。
    または
    ask:ダイアログを介して何をするかを尋ねます。

    スクリーンショット

  • dconf-editorを閉じます。それでおしまい!

ターミナルを使用する別の方法:実行:

gsettings set org.gnome.nautilus.preferences executable-text-activation 'launch'

:ファイルは実行可能である必要があります。ファイルの許可を変更する必要がある場合もあります。右クリックして、「プログラムとしてファイルの実行を許可する」を設定します

スクリーンショット

ソース


これはうまくいきました。注:「ドロップダウンメニュー」に到達するには、右側にリストされている値executable-text-activation(デフォルト値はdisplay)をクリックします。
-ryanjdillon

5
アプリを呼び出せない人のために、最初にインストールする必要がありますsudo apt-get install dconf-editor
whale_steward

1
これは、デスクトップ以外のどこでも機能します。デスクトップでも同様に機能させるにはどうすればよいですか?Xubuntu 14.10。を使用しています。
-shrx

LXDEでこれを行う方法はありますか(Lubuntu用)?
childofsoong

これは、slax unixでうまく機能します- サムドライブから起動できる本当に素晴らしいUnixシステムについては、slax.orgを参照してください。
raddevus

74

ノーチラス(別名ファイル)

  1. ファイル(Unityで編集(17.04以下))>環境設定>動作タブに移動します

    スクリーンショット

  2. 実行可能なテキストファイルの設定を変更します。

    スクリーンショット


3
「ファイル->設定」になりました。(17.04)
niry

甘い!私見に行く方法。
-codepleb

出力を見るには?
Amr Lotfy

10

UbuntuおよびすべてのUnixベースのOS afaikでは、デフォルトで実行可能ファイルとして設定されているものはありません。これを行うには2つの方法があります。

  1. 実行するスクリプトまたはファイルを右クリックします。[プロパティ]に移動し、[権限]タブに移動します。[実行]というチェックボックスをクリックします。

  2. cdファイルが見つかったディレクトリにターミナルを開きます。を入力します。これにより、実行するファイルが設定されます。chmod ugo+x filename

これで、ユーザーは心のコンテンツをダブルクリックできます。


2
ターミナルで実行したり、表示したり、実行したりする方法を尋ねます...だから、私が必要とするものではありません

この回答のみがデスクトップファイルを実行可能にするためのGnome Ubuntu 17.04で機能しました
Kunok

これは、ファイルをダブルクリックするのではなく、ターミナルでファイルを実行するためのものです。
DimiDak

8

ここで* .desktopファイルの作成が欠落していると思います。

$ cat shortcut-for-my-script.desktop
[Desktop Entry]
Type=Application
Terminal=true
Name=Click-Script
Icon=utilities-terminal
Exec=gnome-terminal -e "bash -c './script.sh;$SHELL'"
Categories=Application;

1つのスクリプトに対して複数の* .desktopファイルを作成する場合、異なるパラメーターを渡すことで複数の構成を作成できます。これは非常に快適で使いやすい方法です。


1
これがUbuntuのベストアンサーです。あなたは(または多分ない?ん)を指定する必要はないかもしれないことに注意Terminal=TrueしてExec=gnome-terminal、あなたが文字通り...あなたは、ターミナルウィンドウ内の出力を確認するスクリプトのショートカットを作成している場合を除きまた、あなたが指すことができることに注意してIconどんなカスタムにpngが必要な場合があります...
BuvinJ

6

XFceを使用している場合は、次のコマンドを実行してThunarでスクリプトを実行できます。

xfconf-query --channel thunar --property /misc-exec-shell-scripts-by-default \
             --create --type bool --set true

または、gui xfce4-settings-editorを使用して同じプロパティを作成します。

を実行しxfce4-settings-editor、次を入力します。

  • /misc-exec-shell-scripts-by-default

  • ブール

  • TRUE

xfce4-settings-editorの画像


ここでは、Thunarでカスタムアクションを使用して目的を達成する方法について説明します(その「危険な」機能を再度有効にせずに)。
cipricus

また、ここでは zenityを使うを使用して、質問を取得する方法については「編集やファイル名を指定して実行?」
cipricus

2

3つのポイントを確認する必要があります。

  • Nautilus / Nemo設定:https : //askubuntu.com/a/286651/301025
  • スクリプトファイルは実行可能である必要がありますhttps : //askubuntu.com/a/275714/301025
  • ファイルシステムは実行を許可する必要があります:

    1. mountコンソールを入力します
    2. ファイルシステムにnoexecフラグがあるかどうかを確認します
    3. noexec編集してフラグを削除し/etc/fstab、変更したシステムを再マウントします(たとえば、再起動が機能します)

1

デスクトップでSHELスクリプトまたはWhateverの起動をコマンドラインで作成する場合は、バックグラウンドで実行されるように、スクリプトに通知することを忘れないでください。

彼が仕事を終えると、スクリプトは死にます。


1
私はそれをしましたが、端末がちらつくだけで何も起こりません

1

umaskデフォルト値に基づいて、デフォルトではファイルの実行権限がなく、実行権限を取得するにはmodを変更する必要があります。次のようなものです。

chmod u+x filename

1

0

Thunarについての答えを補完するものとして、その答えはThunarの以前の機能を再度有効にして、ダブルクリックでスクリプトを実行します。しかし、その機能はセキュリティリスクと見なされていました。

これを回避するための最もエレガントな解決策は、「そのファイルで何をしたいのか:実行または編集しますか?」などの質問を含むポップアップウィンドウを表示することです。(PCManFMやNemoなどの他のファイルマネージャーにあるものと同様)そのファイルをクリックするとき-Zenity:hereを使用し


代替手段はカスタムアクションであり、おそらくThunarが持つ最高の機能です。

実行可能テキストファイルの実行に使用するコマンドはsh -c %f、「スクリプトの実行/実行」と呼ばれるカスタムアクションの場合です。

ここに画像の説明を入力してください

出現条件は単に「テキスト」です。

ここに画像の説明を入力してください

Xfce4ターミナルを開いたまま、ターミナルでこのようなスクリプトを実行するために同様のコマンドを使用できます(「ターミナルで実行」)。

xfce4-terminal -H -x %f

ここに画像の説明を入力してください

必要に応じて、そして可能であれば、実行可能なものを除くすべてのテキストファイルに対してこのようなオプションを非表示にするために、「外観条件」の下で.shファイル(または.py場合によってはファイル)の外観の使用を制限する方法があります:

ここに画像の説明を入力してください

-実行可能ファイルの名前を適宜変更する前。


-1

特別のAndroid Studio用のあなたは私に従うことができ、ここで、元の答えを

デスクトップランチャーを作成するには:

  • クリックしてCreate Desktop Entry..から[ツール]メニュー。

ここに画像の説明を入力してください

  • パスワードの入力を求められますので、現在のログインのパスワードを入力してください。

  • 最後に、Android Studioの画面に次のような通知が表示されます。

ここに画像の説明を入力してください

  • あなたはで見ることができるアプリケーション=>プログラミング=> Androidのメーカー、そしてあなたは、システムの再起動後にデスクトップ上に表示される場合があります。

ありがとうございました。:)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.