
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.
- Verifique onde está seu diretório temporário atual:
echo $TMPDIR
ou
mktemp -u
Deveria ser algo parecido com:/tmp/tmp.zrBHbp0Yt0
- Edite o arquivo/etc/perfil
sudo gedit /etc/profile
- 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
reinício
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.