一般的なユーザーは、/ usr / share / docのドキュメントをどのように読むことが期待されますか?


43

私は最近、ドキュメンテーションの巨大な山があることを学びました/usr/share/doc

その多くはgzip圧縮されているため、管理者権限なしでは直接アクセスできません。

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

これに対する解決策の1つは、すべてのユーザーがホームディレクトリ内の各アイテムを複製してそれを読み取ることですが、この配置は通常のブラウジングにはほとんど役に立たないようです。

通常の人はこのドキュメントをどのように読みますか?

一般的なユーザーがローカルのテキストドキュメントを読むためだけにWebサーバーをインストールして保守することを期待しているとは思わないでしょう。


明確にするために、/ usr / share / docディレクトリ内のドキュメント、またはTeX / LaTeXのドキュメントを処理することに興味がありますか?
ベラク

さて、もう1つ質問があります。.texファイルをdviなどに処理する必要がありますか、それともソースコードを見るだけですか?
ベラク

1
/usr/share/doc一般的にドキュメントについて、そしてその多くが圧縮形式で保存されているという観察に特別な注意を払って質問しています。タイプセットされていないLaTeXとして保存されているドキュメントがある場合、私はまだ遭遇していません。上記で参照した特定の例は、パッケージのLaTeXテンプレートtexlive-latex-extra-docです。
アーンドリューク


1
askubuntu.com/questions/24072/...。これはすべてのセットアップで最良のソリューションであり、その後も機能すると思います。
ネラアロ

回答:


6

ほとんどはjgbelacquaによってターミナルで使用されると言われ、非常にうまく説明されています。デスクトップマネージャーを使用しているユーザー向けにこれを追加するだけです。

グラフィカルデスクトップ(ここではGNOME)から文書を読む最も簡単な方法/usr/share/docは、(ダブル)クリックして、標準のアーカイブマネージャー(ここではファイルローラー)でzipファイルを開くことです。標準エディター(ここではGedit)。ファイルを解凍しない限り、書き込み権限は不要です。


素晴らしいソリューション。これが、人々がUbuntu、Gnomeなどのようなものを使用する理由です。この種のタスクは簡単になります。
belacqua

20

ここには少なくとも2つの問題があります。

  1. .gzファイルを簡単に読み取る
  2. ディレクトリの権限
  3. (Texファイルのオプション)

以下のために#1、シームレスにgzipされたファイルにも対応するアプリケーションの数があります。あなたが使用できるカップルですlessvim

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

viewはのエイリアスでvim -R、ファイルを読み取り専用で開くように指示します。

以前は、システムにlessがインストールされる前にgzcat、出力を使用して別のユーティリティにパイプしていました。どうやら、zcat現在はUbuntuでのみ呼び出されていますが、次のように使用します。

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

zcatは引き続き利用できます。zcatを使用して、圧縮されたコンテンツをどこかにパイプで送ると便利な場合があります。(.bz2ファイルbzcatを使用する場合に使用可能です。)

以下のために#2、私はは、/ usr / share / docの下で見てきたことのすべてのファイルは、すべてのユーザーがディレクトリを(例えば、リストの内容)を検索し、内部のファイルを読むことができることを意味し、他の+ RX権限を持つディレクトリにあります。できないのは(デフォルトではrootのみが書き込み許可を持っているため)、ファイルを作成することです。あなたはそのディレクトリに解凍しようとしているので、デフォルトでは読み取り権限は持っているが書き込み権限は持っていないので拒否された権限を与えていると思います。

