Копирование Unity Launchers с 14.04 по 16.04

Пытаясь восстановить кучу .desktop файлы из Ubuntu 14.04 скопированы в 16.04, но они не отображаются в Launcher.

Сделал следующее (/14.04 монтируется на старый диск Ubuntu / FS)

cd ~/.local/share/applications
cp -pr /14.04/home/ring0/.local/share/applications/[bunch-of].desktop .

но они не появляются после входа в систему 16.04. (один и тот же пользователь / uid в обеих версиях)

Посмотрел на /usr/share/applications, но файлы находятся в .local реж.

Глядя на структуру .desktop Файлы в обеих версиях выглядят одинаково.

Что-нибудь еще, чтобы проверить / настроить?

Спасибо

4 ответа

Решение

Вам нужно вручную добавить его в Unity Launcher, недостаточно просто поместить его в папку.

  1. перейдите к вашему .local/share/applications папка в Nautilus (папка может быть скрыта, поэтому вам может понадобиться нажать Ctrl+H)

  2. тащить, тянуть .desktop файлы из Nautilus в Unity Launcher, он должен появиться мгновенно

Вы должны добавить их в список избранного Launcher. Чтобы прочитать текущий список:

~$ dconf read /com/canonical/unity/launcher/favorites
['application://nautilus.desktop', 'application://firefox.desktop', 'application://libreoffice-writer.desktop', 'application://unity-control-center.desktop', 'application://gnome-terminal.desktop', 'unity://running-apps', 'unity://expo-icon', 'unity://devices']

Написать новый список

dconf write /com/canonical/unity/launcher/favorites "['application://nautilus.desktop', 'application://firefox.desktop', 'application://libreoffice-writer.desktop', 'application://unity-control-center.desktop', 'application://gnome-terminal.desktop', 'unity://running-apps', 'unity://expo-icon', 'unity://devices']"

Не уверен, если можно прочитать dconf дБ 14.04 с использованием chroot, Если ваш 14.04 все еще в состоянии загрузки, загрузите его, затем используйте dconf read ... чтобы получить список. В противном случае напишите список вручную из ls ~/.local/share/applications,

Текущие ответы дают кусочки правильного подхода. В этом ответе я хотел бы предоставить более последовательный обзор того, что необходимо сделать для переноса .desktop файлы.

  1. Актуальные приложения должны быть установлены в новой системе. .desktop файлы являются просто ярлыками для этих приложений. Если само приложение не установлено, копировать его бессмысленно .desktop файлы.
  2. Согласно политике безопасности Ubuntu (ссылка https://wiki.ubuntu.com/SecurityTeam/Policies), .desktop файлы, находящиеся в домашней папке пользователя, должны иметь установленный исполняемый бит для запуска (также обсуждается здесь другой вопрос Ask Ubuntu). Быстрый тест подтверждает, что они не придерживаются модуля запуска, если только не установлен исполняемый бит. Без установленного исполняемого бита они не будут работать, и Unity сочтет такой модуль запуска приложений ненадежным. (Обратите внимание, что если .desktop кэшируется в памяти, он все равно может появиться на панели запуска, когда вы удаляете разрешение на выполнение - не обманывайте себя). использование chmod +x file.desktop в терминале или при щелчке правой кнопкой мыши на приложении и на вкладке "Разрешения" установите флажок "Разрешить выполнение в качестве программы".

    Другая потенциальная проблема - права собственности и права на чтение. Если файл принадлежит другому пользователю и группе, без прав на чтение вы не сможете получить доступ .desktop файл, поэтому он не будет запускаться и не будет по-прежнему Unity Launcher. Решением здесь является либо sudo chmod +r name.desktop или же chown $USER:$USER name.desktop,

    ПРИМЕЧАНИЕ. Я зачеркнул детали, которые оказались неправильными. По очень специфической причине пусковая установка Unity отклоняется от политики безопасности.

  3. размещение .desktop файлы в ~/.local/share/applications (как было показано в комментариях) не заставляет их появляться на панели запуска Unity. Эта папка для хранения ваших собственных, пользовательских .desktop файлы. Добавление элементов в панель запуска Unity может быть сделано вручную или через командную строку с gsetting или же dconf команда. Однако существуют альтернативные подходы. Пожалуйста, смотрите этот пост о нескольких способах добавления .desktop файлы для запуска: /questions/249455/ubuntu-1604-kak-dobavit-udalit-zakreplennyie-prilozheniya-v-unity-launcher-chere/249460#249460

Вы проверили, есть ли у файлов *.desktop разрешение на выполнение? Я скопировал один раз (с опцией -p) 16.04 из / usr / share / Applications / в ~/.local/share/ Applications /. Файлы потеряли разрешение на выполнение. Я думаю, что это похожая ситуация.

Другие вопросы по тегам