web-dev-qa-db-ja.com

キーボードショートカットでシェルスクリプトを実行する

ボタンを押すだけでシェルスクリプトを実行したいと思います。スクリプトは、sh script.shのように通常どおり実行すると機能します。ただし、ショートカットを割り当てても機能しません。

Screenshot of shortcut menu

Xubuntu 14.10でこれをどのように行いますか?

3
TomTom

問題は~であると確信しています。それはシェル(コマンドラインシェル)機能であり、キーボードショートカットはグラフィカルシェルによって処理されます。 ~$HOMEがそこで正しく展開されるとは思わない。したがって、~/path/to/scriptの代わりに、

/home/username/Documents/Various/SyncStuff.sh

これは、スクリプトを実行可能にしたことを前提としています。そうでない場合は、使用します

sh /home/username/Documents/Various/SyncStuff.sh

$PATHもグラフィカルシェルによって読み取られるため、shで十分なはずです。それも失敗する場合は、フルパスで試してみてください。しかし、私はそれが必要になるとは思いません。

/bin/sh /home/username/Documents/Various/SyncStuff.sh
7
terdon

素晴らしい投稿。私はubuntuの最後のいくつかのバージョン(現在19.04)でこれを行う方法を探していました

フルパスを使用することがそれをしたことです。ありがとうございました。私のために働いたのは次のことでした...

ホットキーを設定して、開いているドキュメントに日付/時刻を挿入する方法を探していました。

私はオンラインでスクリプトを見つけ、いくつかの小さな変更を加えました(主にホットキーの関連付けは、ubuntuで既に使用されていたキーコンボだったため、選択が好きではなかったためです)。

ルートディレクトリに「insertTimestamp.sh」というファイルを作成しました。

次に、自分の好みに合わせてコードを貼り付けました(そして少し変更しました)...

--------行間のコードのコピー/貼り付け----------

!/bin/sh

xdotool keyup "super + t"; #リクエストのステータスを更新する必要がありました。ホットキーのsuper + tキーを放すことをシミュレートします。そうしないと、ctrl-vペースト機能の日付 '+%Y-%m-%d%H:%M:%S'に干渉します。 tr -d "\ n" | xsel -i -b; #クリップボードのxdotoolキー「ctrl + v」に日付/時刻を追加します。 #ctrl-vをシミュレートする

xdotool keydown "super"; #ユーザーがスーパーキーを手放すのを防ぐ


上記をファイルに貼り付けて保存したら、ファイルの権限を変更する必要がありました

chmod u+x ~/insertTimestamp.sh

完了したら、単に「キーボード」を検索する必要があります=>キーボードを選択=>アプリケーションのショートカットタブに移動=>追加=>「コマンド」に「sh the/full/path/insertTimestamp.sh」と入力します(引用符と更新なしフルパス)、=>キーをsuper + tとして設定します。

これがこれを設定する方法のきちんとした例を提供することを望みます。

ここに画像の説明を入力

1
Paul Johnston