Чи є спосіб на панелі інструментів 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 &
.