Copie os lançadores de unidade de 14.04 a 16.04

3

Tentando recuperar um monte de arquivos .desktop do Ubuntu 14.04 copiado para 16.04 , mas eles não aparecem no Iniciador.

O seguinte ( /14.04 foi montado no antigo disco / FS do Ubuntu)

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

mas eles não aparecem após o registro de volta para 16.04 . (mesmo usuário / uid em ambas as versões)

Analise /usr/share/applications , mas os arquivos estão no .local dir.

Olhando para a estrutura dos arquivos .desktop em ambas as versões, eles parecem semelhantes.

Mais alguma coisa para verificar / configurar?

Obrigado

    
por Ring Ø 30.09.2016 / 17:30

4 respostas

8

Você precisa adicioná-lo manualmente ao Unity Launcher, não é suficiente apenas colocá-lo na pasta.

  1. navegue até a pasta .local/share/applications no Nautilus (a pasta pode estar oculta, então talvez seja necessário pressionar Ctrl + H )

  2. arraste arquivos .desktop do Nautilus para o Iniciador Unity, ele deve aparecer instantaneamente

por Amias 03.01.2017 / 19:07
3

Você precisa adicioná-los à lista de favoritos do iniciador. Para ler a lista atual:

~$ 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']

Para escrever uma nova lista

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']"

Não tenho certeza se possível ler dconf bd de 14.04 usando chroot , Se seu 14.04 ainda inicializar, inicialize-o e use dconf read ... para obter a lista. Caso contrário, escreva a lista manualmente em ls ~/.local/share/applications .

    
por user.dz 03.01.2017 / 23:00
0

Você verificou se os arquivos * .desktop têm permissão de execução? Eu copiei uma vez (com a opção -p) em 16.04 de / usr / share / applications / para ~ / .local / share / applications /. Os arquivos perderam a permissão de execução. Eu acho que esta é uma situação semelhante.

    
por lilysirius 30.09.2016 / 18:12
0

As respostas atuais fornecem partes e partes da abordagem apropriada. Nessa resposta, gostaria de fornecer uma visão geral mais coerente do que precisa ser feito para portar os arquivos .desktop .

  1. Os aplicativos reais terão que ser instalados no novo sistema. .desktop arquivos são apenas atalhos para esses aplicativos. Se o aplicativo real não estiver instalado, é inútil copiar .desktop arquivos.
  2. De acordo com a política de segurança do Ubuntu, (link link ), os arquivos .desktop que residem na pasta pessoal do usuário precisam ter bit executável definido para executar (também discutido em outra pergunta Ask Ubuntu aqui ). O teste rápido confirma que eles não aderem ao ativador, a menos que o bit executável esteja definido. Sem o bit executável definido, eles não serão executados e o Unity deem esse lançador de aplicativos como não confiável . (Observe que, se o .desktop estiver em cache na memória, ele ainda poderá aparecer no inicializador quando você remover a permissão executável - não se deixe enganar por isso). Use chmod +x file.desktop no terminal ou direito -clique na aplicação e Na aba Permissões, marque a opção "Permitir execução como programa".

    Outro problema em potencial é a propriedade e as permissões de leitura. Se o arquivo pertencer a usuários e grupos diferentes, sem permissões de leitura, você não poderá acessar o arquivo .desktop , portanto, ele não será iniciado nem continuará no Unity Launcher. A solução aqui é sudo chmod +r name.desktop ou chown $USER:$USER name.desktop .

    OBSERVAÇÃO : coloquei tachado as partes que estavam incorretas. Por uma razão muito peculiar, o lançador do Unity se desvia da política de segurança.

  3. Colocar .desktop arquivos em ~/.local/share/applications (como foi revelado nos comentários) não os faz aparecer no iniciador do Unity. Essa pasta é para armazenar seus próprios arquivos .desktop personalizados. Adicionar itens ao lançador do Unity pode ser feito manualmente ou por meio do comando linha com o comando gsetting ou dconf . Existem alternativas abordagens, no entanto. Por favor, veja este post sobre várias maneiras de adicionar .desktop arquivos para o Launcher: link

por Sergiy Kolodyazhnyy 05.01.2017 / 11:00