O LibreOffice não pode acessar arquivos /tmp em 18.04

O LibreOffice não pode acessar arquivos /tmp em 18.04

Acabei de instalar o LibreOffice 6.0.4.2 no Ubuntu 18.04.

O LibreOffice não pode abrir (nem listar) arquivos do diretório /tmp.

Eu li sobre perfis do AppArmor, desenvolvedores falando sobre o caso de uso "esperado" /home, etc., o que considero apenas mais um absurdo completo da equipe do LibreOffice.

Tentei desabilitar o AppArmor, mas o LibreOffice nem abriu depois disso, então reativei-o.

Existe uma solução para que o LibreOffice possa acessar arquivos em qualquer pasta do meu sistema?

Responder1

Não tive esse problema com o 18.04 e o LibreOffice anterior. Mas estou tendo isso agora com Ubuntu 20.04 e LibreOffice 6.4.

Depois de um pouco de pesquisa, descobri que é um problema de permissão. No Ubuntu 20.04, os aplicativos, incluindo o LibreOffice, não têm acesso de leitura à pasta/tmponde aplicativos (como Firefox) colocam arquivos temporários. A propósito, você terá o mesmo problema se tentar abrir diretamente qualquer arquivo da web com seu aplicativo atribuído, diretamente no Firefox, sem baixá-lo primeiro (por exemplo, tente abrir no Firefox um arquivo .deb armazenado na web com o Software Installer) .

Uma forma de resolver isso é baixar primeiro os arquivos e, só depois, abri-los. Mas isso é irritante.

Outra forma é reatribuir o diretório temporário no/home/usuário/diretório. Isto tem a vantagem de diminuir a necessidade de espaço no/diretório sem comprometer a segurança.

O diretório temporário é controlado pela configuração do ambiente TMPDIR. Usei a solução propostaaquiporTrueDualidade.

  1. Verifique onde está seu diretório temporário atual:
echo $TMPDIR

ou

mktemp -u

Deveria ser algo parecido com:/tmp/tmp.zrBHbp0Yt0

  1. Edite o arquivo/etc/perfil
sudo gedit /etc/profile
  1. Anexe o seguinte código:
if [[ -O /home/$USER/tmp && -d /home/$USER/tmp ]]; then
        TMPDIR=/home/$USER/tmp
else
        # You may wish to remove this line, it is there in case
        # a user has put a file 'tmp' in there directory or a
        rm -rf /home/$USER/tmp 2> /dev/null
        mkdir -p /home/$USER/tmp
        TMPDIR=$(mktemp -d /home/$USER/tmp/XXXX)
fi

TMP=$TMPDIR
TEMP=$TMPDIR

export TMPDIR TMP TEMP
  1. reinício

  2. verifique se o seu diretório temporário foi reatribuído ao seu/home/usuário/diretório

echo $TMPDIR

Desta vez, o retorno deverá ser algo como:/home/usuário/tmp/nrXo, mostrando que o diretório temporário foi reatribuído.

Observações:

  • neste ponto, o problema deve estar resolvido e você poderá fazer coisas como abrir diretamente um arquivo do Firefox (em vez de baixá-lo primeiro). O arquivo será aberto em modo somente leitura.
  • SOMENTE SE a última etapa (5) confirmar que o diretório temporário foi reatribuído corretamente, você poderá se preocupar com o novo arquivo /tmp crescendo indefinidamente. Para corrigir este problema, precisamos ter certeza de que ao final da sessão o arquivo seja excluído. No entanto, se a etapa anterior não foi concluída corretamente, faça login com credenciais root e prossiga para a próxima etapa, isso pode criar problemas.

CUIDADOSO!

sudo gedit ~/.bash_logout

adicione as seguintes linhas:

if [ -O $TMPDIR && -d $TMPDIR ]; then
        rm -rf $TMPDIR/*
fi

salvar. feche e reinicie.

informação relacionada