LibreOffice kann in 18.04 nicht auf /tmp-Dateien zugreifen

LibreOffice kann in 18.04 nicht auf /tmp-Dateien zugreifen

Habe gerade LibreOffice 6.0.4.2 in Ubuntu 18.04 installiert.

LibreOffice kann Dateien aus dem Verzeichnis /tmp weder öffnen noch auflisten.

Ich habe über AppArmor-Profile gelesen, Entwickler sprechen über den „erwarteten“ /Home-Anwendungsfall usw., was ich für einen weiteren völligen Unsinn des LibreOffice-Teams halte.

Ich habe versucht, AppArmor zu deaktivieren, aber LibreOffice ließ sich danach nicht einmal öffnen, also habe ich es wieder aktiviert.

Gibt es eine Lösung, damit LibreOffice auf Dateien in allen Ordnern meines Systems zugreifen kann?

Antwort1

Mit 18.04 und früheren LibreOffice-Versionen hatte ich dieses Problem nicht. Aber jetzt habe ich es mit Ubuntu 20.04 und LibreOffice 6.4.

Nach einiger Recherche fand ich heraus, dass es sich um ein Berechtigungsproblem handelt. In Ubuntu 20.04 haben Apps, einschließlich LibreOffice, keinen Lesezugriff auf den Ordner/tmpwo Anwendungen (wie Firefox) temporäre Dateien ablegen. Übrigens tritt dasselbe Problem auf, wenn Sie versuchen, eine beliebige Datei aus dem Web mit der ihr zugewiesenen Anwendung direkt in Firefox zu öffnen, ohne sie vorher herunterzuladen (versuchen Sie beispielsweise, in Firefox eine im Web gespeicherte .deb-Datei mit dem Software Installer zu öffnen).

Eine Möglichkeit, dieses Problem zu lösen, besteht darin, die Dateien zuerst herunterzuladen und erst dann zu öffnen. Das ist jedoch ärgerlich.

Eine andere Möglichkeit besteht darin, das temporäre Verzeichnis im/Heimanwender/Verzeichnis. Dies hat den Vorteil, dass der Platzbedarf auf dem/Verzeichnis, ohne die Sicherheit zu gefährden.

Das temporäre Verzeichnis wird durch die Umgebungseinstellung TMPDIR gesteuert. Ich habe die vorgeschlagene Lösung verwendetHiervonWahreDualität.

  1. Überprüfen Sie, wo sich Ihr aktuelles temporäres Verzeichnis befindet:
echo $TMPDIR

oder

mktemp -u

Es sollte ungefähr so ​​aussehen:/tmp/tmp.zrBHbp0Yt0

  1. Bearbeiten der Datei/etc/Profil
sudo gedit /etc/profile
  1. Fügen Sie den folgenden Code an:
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. Neustart

  2. Überprüfen Sie, ob Ihr temporäres Verzeichnis Ihrem/Heimanwender/Verzeichnis

echo $TMPDIR

Diesmal sollte die Rückgabe etwa so lauten:/home/Benutzer/tmp/nrXo, was darauf hinweist, dass das temporäre Verzeichnis neu zugewiesen wurde.

Bemerkungen:

  • An diesem Punkt sollte das Problem gelöst sein und Sie sollten in der Lage sein, beispielsweise eine Datei direkt aus Firefox zu öffnen (anstatt sie zuerst herunterzuladen). Die Datei wird im schreibgeschützten Modus geöffnet.
  • NUR WENN der letzte Schritt (5) bestätigt, dass das Temp-Verzeichnis nun korrekt neu zugewiesen wurde, können Sie sich Sorgen machen, dass die neue /tmp-Datei endlos wächst. Um dieses Problem zu beheben, müssen wir sicherstellen, dass die Datei am Ende der Sitzung gelöscht wird. Wenn der vorherige Schritt jedoch nicht ordnungsgemäß abgeschlossen wurde, Sie sich mit Root-Anmeldeinformationen anmelden und mit dem nächsten Schritt fortfahren, kann dies zu Problemen führen.

VORSICHTIG!

sudo gedit ~/.bash_logout

Fügen Sie die folgenden Zeilen hinzu:

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

speichern. schließen und neu starten.

verwandte Informationen