Як я можу додавати програми до панелі запуску програми lxpanel через cli?


11

Чи є спосіб на панелі інструментів LXDE змінити, які програми є в частині швидкого запуску через термінал, щоб її можна було помістити в пакетний файл для зміни на декількох клієнтах?


Я можу підтвердити відповідь Страйнджера, з Джессі на Pi3 файли на робочому столі знаходяться всередині / usr / share / raspi-ui-overrides / applications / У момент, коли я скопіював eclipse.desktop з / usr / share / applications /, в додатку з'явився значок Налаштування Bar Launch, і я зміг додати його до панелі запуску.
Іштван Арань

Відповіді:


17

Це легко зробити, створивши .desktopфайл для кожної програми, яку ви хочете додати до меню. Це все чітко пояснено у вікі LXDE для головного меню 1 .

* .desktop Розташування

Якщо ви хочете, щоб програма відображалася в меню для всіх користувачів системи, додайте файл у каталог /usr/share/applications/. Наприклад, ви можете мати /usr/share/applications/gimp.desktopдля програми gimp. Саме тут пакунки зазвичай створюють свої .desktopфайли і рекомендується.

Якщо ви хочете додати програму до меню конкретного користувача, створіть файл у каталозі $HOME/.local/share/applications/.

*. Налаштування дескриптора

Прочитайте деякі наявні .desktopфайли, /usr/share/applications/щоб зрозуміти, як вони працюють. Вони досить прості, але wiki дає коротке пояснення часто використовуваних налаштувань.

Ось трохи змінене пояснення із вікі для цього warsow.desktopфайлу. Фактичні параметри є жирним шрифтом.

  • [Desktop Entry] - означає, що цей файл є * .desktop файлом
  • Кодування = UTF-8 - використовується кодування UTF-8
  • Exec = warsow - шлях двійкового чи сценарію, який використовується для запуску програми
  • Icon = / home / USER / my / icons / wsw-icon_80x80.png - шлях до значка для запису
  • Тип = Додаток - файл на робочому столі запускає програму
  • Terminal = false - програма не працюватиме в терміналі
  • Name = Warsow - відображається ім'я в меню
  • GenericName = warsow - опис запису
  • StartupNotify = false - Повідомлення про запуск вимкнено
  • Категорії = Гра - визначає категорії, в яких буде розміщено запис у меню (декілька категорій вказані крапкою з комою між ними, наприклад, «Гра; Освіта»)

Додавання програми до панелі запуску програми

Якщо ви створили .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 &


1
Питання полягало в тому, як додати речі до запуску програм через термінал, я вже не маю додати речі до меню "Пуск"
Jhondoe

1
Відповідь відредаговано. Файли вам все одно знадобляться, .desktopі не забудьте оновити панель для появи змін.
iyrin

Виберіть це як відповідь.
ійрін

2
Для Jessie на Pi 3 файли .desktop знаходяться в / usr / share / applications / та / / usr / share / raspi-ui-overrides / applications / Файл Panel повинен відображати фактичне розташування. Або буде працювати, але я підозрюю, що останній спосіб - це робити. sudo mv копії файлу .desktop отримає версію в обох місцях.
Шлях до незнайомця

2
Для перезавантаження панелі на Raspbian команда є lxpanel -p LXDE-pi &.
Френк Брейтлінг
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.