
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.
- Ü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
- Bearbeiten der Datei/etc/Profil
sudo gedit /etc/profile
- 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
Neustart
Ü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.