web-dev-qa-db-ja.com

CLIを介してlxpanelアプリケーションの起動バーにアプリケーションを追加するにはどうすればよいですか?

LXDEツールバーで、クイック起動部分にあるアプリケーションをターミナル経由で変更して、複数のクライアントで変更できるようにバッチファイルに入れる方法はありますか?

11
Jhondoe

これは、メニューに追加するアプリケーションごとに.desktopファイルを作成することで簡単に実行できます。これはすべて、メインメニューのLXDEウィキで明確に説明されています 1

* .desktopの場所

アプリケーションをシステム上のすべてのユーザーのメニューに表示する場合は、ファイルをディレクトリ/usr/share/applications/に追加します。たとえば、gimpアプリケーション用の/usr/share/applications/gimp.desktopがあるとします。これは、パッケージが通常.desktopファイルを作成する場所であり、推奨されます。

特定のユーザーのメニューにアプリケーションを追加する場合は、$HOME/.local/share/applications/ディレクトリにファイルを作成します。

* .desktop設定

.desktopにある既存の/usr/share/applications/ファイルを読んで、それらがどのように機能するかを理解してください。それらはかなり単純ですが、wikiは一般的に使用される設定の簡単な説明を提供します。

Wikiのwarsow.desktopファイルについて少し変更した説明を次に示します。実際の設定は太字で示しています。

  • [Desktop Entry]-このファイルが* .desktopファイルであることを示します
  • Encoding = UTF-8-UTF-8エンコーディングが使用されます
  • Exec = warsow-プログラムの起動に使用されるバイナリまたはスクリプトのパス
  • Icon =/home/USER/my/icons/wsw-icon_80x80.png-エントリのアイコンへのパス
  • Type = Application-デスクトップファイルがアプリケーションを開始しています
  • Terminal = false-プログラムはターミナルで実行されません
  • Name = Warsow-メニューに表示される名前
  • GenericName = warsow-エントリの説明
  • StartupNotify = false-起動通知がオフになります
  • Categories = Game-エントリがメニューに配置されるカテゴリを指定します(複数のカテゴリは、セミコロンで区切って指定されます。例: 'Game;教育')

アプリケーション起動バーへのアプリケーションの追加

.desktopファイルを作成したか、アプリケーションのインストール時に作成した場合は、アプリケーションをlxpanel内の起動バーに追加できます。パネルの設定は、プロファイルディレクトリにあります。たとえば、パネルの1つが$HOME/.config/lxpanel/LXDE/panels/panelにあるとします。

vim ~/.config/lxpanel/LXDE/panels/panelでファイルを編集すると、ランチバープラグインと設定が追加された場所を確認できます。プラグインがまだパネルに追加されていない場合は、ユーザーごとにプラグインを追加する必要があります。起動バープラグインは、このファイルに表示されるのと同じ順序でパネルに表示されます。

さらに、Button構成をidパスとともに.desktopファイルに追加して、起動バー内に表示するアプリケーションごとに追加する必要があります。これがどのように見えるかの例です。

Plugin {
    type = launchbar
    Config {
        Button {
            id=pcmanfm.desktop
        }
        Button {
            id=/var/lib/menu-xdg/applications/menu-xdg/X-Debian-Applications-Network-File-Transfer-transmission_bittorrent_client_(gtk).desktop
        }
        Button {
            id=/usr/share/applications/gimp.desktop
        }
        Button {
            id=/var/lib/menu-xdg/applications/menu-xdg/X-Debian-Applications-Terminal-Emulators-gnome_terminal.desktop
        }
        Button {
            id=/usr/share/applications/gedit.desktop
        }
        Button {
            id=/usr/share/applications/gcalctool.desktop
        }
        Button {
            id=/usr/share/applications/keepassx.desktop
        }
    }
}

パネルの更新

Wikiには、lxpanelを再起動して変更を確実に更新するための便利なスクリプトも用意されています。

#!/bin/bash

# lxpanel processes must be killed before it can reload an lxpanel profile.
killall lxpanel
# Finds and deletes cached menu items to ensure updates will appear.
find ~/.cache/menus -name '*' -type f -print0 | xargs -0 rm
# Starts lxpanel with the `--profile` option and runs as a background process.
# In this example the profile is LXDE. Profiles are the directories located 
# in $HOME/.config/lxpanel/. In this case, $HOME/.config/lxpanel/LXDE.
lxpanel -p LXDE &

ターミナルでlxpanelコマンドを実行している場合は、ターミナルが閉じているときにlxpanelプロセスが強制終了しないように、Nohupを使用することをお勧めします。 Nohup lxpanel -p LXDE &

17
iyrin