Средства запуска единицы копии от 14,04 до 16,04

Попытка восстановить набор .desktop файлы из Ubuntu 14.04 скопировали в 16,04, но они не появляются в Средстве запуска.

Сделал следующее (/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 dir.

Рассмотрение структуры .desktop файлы на обеих версиях, они выглядят подобными.

Что-либо еще для проверки / установка?

Спасибо

3
задан 30 September 2016 в 18:30

4 ответа

Необходимо вручную добавить его к Средству запуска Единицы, недостаточно просто поместить его в папку.

  1. обзор к Вашему .local/share/applications папка в Наутилусе (папка могла бы быть скрыта, таким образом, Вы, возможно, должны были бы нажать Ctrl + H )

  2. перетаскивают .desktop файлы с Наутилуса на Средство запуска Единицы, это должно затем появиться немедленно

8
ответ дан 1 December 2019 в 13:06

Необходимо добавить их к списку избранного средства запуска. Прочитать текущий список:

~$ 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.

3
ответ дан 1 December 2019 в 13:06

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

0
ответ дан 1 December 2019 в 13:06

Текущие ответы дают кусочки правильного подхода. В этом ответе я хотел бы предоставить более четкий обзор того, что необходимо сделать для переноса файлов .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 файлов в Launcher: https://askubuntu.com/a/829228/295286

0
ответ дан 1 December 2019 в 13:06

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

Похожие вопросы: