...этот десктоп-файл находится /opt/viber/viber
Тебе видней, что и где у тебя находится, но вряд-ли.
Вибера у меня нет и никогда не было, поэтому на примере Гедита.
Чтобы система показала программу в меню программ, десктоп-файл должен быть в /usr/share/applications (системные десктоп-файлы) или в ~/.local/share/applications (пользовательские десктоп-файлы).
Для автозапуска используется десктоп-файл из /etc/xdg/autostart (системный) или ~/.config/autostart (пользовательский).
На скриншоте. Запущен Гедит, с открытым его-же десктоп-файлом. Файл я отредактировал, убрал лишнее, чтобы не мешалось.
ПКМ на панели, на иконке Гедит, открывает контекстное меню. В нем видим "New Window" и "New Document". Это и есть квиклист.
Смотрим в коде десктоп-файла.
[Desktop Entry] - этот блок определяет основную команду и основной вид ярлыка.
Name - название, это ты увидишь в меню программ.
Comment - это ты увидишь во всплывающей подсказке.
Exec - команда, которая выполнится при ЛКМ.
Type - это приложение.
Icon - иконка этого ярлыка.
Categories - в каких подразделах меню программ будет показан этот пункт.
Actions - квиклист, перечисление дополнительных действий, видим здесь "new-window", вторую я заменил на "killviber"
Дальше идут блоки, описывающие дополнительные действия.
[Desktop Action new-window] - этот блок описывает действие "new-window" из строки "Actions=..."
Name - это название видим в контекстном меню, открываемом ПКМ.
Exec - команда, которая выполнится, при выборе ее в контекстном меню, я вписал сюда запуск Вибера с dbus, теперь она будет запускать Вибер.
[Desktop Action killviber] - этот блок описывает действие "killviber" из строки "Actions=..."
Name - это название видим в контекстном меню, открываемом ПКМ.
Exec - вписал команду закрытия Вибера.