Evince lento devido a apparmor negando o acesso a ~ / .cache sendo um link simbólico

2

Evince mostra documentos em PDF e precisa de fontes.

Contexto: ~/.cache symlinked pelo administrador

O diretório de usuários aqui é dividido entre uma parte "limpa" e uma parte "confusa". A ideia é se preocupar mais com as partes "limpas" (backup etc) e menos com as partes "bagunçadas".

Os usuários ' ~/.cache é um link simbólico para a parte confusa.

Sintoma: início lento

Isso faz com que o evince comece devagar: 20 segundos aguardam antes de qualquer janela aparecer. Depois que a janela aparece, as coisas parecem normais.

Investigação

  • strace mostra que, durante os primeiros 2 segundos, ele tenta acessar arquivos em ~/.cache/fontconfig e /var/cache/fontconfig que falham com EACCESS
  • , em seguida, ele passa cerca de 18 segundos enumerando dados em /usr/share/fonts
  • ~/.cache/fontconfig é legível e gravável pelo usuário, /var/cache/fontconfig não existe.

Interpretação

Questões semelhantes (por exemplo, Evince ... (Permissão negada) - Pergunte ao Ubuntu ) sugerir strongmente que o AppArmor está envolvido.

Como corrigir?

por Stéphane Gourichon 21.03.2017 / 13:19

1 resposta

1

Isso é resolvido imediatamente modificando /etc/apparmor.d/abstractions/fonts para incluir uma linha como esta:

/complete/template/path/to/userdirs/*/.cache/fontconfig          r,

Isso se aplica a todos os usuários ( * estando na parte do caminho que é o login do usuário).

Isso parece correto. É?

    
por Stéphane Gourichon 21.03.2017 / 13:19