W jaki sposób typowi użytkownicy powinni czytać dokumentację w / usr / share / doc?

43

Niedawno dowiedziałem się, że jest tam ogromny stos dokumentacji /usr/share/doc.

Wygląda na to, że duża część jest spakowana gzipem, dzięki czemu nie jest bezpośrednio dostępna bez uprawnień administratora:

$ gunzip examples/letter.tex.gz 
gzip: examples/letter.tex: Permission denied

Chociaż jednym rozwiązaniem tego problemu byłoby, aby każdy użytkownik powielił każdy element w swoim katalogu domowym tylko po to, aby go przeczytać, takie ustawienie raczej nie sprzyja regularnemu przeglądaniu.

Jak normalni ludzie czytają tę dokumentację?

Nie jestem skłonny wierzyć, że typowy użytkownik powinien zainstalować i utrzymywać serwer WWW tylko po to, by czytać lokalną dokumentację tekstową.

ændrük
źródło
Dla jasności, czy jesteś zainteresowany obsługą jakichkolwiek dokumentów w katalogach / usr / share / doc, czy tylko TeX / LaTeX?
belacqua
OK, jeszcze jedno pytanie - czy musisz przetworzyć pliki .tex na dvi lub cokolwiek innego, czy po prostu spojrzeć na kod źródłowy?
belacqua
1
Pytam /usr/share/docogólnie o dokumentację i ze szczególnym uwzględnieniem obserwacji, że duża część jest przechowywana w skompresowanym formacie. Jeśli zdarzy się, że jakakolwiek dokumentacja będzie przechowywana jako rozpakowany LaTeX, to jeszcze jej nie spotkałem. Konkretnym przykładem, o którym wspomniałem powyżej, jest szablon LaTeX z pakietu texlive-latex-extra-doc.
ændrük
1
askubuntu.com/questions/24072/… . Myślę, że jest to najlepsze rozwiązanie dla wszystkich konfiguracji i działa tam później.
nelaaro,

Odpowiedzi:

6

Większość została powiedziana i bardzo ładnie wyjaśniona przez jgbelacqua do użycia w terminalu. Po prostu dodaję to dla osób, które mają menedżera pulpitu:

Z graficznego pulpitu (tutaj GNOME) najprostszym sposobem na odczytanie dokumentów /usr/share/docjest (podwójne) kliknięcie otworzyć spakowane pliki za pomocą standardowego menedżera archiwum (tutaj Roller plików), z którego można (podwójnie) kliknąć otworzyć i odczytać je twój standardowy edytor (tutaj Gedit). Żadne uprawnienia do zapisu nie są potrzebne, dopóki nie rozpakujesz plików.

Takkat
źródło
Cudowne rozwiązanie. Właśnie dlatego ludzie używają takich rzeczy jak Ubuntu, Gnome itp. Tego rodzaju zadanie jest łatwiejsze.
belacqua
20

Istnieją tutaj co najmniej dwa problemy:

  1. bezbolesne czytanie plików .gz
  2. uprawnienia do katalogów
  3. (opcjonalnie dla plików tex)

W przypadku nr 1 istnieje wiele aplikacji, które bezproblemowo poradzą sobie z plikami spakowanymi gzip. Kilka, których możesz użyć to lessi vim.

 less README.gz 
 vim -R README.Debian.gz
 view Important.bits.gz

viewto alias dla vim -R, który po prostu mówi, aby otworzyć plik tylko do odczytu.

W dawnych czasach, zanim w moim systemie zainstalowano mniej, korzystałem gzcati przesyłałem dane wyjściowe do innego narzędzia. Najwyraźniej nazywa się to zcatteraz tylko na Ubuntu, ale użyłbyś go w ten sposób, np .:

 /usr/share/doc/xpdf$ zcat changelog.Debian.gz  | more

zcat jest nadal dostępny, aw niektórych przypadkach użycie go do potoku skompresowanej zawartości może być przydatne. (W sytuacjach z plikami .bz2 bzcatjest dostępny.)

W przypadku # 2 wszystkie pliki, które widziałem w / usr / share / doc znajdują się w katalogach z innymi uprawnieniami + rx, co oznacza, że ​​wszyscy użytkownicy mogą przeszukiwać katalogi (np. Zawartość listy) i czytać pliki w środku. Nie możesz zrobić (ponieważ domyślnie tylko root ma uprawnienia do zapisu), jest tworzenie plików. Ponieważ próbujesz rozpakować do tego katalogu, wyobrażam sobie, że daje ci to odmowę dostępu, ponieważ domyślnie masz uprawnienia do odczytu, ale nie do zapisu.

