Чи є спосіб на панелі інструментів LXDE змінити, які програми є в частині швидкого запуску через термінал, щоб її можна було помістити в пакетний файл для зміни на декількох клієнтах?
Чи є спосіб на панелі інструментів LXDE змінити, які програми є в частині швидкого запуску через термінал, щоб її можна було помістити в пакетний файл для зміни на декількох клієнтах?
Відповіді:
Це легко зробити, створивши .desktopфайл для кожної програми, яку ви хочете додати до меню. Це все чітко пояснено у вікі LXDE для головного меню 1 .
Якщо ви хочете, щоб програма відображалася в меню для всіх користувачів системи, додайте файл у каталог /usr/share/applications/. Наприклад, ви можете мати /usr/share/applications/gimp.desktopдля програми gimp. Саме тут пакунки зазвичай створюють свої .desktopфайли і рекомендується.
Якщо ви хочете додати програму до меню конкретного користувача, створіть файл у каталозі $HOME/.local/share/applications/.
Прочитайте деякі наявні .desktopфайли, /usr/share/applications/щоб зрозуміти, як вони працюють. Вони досить прості, але wiki дає коротке пояснення часто використовуваних налаштувань.
Ось трохи змінене пояснення із вікі для цього 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 &.