如何通过 cli 将应用程序添加到 lxpanel 应用程序启动栏?

如何通过 cli 将应用程序添加到 lxpanel 应用程序启动栏?

LXDE 工具栏上有没有办法通过终端更改快速启动部分上的应用程序,以便可以将其放入批处理文件中以在多个客户端上进行更改?

答案1

.desktop通过为要添加到菜单的每个应用程序创建一个文件,可以轻松完成此操作。这一切在 LXDE wiki 的主菜单中都有清楚的解释1

*.桌面位置

如果您希望应用程序出现在系统上所有用户的菜单中,请将该文件添加到目录中/usr/share/applications/。例如,您可能有/usr/share/applications/gimp.desktopgimp 应用程序。这是软件包通常创建.desktop文件的地方,建议这样做。

如果要将应用程序添加到特定用户的菜单,请在目录中创建该文件$HOME/.local/share/applications/

*.桌面设置

阅读一些现有.desktop文件以/usr/share/applications/了解它们的工作原理。它们相当简单,但 wiki 提供了常用设置的简要说明。

这是 wiki 对该warsow.desktop文件的稍微修改的解释。实际设置以粗体显示。

  • [桌面入口]- 表示该文件是*.desktop文件
  • 编码=UTF-8- 使用UTF-8编码
  • 执行=warsow- 用于启动程序的二进制文件或脚本的路径
  • 图标=/home/USER/my/icons/wsw-icon_80x80.png- 条目图标的路径
  • 类型=应用- 桌面文件正在启动应用程序
  • 终端=假- 该程序不会在终端中运行
  • 名称=华沙- 菜单中显示的名称
  • 通用名称=warsow- 条目描述
  • 启动通知=假- 启动通知已关闭
  • 类别=游戏- 指定条目将放置在菜单中的类别(多个类别之间用分号指定,例如“游戏;教育”)

将应用程序添加到应用程序启动栏

如果您已创建.desktop文件或在安装应用程序时创建了文件,则可以将应用程序添加到 lxpanel 内的启动栏。面板的配置位于配置文件目录中。例如,您的面板之一可能位于$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如果您在终端中运行该命令,我建议使用nohup,这样在终端关闭时它不会终止 lxpanel 进程。 nohup lxpanel -p LXDE &

相关内容