web-dev-qa-db-ja.com

Ubuntu 13.04でカスタムキーボードショートカットをbashスクリプトにリンクする方法は?

Ubuntu 13.04のユーザーとして、この最新バージョンのUbuntuにはさまざまな問題や非互換性がありました。これらの1つは、いくつかのパッケージをインストールした後、「システム設定->輝度とロック」タブから輝度バーが突然消えたということです(実際にそれを覚えていません)。回避策は xbacklight を使用することであることがわかりました。

私自身の練習として、端末からのxbacklightを使用して明るさを簡単に増減するための短いスクリプトを書きました。スクリプトは実行可能(実行の許可があります)で、.bashrcファイルの$ PATHに含まれるディレクトリであり、エイリアスにリンクされています(「blup」は画面の輝度を上げ、「bldn」は画面の明るさを下げます)。したがって、私の2つのエイリアス(blup/bldn)は、端末回線からは完全に正常に機能します。次に、これらをいくつかのキーボードショートカット(たとえばF2/F3)にリンクさせたいと思いました。 「システム設定->キーボード->ショートカット->カスタムショートカット」で設定しましたが、機能しませんでした。

enter image description here

なぜ?

さらに、他の(カスタムではない)キーボードショートカットコマンドが実行される場所と方法を「発見」する方法はありますか?たとえば、ボリュームアップショートカットは、どの端末行を実行するか、どのエイリアスに接続されているか(存在する場合)、どのディレクトリに配置されているか(/ usr/bin、その他...)?

スクリプト作成の初心者として、私はあらゆる種類の助けに感謝します!

ありがとう

P.S.1もちろん、コマンド 'xbacklight -inc/-dec 10'をカスタムキーボードショートカットに貼り付けるだけで、正常に機能します。機会をつかみ、スクリプトの作成と実行についてもう少し知りたいです。

P.S.2私の問題はこれと同じではありません: キーボードショートカットを使用してbashスクリプトを起動するにはどうすればよいですか? 、つまり、「/ home/user /」に「〜/」を使用しません。

8
mario go

まず、エイリアスは非対話型シェルでは展開されません。この意味で、man bashALIASESセクションを読んでください。そのため、カスタムショートカットを追加/編集するときに[コマンド]フィールドでエイリアスを使用することはできません。

次に、 geirhathis comment で述べたように、.bashrcファイルでPATHを変更した場合、その変更は非対話型シェルでは使用できません。そのため、代わりに~/.profileファイルのPATHを変更する必要があります。

3番目に、カスタムショートカットを追加/編集するときに「コマンド」フィールドでbldnのみを使用する場合は、この名前でスクリプトの名前を変更し、~/.profilePATHにスクリプトパスを追加できます上記のとおり、ファイル。

4
Radu Rădeanu