W przypadku nr 3 domyślam się, że używasz plików .tex częściej niż ja. Ale jest jeden sposób na radzenie sobie z nimi bez kopiowania do pliku domowego lub tymczasowego. W tym celu utworzysz nazwaną potok, ale możesz go ponownie wykorzystać do innych potrzeb związanych z przetwarzaniem i przetwarzaniem tekstu. Powinno to wyglądać następująco:

  • zcat lub gzcat tekst
  • ... i potokuj to do swojego procesora TeX
  • ... i wyślij to na Nazwaną Potok (tutaj zadzwonię do niego pipey)
  • ... a następnie na osobnym ekranie pobierz dane wyjściowe z pipey
  • ... i wyślij to do procesu wyświetlania dvi.

Możesz oczywiście zmienić te kroki, jeśli używasz innych lub lepszych narzędzi niż te tutaj.

Mój przykład będzie korzystać z mkfifonarzędzia do tworzenia nazwany potok pipey. Plik docelowy do przetworzenia to /usr/share/doc/gdb/refcard.tex.gz. Potrzebne będą dwie dostępne linie poleceń powłoki (przez terminal, Alt + F2 lub jednak).

Wpisz terminal 1:

mkfifo pipey

Masz teraz trwałą nazwaną potok. Możesz ls -lzerknąć na to.

zcat /usr/share/doc/gdb/refcard.tex.gz | tex > pipey

Zauważ, że to polecenie nie powróci, dopóki nie zrobisz czegoś z danymi wyjściowymi, które trafiły do ​​nazwanego potoku.

Teraz w terminalu drugim wpisz: tex pipey | xdvi

I to działa (cóż, tutaj i tak). Proces można udoskonalić, aby uzyskać ładniejszy wynik, ale jeśli szukasz szybkiego i względnie wolnego od bałaganu, jest to jeden ze sposobów.

Belacqua
źródło
1
Sprawdź moje rozwiązanie, myślę, że będziesz pod wrażeniem. askubuntu.com/questions/24072/…
nelaaro
1
+1 za szczegół. Co do mnie, jak wspomniano również @nelaar, dodałem tylko kilka dyrektyw do <Directory "/usr/share/doc/">deklaracji katalogu Apache (zwykle w /etc/apache2/sites-enabled/000-default) i wierzę, że dekompresja jest obsługiwana przez same przeglądarki. ( AddEncoding x-gzip gz tgzi AddType text/plain .gz).
Usuń
Chociaż była to niesamowita i szczegółowa lekcja na temat wielu przydatnych poleceń, nie jest to dobre rozwiązanie dla tego, jak typowy użytkownik powinien czytać dokumentację systemu. Na Ubuntu GNOME Yelp lub Debiana dwww jest najbardziej bezbolesne, łatwy sposób. Moja odpowiedź opisuje to drugie: askubuntu.com/a/52419/11015
MestreLion
1
@MestreLion „Typowy użytkownik” w najbardziej realistycznym sensie nie wie, że pliki nawet tam są. Myślę, że najłatwiejszym rozwiązaniem jest to, o którym wspomniałem jako pierwsze - używanie less. Ma to tę dodatkową zaletę, że jest instalowane domyślnie w każdym nowoczesnym systemie * nix. Dla użytkownika, który wie, że pliki tam są i chce się do nich odwoływać kilka razy w roku, instalacja czegoś w stylu dwww brzmi jak świetne rozwiązanie. Ja w skrócie mogę nie pamiętać dwww, ale zapamiętam podstawowe polecenia, takie jak „mniej”. Lub, jak powiedział Takkat, Nautilus / fileroller / etc ..
belacqua
13

Może za późno na odpowiedź, ale znalazłem najlepsze rozwiązanie (zarówno łatwość użycia, jak i kompletność)

Typowy system Linux ma dokumentację w wielu formatach (strony podręczników, pliki informacyjne, pliki README itd.). dwww umożliwia dostęp do wszystkich z nich za pośrednictwem tego samego interfejsu, przeglądarki WWW. Ułatwia to korzystanie z dokumentacji.

dwww to interfejs sieciowy do całej dokumentacji on-line w systemie Debian. Buduje niektóre strony internetowe zawierające listę wszystkich zainstalowanych dokumentów i konwertuje wszystkie dokumenty na HTML. Konwersja jest wykonywana, gdy użytkownik zażąda dokumentu.

  • Włącz moduł CGI, który nie jest już domyślnie włączony w najnowszych Ubuntu / Apache:

    sudo a2enmod cgi
    sudo service apache2 restart
    
  • Otwórz przeglądarkę i wskaż: http: // localhost / dwww /

  • Gotowy!

Wszystkie infostrony, manstrony, /usr/share/docpliki i opis paczki w jednym miejscu! Twoja strona z dokumentacją osobistą!

