EDIT (30 de agosto de 2017):
Antes de tentar a solução abaixo e se as outras respostas não funcionaram, tente isto:
$ sudo chown -R (nome_do_usuário) / home / (nome_do_usuário) /. local /
Por alguma razão, eu tive esse problema novamente depois de atualizar o Ubuntu 17.04, então eu considerei e tentei as outras respostas e eles realmente não funcionaram (não porque eles esqueceram o "." em "~ / .local /..."(agora, estou usando o 17.04) mas como mudar o modo e propriedade de "./local/share/gvfs-metadata/home" não funcionou, muito provavelmente não foi o arquivo correto. Eu coloquei isso aqui em vez de editar sua resposta porque pode ser diferente nas versões anteriores do Ubuntu e, infelizmente, ainda não tenho permissão para comentar. Eu decidi chown e chmod todo o diretório "~ / .config" sem sucesso, então, depois de considerar as outras respostas e comentários, eu tentei chown e chmod todo o diretório "~ / .local", testando o resultado depois de cada passo, e notei que funcionou imediatamente, assim como eu fiz a chown. Nenhum chmod necessário. Poderia ser apenas a minha configuração estranha, mas tente de qualquer maneira, porque se funcionar, você não estará enfraquecendo sua segurança ou alterando todo o seu diretório pessoal, e consertará quaisquer outros arquivos de configuração necessários para o cliente desktop, se houver algum. Espero que isso ajude.
== END OF EDIT. ==
Eu fiz isso,
$ sudo chown -R (UserName) /home/(UserName)
$ sudo chmod -R 766 /home/(UserName)
O primeiro comando garante que o nome de usuário mencionado (neste caso, você) possua todos os arquivos no diretório /home/(UserName)
.
O segundo comando garante que você, o proprietário, tenha permissões completas (leia, escrever, executar) nesses arquivos, e todos os outros leram e gravaram, o que permite que o programa de área de trabalho grave no arquivo de configuração. Não precisa ser 777 ou 766 (leia a edição na parte inferior). Pode ser 666 se você quiser, o 766 apenas lhe dá permissões de execução, apenas para garantir que os arquivos de configuração possam ser sobrescritos e lidos.
O motivo pelo qual isso funciona é porque o programa da área de trabalho é executado como qualquer usuário que você faça login, não é root . Se esse usuário não possuir os arquivos de configuração ou tiver acesso de gravação a eles, toda vez que você atualizar a área de trabalho ou reinicializar, porque os arquivos antigos não podem ser sobrescritos, ela recarregará a configuração antiga (como as configurações da área de trabalho, os ícones da área de trabalho, etc.). Ao executar esses comandos, você se dá a propriedade e o controle total sobre esses arquivos e, como o programa da área de trabalho é executado como seu usuário, ele também poderá substituir, fazer o que precisa fazer com esses arquivos.
Além disso, esses comandos fornecem o diretório pessoal do usuário (/ home / (UserName)) e todos os subdiretórios escrevem / criam privilégios também, permitindo que o usuário e o programa da área de trabalho criem esses arquivos caso não existam. Se esses arquivos não existirem e não forem criados, o programa da área de trabalho gerará um novo layout sempre que for atualizado ou reiniciado. Esses comandos devem garantir a você acesso total a todos os subdiretórios e o programa da área de trabalho deve agora ser capaz de criar esses arquivos e salvar seu layout.
Edit: Quando você usa o comando chmod, você não precisa torná-lo legível / gravável / executável (777), de fato, você realmente não deveria, a menos que você precise, especialmente se você tiver um multiusuário máquina. Foi meu erro sugerir originalmente o 777 e, portanto, editei minha resposta para ler 766, não 777. Você pode usar o que quiser, mas só precisa garantir que possa gravar e ler todos e quaisquer arquivos de configuração. necessário para o programa de desktop e qualquer outro software para trabalhar.
Algo para lembrar ... Segurança e conveniência (ou funcionalidade) geralmente não se misturam.