#3については、私よりも.texファイルを使用していると思います。しかし、ここでは、ホームまたは一時ファイルにコピーせずにそれらに対処する1つの方法を示します。このために、名前付きパイプを作成しますが、それを他のtexパイピングおよび処理のニーズに再利用できます。次のようになります。

  • テキストをzcatまたはgzcat
  • ...そして、それをTeXプロセッサにパイプします
  • ...それを名前付きパイプに送信します(ここでは、彼に電話しますpipey
  • ...そして、別の画面でpipeyから出力を取得します
  • ...それをdvi表示プロセスに送信します。

ここにあるものとは異なる、またはより良いユーティリティを使用する場合、これらの手順を明らかに変更できます。

私の例では、mkfifoユーティリティを使用して名前付きパイプを作成しますpipey。処理するターゲットファイルは/usr/share/doc/gdb/refcard.tex.gzです。2つのシェルコマンドラインを利用できる必要があります(ただし、ターミナル、Alt + F2、または経由)。

ターミナル1を入力します。

mkfifo pipey

これで永続的な名前付きパイプができました。あなたはls -lそれを覗くのに使うことができます。

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

このコマンドは、名前付きパイプに送られた出力で何かをするまで戻りません。

次に、ターミナル2で次のように入力します。 tex pipey | xdvi

そして、それは動作します(まあ、とにかくここで)。プロセスはよりきれいな出力に向けて改良できますが、迅速で比較的混乱のないものを探しているなら、それはそれを行う1つの方法です。


1
私の解決策をチェックしてください、あなたは感銘を受けると思います。askubuntu.com/questions/24072/...
nelaaro

1
詳細については+1。私については、@ nelaarも言及しているように、Apache <Directory "/usr/share/doc/">ディレクトリ宣言にいくつかのディレクティブを追加するだけで(通常は/etc/apache2/sites-enabled/000-default)、解凍はブラウザ自体によって処理されると考えています。(AddEncoding x-gzip gz tgzおよびAddType text/plain .gz)。
削除

これは多くの有用なコマンドに関する驚くべき詳細なレッスンでしたが、これは一般的なユーザーがシステムのドキュメントを読むことをどのように期待するかについての良いソリューションではありません。Ubuntuのために、GNOMEのYelpのか、Debianのdwwwがある最も痛みのない、簡単な方法。私の答えは、後者について説明します。askubuntu.com/a/52419/11015
MestreLion

1
@MestreLion「典型的なユーザー」は、最も現実的な意味で、ファイルがそこにあることを知りません。最も簡単な解決策は、最初に言及した-を使用することだと思いますless。これには、すべての最新の* nixシステムにデフォルトでインストールされるという追加の利点があります。ファイルが存在することを知っていて、1年に2回以上参照したいユーザーにとって、dwwwのようなものをインストールするのは素晴らしい解決策のように思えます。私自身、ピンチで、dwwwを覚えていないかもしれませんが、「less」のような基本的なコマンドを覚えています。または、Takkatが言ったように、Nautilus / fileroller / etc ..
belacqua

13

答えるには手遅れかもしれませんが、最良の解決策を見つけました(使いやすさと完全性の両方)

典型的なLinuxシステムには、多くの形式(マニュアルページ、Infoファイル、READMEなど)のドキュメントがあります。dwwwは、同じインターフェースであるWWWブラウザを介してこれらすべてにアクセスすることを可能にします。これにより、ドキュメントを使いやすくなります。

dwwwは、Debianシステム上のすべてのオンラインドキュメントへのWebインターフェイスです。インストールされているすべてのドキュメントをリストするWebページを作成し、すべてのドキュメントをHTMLに変換します。ユーザーがドキュメントを要求すると、変換が行われます。

  • CGIモジュールを有効にします。これは、最近のUbuntu / Apacheではデフォルトで無効になっています。

    sudo a2enmod cgi
    sudo service apache2 restart
    
  • ブラウザを開いて、http:// localhost / dwww /をポイントします

  • できた!

すべてのinfoページ、manページ、/usr/share/docファイルパッケージの説明を1か所で!あなたの個人的なドキュメントのウェブサイト!


この方法を使用してください。痛みが少なくなります。また、Googleのような検索ボックスを使用するため、非常に高速に検索できます。
好奇心が強い見習い

1
:将来の訪問者のために、ノートでは、これはCGIを有効にし、Apacheサービスを再起動する必要があることaskubuntu.com/questions/581118/...
Sergiy Kolodyazhnyy

7

gunzip file.gzへの圧縮解除file.gzを試みfile、削除しfile.gzます。そのため、「Permission denied」エラーが表示され、書き込みを許可されていません/usr/share/doc。ファイルの内容を取得するには、gunzip -c file.gzまたはを使用しますzcat file.gz

gzipで圧縮されたテキストファイルの読み取りは、を使用して実行できますzless。名前が示すように、lessgzipで圧縮されたファイルの場合は、単なるになります。

使用例:

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

.gz接尾辞は、同様に省略することができます。

zless /usr/share/doc/bash/NEWS

最近のシステムでは、自動的に処理するためzless、を指定する必要はありませんless
ベラク

1
@belacqua確かに、最近は同じことをしています。環境変数LESSOPENと関係があると思いLESSCLOSEます。
-Lekensteyn

5

最初にapache2をインストールする

sudo apt-get install apache2 apache2-doc  

apache2-docここが特別なケースです。/usr/share/doc/Webブラウザを使用してドキュメントを参照できます。あちこちhttp://localhost/doc/

ただし、これは正しく機能しません。Apacheの構成を変更して、*。gzファイルを圧縮解除してプレーンテキストとして表示できるようにする必要があります。

Stack Overflowに投稿して、Apacheを使用して/usr/share/doc/ディレクトリ内の* .gzドキュメントのコンテンツを表示する方法を取得しました。これは、可能な解決策として投稿されたものです。

これらの手順を簡単に説明します。Apacheに.gzファイルを処理してプレーンテキストとして処理し、プレーンテキストとしてブラウザに送信する方法を指示します。

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

ファイルの一番下に移動してセクションを見つけ、次のAlias /doc/ "/usr/share/doc/" ように変更します。

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>   

次に、Apacheを再起動します。

sudo apache2ctl restart   

1
これが別の解決策であるかどうかはわかりません。エントリーに追加AddEncoding x-gzip gz tgz AddType text/plain .gzしたばかり<Directory "/usr/share/doc/">で、実際に解凍はクライアント側で処理されると思います。
削除

@アラン、いや、それは別の解決策ではありません。これは基本的に私がやっていることです。
ネラアロ

これが最良のソリューションだと思いますが(ブラウザを使用してドキュメントを閲覧することはできません)、そのためだけにWebサーバー全体をインストールするのは大きなやり過ぎです。Linux(yelp多分?)がすぐにドキュメントを読む方法があればいいのにと思います。
メストレリオン

更新:ソリューションは完全に機能しました !!! mod "deflate"はsudo service apache2 restartデフォルトですでに有効になっており、標準化のために最後の行を変更しました。少なくとも最後のではなく、readesは「/」を末尾に注意してください。それがなければならないこと/ DOC / localhostでlocalhostの/ docに動作しません。
メストレリオン

-3

.texファイルを読み取らないでください!人間が読める形式ですが、再配置する前に処理されるように設計されています。tex2pdfツールを使用して、.pdfに変換できます。


1
1)LaTeXソースを読みたい。2)コマンドはpdflatexです。3)これは、ファイルを読み込む前にgunzipする必要があるという問題の正接です。
アーンドリューク
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.