web-dev-qa-db-ja.com

ダブルクリックしたときにターミナルでスクリプトを実行する方法

概要:Run in TerminalをデフォルトのNautilusダブルクリックアクションとして設定する方法

ダブルクリックして対話型スクリプトを実行したい。それと対話するには、実行されているのを見る必要があります。

gsettingsorg.gnome.nautilus.preferences executable-text-activationaskに設定すると、選択肢が与えられます。 Run in Terminalは私が望むことをします。 Runは、スクリプトが何かを尋ねる必要があるとき、ハングするだけなので、そうではありません。ただし、毎回Run in Terminalをクリックする必要はありません。デフォルトでそれをしたいです。なんとか前にやったことがあります。

gsettingsorg.gnome.nautilus.preferences executable-text-activationlaunchに設定しようとしました;ただし、それは単にデフォルトとしてRunを実行します。デフォルトでRun in Terminalにする方法がわかりません。

また、gnome-terminalコマンドを挿入しようとしました。これにより、ターミナルウィンドウが正常にポップアップされます(単にRunであっても)。ただし、その後、何らかの方法でコマンドをそのターミナルウィンドウに送信する必要がありますall

あるいは、スクリプトのインタラクティブな部分をその端末に(ちょうど)送信する方法を知っています。ただし、その場合、スクリプトの対話部分が終了するまでスクリプトを停止してから、実行を再開する必要があります。通常、これはwaitコマンドを使用して実現できます。そのまま、gnome-terminalコマンドは、代わりにgnome-terminal&として機能するようです。これは、bashスクリプトが起動されるとすぐにbashスクリプトに制御を放棄するためです。

スレッドのほぼ10の重複を読みました Nautilusで実行可能スクリプトを実行するにはどうすればよいですか? (他のサイトを含む)、まだ答えが見つかりません。その他の回避策は歓迎されます。

4
Alex

文字通りあなたが求めたものではなく、私はまだエレガントなオプションだと信じています:

右クリックオプションを追加して、選択したスクリプトをターミナルで実行します

  1. 小さなスクリプトを作成します。

    #!/bin/bash
    gnome-terminal -e $1 
    
  2. run_interminal.sh~/.local/share/nautilus/scriptsとして保存します。ディレクトリが存在しない場合は作成します。

  3. スクリプトを実行可能にします。
  4. ログアウトして再度ログインします。

それでおしまい。スクリプトを選択して選択します Scripts -> runinterminal.sh

enter image description here

または、ドラッグ/ドロップ-ターミナルで実行

(実行可能)スクリプトをランチャーにドラッグして、ターミナルで実行します。

  1. 以下のコードを空のファイルにコピーして、run_script.desktopとしてデスクトップに保存します

    [Desktop Entry]
    Name=Run Script
    Type=Application
    Exec=gnome-terminal -e %u
    Terminal=true
    
  2. 実行可能にする

それでおしまい。実行可能なスクリプトをアイコンにドラッグすると、(gnome-)ターミナルで実行されます。

重要な注意点

前述のように、メニューに表示されるスクリプトrun_interminal.shは実行可能である必要があります。
そのまま、実行するスクリプトも実行可能である必要があります。 run_interminal.shは、ターゲットスクリプトを自動的に実行可能にするか、インタープリターを呼び出すように簡単に設定できます。それが必要な場合は、言及してください。

2
Jacob Vlijm

このソリューションは次のすべてに対して機能するはずです。

  • 「構成可能な個人アクション」をサポートするファイルマネージャー。

  • ダブルクリックでファイルを開くように構成されたファイルマネージャー。

  • 「-e」または「--execute」を実行するオプションがあるx端末エミュレータ。

  • 実行可能にする権限を持つスクリプト。

編集

Thunarファイルマネージャーでテストした後、nautilusをインストールし、両方のスクリプトをダブルクリックします。

1-スクリプトを右クリック

2-「開く」を選択

3- [他のアプリケーションで開く]をクリックします

4-「コマンドで開く」をクリックします

5- [この種類のファイルにこのアクションを使用する]をオンにします

6-テキスト領域に次のコマンドを入力します:x-terminal-emulator -e "/bin/bash %f"

7- [開く]をクリックすると、ターミナルウィンドウでスクリプトが実行されます。

8-ファイルマネージャーを再起動します

スクリプトをダブルクリックするたびに、スクリプトが実行されます。

0
user-707

質問の簡単な解決策を見つけました。 --disable-factoryをgnome-terminalオプションに追加すると、残りのスクリプトを続行する前に、ターミナルが終了するのを待ちます。

0
Alex