Ich habe kürzlich erfahren, dass es einen riesigen Stapel an Dokumentation gibt /usr/share/doc
.
Es scheint, als ob ein Großteil davon gzippt ist, so dass es ohne Administratorrechte nicht direkt zugänglich ist:
$ gunzip examples/letter.tex.gz
gzip: examples/letter.tex: Permission denied
Eine Lösung hierfür wäre, dass jeder Benutzer jedes Element in seinem Ausgangsverzeichnis dupliziert, um es nur zu lesen. Diese Anordnung scheint jedoch dem regelmäßigen Durchsuchen kaum förderlich zu sein.
Wie lesen normale Leute diese Dokumentation?
Ich bin nicht geneigt zu glauben, dass von einem typischen Benutzer erwartet wird, dass er einen Webserver installiert und wartet, nur um die lokale Textdokumentation zu lesen.
documentation
usability
ændrük
quelle
quelle
/usr/share/doc
Allgemeinen und mit besonderem Augenmerk darauf, dass ein Großteil davon in einem komprimierten Format gespeichert ist. Sollte es eine Dokumentation geben, die als nicht gesetztes LaTeX gespeichert ist, muss ich sie erst noch finden. Das Beispiel, auf das ich oben verwiesen habe, ist eine LaTeX-Vorlage aus dem Pakettexlive-latex-extra-doc
.Antworten:
Das meiste wurde von jgbelacqua für den Einsatz im Terminal gesagt und sehr schön erklärt . Fügen Sie dies einfach für Personen hinzu, die sich in einem Desktop-Manager befinden:
Von einem grafischen Desktop (hier GNOME) aus können Sie Dokumente am einfachsten lesen,
/usr/share/doc
indem Sie mit Ihrem Standardarchivmanager (hier File Roller) auf die komprimierten Dateien (Doppelklick) klicken, um sie zu öffnen und einzulesen Ihr Standardeditor (hier Gedit). Es sind keine Schreibrechte erforderlich, solange Sie die Dateien nicht entpacken.quelle
Hier gibt es mindestens zwei Probleme:
Für die Nummer 1 gibt es eine Reihe von Anwendungen, die die komprimierten Dateien nahtlos verarbeiten. Ein Paar, das Sie gebrauchen könnten, sind
less
undvim
.view
ist ein Alias fürvim -R
, der nur sagt, dass die Datei schreibgeschützt geöffnet werden soll.Früher, bevor less auf meinem System installiert war, verwendete ich
gzcat
die Ausgabe und leitete sie an ein anderes Dienstprogramm weiter. Anscheinend heißt es erstzcat
jetzt auf Ubuntu, aber du würdest es so benutzen, zB:zcat ist weiterhin verfügbar. In einigen Fällen kann es hilfreich sein, komprimierte Inhalte an einen anderen Ort zu leiten. (Für Situationen mit .bz2-Dateien
bzcat
ist verfügbar.)Für # 2 befinden sich alle Dateien, die ich unter / usr / share / doc gesehen habe, in Verzeichnissen mit anderen + rx-Berechtigungen, was bedeutet, dass alle Benutzer die Verzeichnisse durchsuchen (z. B. Inhalte auflisten) und Dateien darin lesen können. Was Sie nicht tun können (da standardmäßig nur root über Schreibrechte verfügt), ist das Erstellen von Dateien. Da Sie versuchen, in dieses Verzeichnis zu entpacken, wird Ihnen vermutlich die Berechtigung verweigert, da Sie standardmäßig Lese-, aber keine Schreibberechtigungen haben.
Bei # 3 verwenden Sie vermutlich mehr .tex-Dateien als ich. Aber hier ist eine Möglichkeit, mit ihnen umzugehen, ohne sie nach Hause oder in eine temporäre Datei zu kopieren. Zu diesem Zweck erstellen Sie eine Named Pipe, die Sie jedoch für Ihre anderen Tex-Piping- und Verarbeitungsanforderungen wiederverwenden können. Es sollte so gehen:
pipey
)Sie können diese Schritte natürlich ändern, wenn Sie andere oder bessere Dienstprogramme als die hier beschriebenen verwenden.
In meinem Beispiel wird das
mkfifo
Dienstprogramm zum Erstellen der Named Pipe verwendetpipey
. Die zu verarbeitende Zieldatei ist/usr/share/doc/gdb/refcard.tex.gz
. Sie benötigen zwei Shell-Befehlszeilen (über Terminal, Alt + F2 oder aber).Sie geben Terminal eins ein:
mkfifo pipey
Sie haben jetzt eine permanente Named Pipe. Hier können Sie
ls -l
einen Blick darauf werfen.zcat /usr/share/doc/gdb/refcard.tex.gz | tex > pipey
Beachten Sie, dass dieser Befehl erst zurückgegeben wird, wenn Sie etwas mit der Ausgabe an der Named Pipe tun.
Jetzt geben Sie in Terminal zwei Folgendes ein:
tex pipey | xdvi
Und es funktioniert (naja, hier sowieso). Der Prozess kann für eine schönere Ausgabe verfeinert werden. Wenn Sie jedoch schnell und relativ unkompliziert arbeiten möchten, können Sie dies auf diese Weise tun.
quelle
<Directory "/usr/share/doc/">
Verzeichnisdeklaration hinzu (normalerweise in/etc/apache2/sites-enabled/000-default
), und ich glaube, dass die Dekomprimierung von den Browsern selbst vorgenommen wird. (AddEncoding x-gzip gz tgz
undAddType text/plain .gz
).less
. Dies hat den zusätzlichen Vorteil, dass es standardmäßig auf jedem modernen * nix-System installiert wird. Für den Benutzer, der weiß, dass die Dateien vorhanden sind und mehr als ein paar Mal im Jahr darauf verweisen möchte, klingt die Installation von so etwas wie dwww nach einer großartigen Lösung. Zur Not erinnere ich mich vielleicht nicht an dwww, aber ich werde mich an grundlegende Befehle wie 'less' erinnern. Oder, wie Takkat sagte, Nautilus / Fileroller / etc ..Vielleicht ist das zu spät, um zu antworten, aber ich habe die beste Lösung gefunden (sowohl einfache Bedienung als auch Vollständigkeit)
Aktivieren Sie das CGI-Modul, das in den letzten Ubuntu / Apache-Versionen nicht mehr standardmäßig aktiviert ist:
Öffnen Sie Ihren Browser und zeigen Sie auf: http: // localhost / dwww /
Getan!
Alle Ihre
info
Seiten,man
Seiten,/usr/share/doc
Dateien und Paketbeschreibungen an einem Ort! Ihre persönliche Dokumentationswebsite!quelle
gunzip file.gz
Versuche zum Dekomprimierenfile.gz
auffile
, das Entfernenfile.gz
. Aus diesem Grund erhalten Sie die Fehlermeldung "Erlaubnis verweigert", Sie dürfen nicht schreiben/usr/share/doc
. Verwenden Siegunzip -c file.gz
oder, um den Inhalt einer Datei abzurufenzcat file.gz
.Das Lesen von gzip-komprimierten Textdateien kann mit erfolgen
zless
. Wie der Name vermuten lässt, handelt es sich nurless
um gzip-komprimierte Dateien.Anwendungsbeispiel:
Das
.gz
Suffix kann auch weggelassen werden:quelle
zless
, wieless
das automatisch gehandhabt wird.LESSOPEN
und zu tunLESSCLOSE
.Installieren Sie zuerst apache2
apache2-doc
ist der Sonderfall hier. Sie können Ihre Dokumentation/usr/share/doc/
über Ihren Webbrowser durchsuchen . herhttp://localhost/doc/
.Das klappt aber nicht richtig. Sie müssen die Konfiguration von Apache ändern, damit die * .gz-Dateien dekomprimiert und als einfacher Text angezeigt werden.
Ich habe auf Stack Overflow gepostet , um eine Möglichkeit zu finden, mit Apache den Inhalt von * .gz-Dokumenten im
/usr/share/doc/
Verzeichnis anzuzeigen . Dies ist, was als mögliche Lösung gebucht wurde.Hier sind diese Anweisungen in Kürze. Hier erfahren Sie, wie Apache mit .gz-Dateien umgeht, um sie als Nur-Text-Dateien zu verarbeiten und als Nur-Text-Dateien an den Browser zu senden.
Gehen Sie zum Ende der Datei und suchen Sie den Abschnitt mit
Alias /doc/ "/usr/share/doc/"
und ändern Sie ihn so, dass er so aussieht.Dann starte Apache neu:
quelle
AddEncoding x-gzip gz tgz AddType text/plain .gz
meinen<Directory "/usr/share/doc/">
Eintrag gerade ergänzt und glaube, dass die Dekomprimierung tatsächlich auf der Clientseite erfolgt.yelp
vielleicht?) Hatte jeden Ausweg der Box die Dokumentation zu lesen.sudo service apache2 restart
aus Gründen der Standardisierung auf geändert . Last but not least, sein Reades bewusst Hinter "/": es muss sein localhost / doc / , localhost / doc wird nicht funktionieren.Sie sollten keine .tex-Dateien lesen! Es ist in einem gut lesbaren Format, aber es ist so konzipiert, dass es vor dem erneuten Lesen verarbeitet wird. Sie können das tex2pdf-Tool verwenden, um es in .pdf zu konvertieren.
quelle
pdflatex
. 3) Dies ist tangential zu dem Problem, dass die Datei vor dem Lesen gezippt werden muss.