LoginSignup
3
2

More than 3 years have passed since last update.

PythonやRuby等のスクリプトをUbuntuデスクトップのメニューに追加する - GNOME メニュー編集用ツール alacarte -

Posted at

はじめに

Ubuntu Desktopを使っている人も最近はわりと多いのではないかと思います。そして、PythonやRubyで自分用のスクリプト(GUIを含むもの)を書いて利用している人も少なくないと思います。ここではalacarteというメニュー編集ツールを利用してUbuntuのメニューに、自作のスクリプトを登録する方法を記述します。

alacarte

インストール

sudo apt install alacarte

alacarteを起動したところ ↓

image.png

ここでは、例として、サウンドとビデオの項目にLibUIで作成したtiny_midi_palyer.rb を追加することにします。

左のリストから、サウンドトビデオを選び、新しいアイテムをクリックします。

image.png

Nameを入力します。
Browseをクリックして、Rubyスクリプトを選択します。

image.png

しかし、実はこれだけではうまくいかなかったりします。Ruby ユーザーの多くは rbenv を利用して Ruby をインストールしていると思いますが、こうやってしまうと、rbenv で global にした Ruby ではなく、/usr/bin/ruby が呼ばれてしまいます。~/.bashrc を経由していないのが原因かもしれません。Pythonスクリプトでも似たような問題が発生するかも知れないので気をつけてください。

ここでは原因を突き止めるのは面倒なので、安易な解決策、つまり、rubyのパスをベタ書きすることで対処します。
(shebangを書き換えても動作するかも知れませんが、確かめていません)

/home/kojix2/.rbenv/shims/ruby your_script_name.rb

です。これで無事にアプリが登録されます。

image.png

↑ここから、アイコンを登録することができますが、スキップしても大丈夫です。
きちんと起動できるか確認します。きちんと登録されていれば、アプリが検索できるようになっているはずです。

image.png

うまく起動しました。

image.png

注意点

この記事はここで終了でも良いかもしれませんが、いくつか注意点がありますので書いておきます。

  • 一度登録したメニューはプロパディから編集できないかも知れません。これは、私の環境が悪いのか、ソフトのバグなのかわかりませんが、アイテムを一度作ってしまうと、プロパディからアイテムを編集しても変更が反映されないということがありました。これで1時間ぐらいハマりました。これも原因を詳しく調査していませんがそういうことがあり得るので気をつけてください。

  • 上と関連するのですが、うまくスクリプトのメニューへの登録ができなくて、デバッグのようなことをする場合は、Launch in Terminalに✅を入れて調べることになると思います。これも、一回作成したものをすべて削除して、あたらしくアイテムの追加からやりなおさなければ反映されないケースがあります。気をつけてください。

 この記事ではalacarteを使う方法を紹介しましたが、それ以前には他にも方法があったようですがなくなってしまったようです。理由はわかりませんが、Ubuntuデスクトップのクオリティの高さとは裏腹に、RubyやPythonのようなスクリプトをメニューに登録する方法はあまり整備されていないような印象を受けました。セキュリティの関係でしょうか?また上記に書いたような不具合のようなものも存在します。RubyやPython、Perlといったスクリプト言語でGUIアプリを作成する人が少ないため、整備が遅れているのでしょうか? 少し不思議です。

この記事は以上です。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2