GNOME3キーボードショートカットでスクリプトが実行されない


2

スクリーンショットを撮ってそれをpuushにアップロードする自家製のスクリプトがあり、そのスクリプトを/ usr / binに入れました。ターミナルを開いてスクリプトの名前を書くと、完全に実行されます。Gnome3ではDebian Unstable(Sid)を使用しています。

私がやろうとしているのは、スクリプトをキーボードショートカットに置くか、少なくとも端末を開かずに実行することです。Alt + F2を使用してコマンドプロンプトを開こうとしましたが、何らかの理由で、そのように起動しようとしてもスクリプトが実行されません。スクリプトをキーボードショートカットに配置した場合も同じです。
また、ファイルのアクセス許可も調べましたが、誰でもスクリプトの読み取りまたは実行が許可されており、スクリプトはrootによって所有され、他のプログラムと同様にルートグループに属します。

スクリプトへのリンク

目標は、キーボードショートカットを使用して自家製のスクリプトを実行し、キーボードショートカットが機能しない場合はコマンドプロンプトをセカンダリオプションとして使用することです。しかし、私は何をすべきかに困惑しています。

これまでにテストしたこと:
パス全体を使用してスクリプトを実行します。
gnome-terminalを開き、パラメーターとしてスクリプトを渡します「gnome-terminal -e script」
スクリプトの先頭に#!/ bin / bashを追加します


あなたのスクリプトにはシバンがありますか?
FSMaxB

ところで、キーボードショートカットを作成する方法を知っていて、タイトルがあなたにそうではないと思わせるので、質問のタイトルを実際に変更する必要があります!
FSMaxB

@FSMaxBシバンとは何ですか?より良いタイトルのための提案はありますか?
Wertilq

シバンは、スクリプトの先頭にある「#!/ bin / whatever-shell」です。名前だけでなく、フルパス(/ usr / bin / script)でスクリプトを呼び出してみましたか?タイトルについて:たとえば、「GNOME3キーボードショートカットはスクリプトを実行しません」。
FSMaxB

@FSMaxB正しく入力するとすぐにALT + F2プロンプトが閉じられるため、スクリプトを見つけることができると感じています。スクリプトの名前を間違って入力すると、そのようなファイルはありませんと表示されます。スクリプトの最初に何のシバンを置くべきですか?
ヴェルティク

回答:


2

Alt + F2で開いたコマンドプロンプト$PATHは、ターミナルで実行するログインシェルと同じであるとは限りません。

あなたは、の値が確認できる$PATHものをgnome-shell

strings /proc/`pidof gnome-shell`/environ | grep PATH

/usr/binリストにない場合は、$ PATH` ~/.profileに含めるように変更する必要があります/usr/bin

PATH="/usr/bin:$PATH"

別の問題は、Alt + F2が起動できないbashか、他のシェルができないことです。これを回避する方法は、Alt + F2を使用しgnome-terminalてスクリプトを起動および実行することです。したがって、Alt + F2を押した後、

gnome-terminal -e my-script.sh

これにはgnome-terminal、スクリプトを実行した後に閉じるウィンドウがポップアップするという不幸な副作用があります。

Guakeのようなサービスを提供したほうがよいように思えます。これにより、ボタンを押すだけで端末全体をドロップダウンできます(スクリーンショット)。


/ usr / binはそのリストにありました。PATH = / usr / local / bin:/ usr / bin:/ bin:/ usr / local / games:/ usr / games
Wertilq

ALT + F2はスクリプトを見つけますが、実行に失敗すると思います。スクリプトの名前を間違って入力した場合(jklgf、puushの代わりにpuuushなど)、そのようなファイルまたはディレクトリは存在しないと表示されます。私は右のそれを入力すると、それだけでimmeditatelyプロンプトを閉じダウン
Wertilq

スクリプトは何をしますか?Alt + F2は、グラフィカルアプリケーションを起動し、フォルダーにすばやくアクセスするために設計されています。ただし、完全なターミナルエミュレーターではありません。あなたが入力した場合echo "Hello world"、例えば、何も起こりません。echo "test" > /home/me/test.txt何もしません。それは単に端末の代替として設計されていません。
tbekolay

問題のスクリプトのpastebinへのリンクがあります。
ヴェルティク

なるほど、分かりました。ええ、Alt + F2からbashを実行することはできません。回答にいくつかの回避策を追加しました。
tbekolay

0

問題が解決しました。どうやら、#!/ bin / bashにインデントがあったようです。#、/ bin / bashにインデントを削除して、#の前に空白、エンドライン、またはそのようなものがないようにしました。スクリプトは、Alt + F2から実行され、キーボードショートカットからも実行されますが、クリックするたびに反応するわけではありません。

シバンの詳細を調べてくれた@FSMaxBに感謝します。また、確かなヒントをくれたtbekolayに感謝します。


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