Есть ли способ на панели инструментов LXDE изменить приложения, которые находятся в части быстрого запуска через терминал, чтобы их можно было поместить в пакетный файл для изменения на нескольких клиентах?
Есть ли способ на панели инструментов LXDE изменить приложения, которые находятся в части быстрого запуска через терминал, чтобы их можно было поместить в пакетный файл для изменения на нескольких клиентах?
Ответы:
Это можно легко сделать, создав .desktopфайл для каждого приложения, которое вы хотите добавить в меню. Все это четко объяснено в вики LXDE для главного меню 1 .
Если вы хотите, чтобы приложение отображалось в меню для всех пользователей системы, добавьте файл в каталог /usr/share/applications/. Например, вы можете иметь /usr/share/applications/gimp.desktopдля приложения gimp. Это где пакеты обычно создают свои .desktopфайлы и рекомендуется.
Если вы хотите добавить приложение в меню определенного пользователя, создайте файл в каталоге $HOME/.local/share/applications/.
Прочитайте некоторые из ваших существующих .desktopфайлов, /usr/share/applications/чтобы понять, как они работают. Они довольно просты, но в вики дается краткое объяснение часто используемых настроек.
Вот немного измененное объяснение из вики для warsow.desktopфайла. Фактические настройки выделены жирным шрифтом.
Если вы создали .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
}
}
}
В вики даже есть удобный скрипт для перезапуска 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 &
.desktopфайлы, и не забудьте обновить панель для появления изменений.
lxpanel -p LXDE-pi &.