デスクトップショートカットからshスクリプトを実行する方法は?


37

私のSSHサーバーにログインするためのショートカットを作成しようとしています:

ssh x.x.x.x

次のファイルを作成しました。

ssh_home.sh

実行可能にしました:

sudo chmod +x ./ssh_home

プロパティを右クリックして、実行可能かどうかを確認します。

しかし、私が何をしても、それをダブルクリックすると、geditが起動します。「Open With」を試しましたが、端末アプリが表示されません。ネットを検索しましたが、1つの「ショートカットファイル」に統合せずに、ファイルにリンクする方法を見つけました。


2
#! /usr/bin/shファイルの先頭(最初の行)に追加しましたか?
不幸

興味深いことに、どのバージョンのUbuntuを実行していますか?原則として(と、.SHファイルにも、直接それは、プロパティ/権限で実行可能としてファイルをマークするだけの場合にする必要がありますが、13.04で、これは私のために動作しないようです#! /bin/bash...開始時)
ジェズW

所有者と権限も確認してください。クリックするユーザーには、実行する権限がありますか?
ミザリー

1
コマンドが正しくない可能性があります- ssh_home.shおよびを参照して/ssh_homeいますが、これらは同じファイルではありません。
l0b0

2
@Misery:で/bin/shはありません/usr/bin/sh。(/usr/bin/shシステム上で動作するように起こるのだろう/bin/usr/bin同じディレクトリにある、私はUbuntuの>のためのケースだとは思わない)
キース・トンプソン

回答:


50

私はこれが少し前であることを知っていますが、誰か他の人が尋ねた場合、私はこの答えを持っています。

  1. オウムガイを開く
  2. [ファイル]メニュー-> [動作]タブ
  3. 実行可能なテキストファイルが開かれたときに実行する

以降のバージョンでは、このオプションは[ファイル]メニュー-> [編集]-> [設定]-> [動作]タブにあります。

Ubuntu 14.10では、マウスを画面の上部に移動すると、ファイル、編集など...メニューバーが表示されます。[編集]-> [設定]-> [動作]タブをクリックします


2
これは受け入れられた答えである必要があります。Nautilusからシェルスクリプトを実行できなかった理由を理解しようとすると、かなりイライラしていました。
デビッドバウカム14

[ファイル]メニューとは何ですか?見たことない。
イゴールガナポルスキー

働いた。ファイルブラウザでシェルスクリプトを右クリックします。リンクを作成しました。次に、リンクをデスクトップにドラッグアンドドロップします。また、ファイル参照->設定->表示の代わりに実行で上記のステップを実行しました。
maxweber

3
複雑な点の1つは、これがすべての実行可能ファイルに影響することです。(それはあなたが望むかもしれません。)
キーストンプソン

素晴らしい答えです!Ubuntu 18.04では、「何をするかを尋ねる」に設定しているので、そのようなファイルをダブルクリックするたびに実行または表示を選択できます。ありがとう!
MS Berends

36

~/Desktop/ssh_home.desktop次の内容のファイルを作成して、スクリプトにランチャーファイルを使用する方が良いと思います。

[Desktop Entry]
Version=1.0
Exec=/home/yourname/bin/ssh_home.sh
Name=SSH Server
GenericName=SSH Server
Comment=Connect to My Server
Encoding=UTF-8
Terminal=true
Type=Application
Categories=Application;Network;

そうすれば、スクリプトを起動するクリック可能なアイコンが表示されます。

また、実行可能フラグをchmod次のように設定する必要があります。

chmod +x ~/Desktop/ssh_home.desktop

1
この方法は機能していますが、私は1ファイルのソリューションを好みます
...-michel

6
@michelすべてのスクリプトが実行される場合、スクリプトはssh host不要で、Exec行をに変更するだけExec=ssh hostです。
ガイラ

1
これは私のために働いた唯一のソリューションです。
Aviad P.

Untrusted application launcherメッセージボックスが表示され、コマンドが実行されません。
マット

@Mattアイコンを右クリックして、に進み、Properties > Permissionsを選択しますAllow executing file as program。また、上記のテキストをファイルにコピーして貼り付ける場合、行の後に後続の空白がないことを確認してください。エラーメッセージが表示される場合があります。
オリビアコウノトリ

3

私にとっての「トラップ」は、ファイルを右クリックして動作を変更する方法を検索したことです(geditで開くのではなくスクリプトを実行する)。右クリックしないでください!「通常の」メニューバーから開くのではなく:

Edit-Preferences-Behaviourおよび「実行」または「毎回確認」に変更します。

コメント:私の好みでは、右クリックでもプログラムを実行する方法が必要です。特に、右クリックするとメニュー「開く」が表示されるため、「bashで開く」を検索できますが、オプションとして「bash」は含まれていません...


私の好みにも
...-マレキー

1

imo最も簡単な答えは-

  1. クリックするか、独自のディレクトリから実行した場合、.shファイルが機能することを確認します。
  2. そこで動作する場合は、「ファイル」または「Nautilus」で右クリックし、「リンクを作成」を選択します
  3. これにより、同じディレクトリに「link to xxxx.sh」という名前のファイルが作成されます
  4. これをデスクトップにドラッグします
  5. たとえば、「link to」と「sh」を削除するなど、希望する名前に変更します。名前をそのままにしておくと、引き続き機能します。

また、リンクのアイコンも変更できます。それを右クリックして[プロパティ]を選択し、プロパティウィンドウの左上にあるデフォルトアイコンをクリックして、アイコンにしたい画像が見つかるまでナビゲートします。
ブライアンHellekin

0

シェルスクリプトをショートカットに追加する最も簡単な方法は、ホームディレクトリに.shファイルを追加することです。ホームディレクトリにコピーしたら、カスタムショートカットに移動してsh yourfile.shコマンドを追加します。

これはあなたの役に立つことを願って私の仕事でした

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