MestreLion
źródło
Użyj tej metody. Jest mniej bólu pełny. Możesz wyszukiwać rzeczy bardzo szybko, ponieważ będziesz mieć pole wyszukiwania podobne do google.
Ciekawy uczeń
1
W przypadku przyszłych użytkowników należy pamiętać, że wymaga to włączenia CGI i ponownego uruchomienia usługi Apache: askubuntu.com/questions/581118/…
Sergiy Kolodyazhnyy
7

gunzip file.gzPróby rozpakować file.gzDo fileusunięcie file.gz. Dlatego pojawia się błąd „Odmowa zezwolenia”, nie możesz pisać /usr/share/doc. Aby uzyskać zawartość pliku, użyj gunzip -c file.gzlub zcat file.gz.

Można czytać pliki tekstowe skompresowane gzip zless. Jak mogą sugerować nazwy, jest po prostu less, ale dla plików skompresowanych gzip.

Przykładowe użycie:

zless /usr/share/doc/bash/NEWS.gz

.gzSufiks może zostać pominięty, a także:

zless /usr/share/doc/bash/NEWS
Lekensteyn
źródło
W najnowszych systemach nie musiałem określać zless, ponieważ lessbędzie to obsługiwać automatycznie.
belacqua
1
@belacqua To prawda, robię to samo w dzisiejszych czasach. Myślę, że ma to coś wspólnego ze zmiennymi środowiskowymi LESSOPENi LESSCLOSE.
Lekensteyn
5

Najpierw zainstaluj apache2

sudo apt-get install apache2 apache2-doc  

apache2-docjest tutaj szczególny przypadek. Umożliwia przeglądanie dokumentacji /usr/share/doc/za pomocą przeglądarki internetowej. powrotem http://localhost/doc/.

To jednak nie działa poprawnie. Musisz zmienić konfigurację Apache, aby zdekompresować i pokazać pliki * .gz jako zwykły tekst.

Wysłałem na stos przepełnienie, aby uzyskać sposób użycia Apache do wyświetlania zawartości dokumentów * .gz w /usr/share/doc/katalogu. Oto, co zostało opublikowane jako możliwe rozwiązanie.

Oto te instrukcje w skrócie. Informuje Apache, jak postępować z plikami .gz, aby przetwarzać je jako zwykły tekst i wysyłać do przeglądarki jako zwykły tekst.

sudo a2enmod headers   
sudo a2enmod deflate  
gksu gedit /etc/apache2/sites-enabled/000-default 

Idź na dół pliku i znajdź sekcję za pomocą Alias /doc/ "/usr/share/doc/" i zmień go tak, aby wyglądał tak.

Alias /doc/ "/usr/share/doc/"
<Directory /usr/share/doc>
    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
    Allow from 127.0.0.0/255.0.0.0 ::1/128

    AddEncoding gzip gz
    <FilesMatch "\.gz$">
      ForceType text/plain
      Header set Content-Encoding: gzip
    </FilesMatch>
</Directory>   

Następnie uruchom ponownie Apache:

sudo apache2ctl restart   
nelaaro
źródło
1
Nie jestem zbyt pewien, czy jest to inne rozwiązanie. Właśnie dodałem AddEncoding x-gzip gz tgz AddType text/plain .gzdo mojego <Directory "/usr/share/doc/">wpisu i uważam, że dekompresja jest obsługiwana po stronie klienta.
Usuń
@Alain, nie, to nie jest inne rozwiązanie, to w zasadzie to, co robię.
nelaaro
Chociaż myślę, że JEST to najlepsze rozwiązanie (nic nie może przebić się za pomocą przeglądarki do przeglądania dokumentów), jest to główna przesada w instalacji całego serwera WWW tylko w tym celu. Naprawdę chciałbym, żeby Linux ( yelpmoże?) Miał jakikolwiek gotowy sposób na czytanie dokumentów.
MestreLion,
Aktualizacja: rozwiązanie działało idealnie !!! mod „deflate” został już włączony po wyjęciu z pudełka, a ostatnią linię zmieniłem sudo service apache2 restartna ze względu na standaryzację. Last but not least, reades pamięta o końcowym „/”: musi to być localhost / doc / , localhost / doc nie będzie działać.
MestreLion
-3

Nie powinieneś czytać plików .tex! Ma on czytelny format, ale jest przeznaczony do przetworzenia przed ponownym uruchomieniem. Możesz użyć narzędzia tex2pdf, aby przekonwertować go na format .pdf.

przemo_li
źródło
1
1) Chcę przeczytać źródło LaTeX. 2) Polecenie brzmi pdflatex. 3) Jest to styczne z kwestią konieczności spakowania pliku przed jego odczytaniem.
ændrük