
Ubuntu日本語フォーラム

ログインしていません。
特定のスクリプトを端末内で起動したい場合(別解、ディスクトップの機能を利用):
1.ディスクトップで右クリック
2.ランチャの生成...選択
3.種類に「端末内で起動」を選び、その他の項目を入力し、OKボタンをクリック
生成されたランチャーはブラウザからクリックで実行しても端末内で実行してくれます。
+--------------------------------------------------------------------------------------+
ファイルブラウザーで表示されている実行ファイルをダブルクリックもしくは設定によりシングルクリックで起動したり、起動のためのメニューがでるのは、linux自身の機能でも、シェルの機能でもなく、ファイルブラウザーであるNautilusの機能です。
Nautilusのマニュアル
この内容は、Nautilus起動時にヘルプ→目次からも、表示できます。
このマニュアルの説明によると、ファイルの種類の決定は、まずそのファイルの一行目をよみ、それで分からない場合はファイルの拡張子で決まるようです。さらに、読んでみると、クリックにより、直接「端末で実行する」方法はないようです。
端末で実行する機能があるファイルブラウザーを探して、替わりに使用するのも一手です。
Nautilusでも、ファイルの種類によって起動するプログラムを選択できるのですが、実行権のあるテキストファイルは別格として扱われているらしく、特定のプログラムを追加したり、デフォルトを変更したりできませんでした。Nautilusの拡張機能、nautilus-actionsをリポからインストールすると、ファイルの拡張子に応じて、右クリック時のメニュー項目を増やせるので、*.shの場合のメニューに「端末で実行」という項目を作成し、gnome-terminalで実行するようにする方法もあります。(端末で実行を右クリックのコンテキストメニューに追加する方法は別の方もあったと思いますが、わすれてしまいました)
もしくは、こちらをお読みになってNautilusのスクリプトを勉強すれば、右メニューを強化できて便利かもしれません。
残念ながら、直接の回答はできませんでしたが、いくつか逃げ道を紹介しました。
オフライン
お返事ありがとうございます。
HiroKws による投稿:
特定のスクリプトを端末内で起動したい場合(別解、ディスクトップの機能を利用):
1.ディスクトップで右クリック
2.ランチャの生成...選択
3.種類に「端末内で起動」を選び、その他の項目を入力し、OKボタンをクリック
生成されたランチャーはブラウザからクリックで実行しても端末内で実行してくれます。
できました~!ランチャにそんな機能があるとは予想もできませんでした。
ありがとうございます。
+--------------------------------------------------------------------------------------+
HiroKws による投稿:
このマニュアルの説明によると、ファイルの種類の決定は、まずそのファイルの一行目をよみ、それで分からない場合はファイルの拡張子で決まるようです。さらに、読んでみると、クリックにより、直接「端末で実行する」方法はないようです。
それで #!/bin/sh と書いただけで拡張子関係なくプロパティー見るとシェルスクリプトになるわけですね。
HiroKws による投稿:
Nautilusの拡張機能、nautilus-actionsをリポからインストールすると、ファイルの拡張子に応じて、右クリック時のメニュー項目を増やせるので、*.shの場合のメニューに「端末で実行」という項目を作成し、gnome-terminalで実行するようにする方法もあります。
これは試してませんが、.shのプロパティーで「開き方」でxtermを選ぶと右クリックに「xtermで開く」が現れコマンドが実行されました。「gnome-terminalで開く」はgnome-terminalが起動するだけなのと対照的です。
gnome-terminalも内部処理でxtermを呼び出してるかも?本質はxtermなのでは?と勝手に思ってます。
どこかで shとbashは同じ という話を読んだので。ちとgnome-terminalとxtermの関係とは違うかもしれませんが
いろいろ試して見たいと思います。
ありがとうございました。
オフライン