Xorg / ガイド

From Gentoo Wiki
Jump to: navigation, search
This page is a translated version of the page Xorg/Guide and the translation is 98% complete.

Other languages:
Deutsch • ‎English • ‎español • ‎français • ‎日本語 • ‎한국어 • ‎polski • ‎русский • ‎中文(中国大陆)‎

Xorgは、簡単に操作可能なGUI環境をユーザーに提供してくれる、X Window serverです。このガイドでは、Xorgとは何か、Xorgのインストール方法、各種設定について説明します。

X Window サーバとは何ですか?

GUI vs GLI

平均的なユーザはコマンドを入力するというとギョッとするでしょう。Gentoo(や、Linux一般において)によって提供される自由な世界をポイントし、クリックして進んでゆくことは出来ないのでしょうか? いや、もちろんできます! Linuxは既存のインストール上にインストール可能な数々の華やかなインターフェースと環境を提供しています。

これは新規ユーザーが遭遇する最も大きな驚きのうちの一つです、つまり、グラフィカルユーザーインターフェースはシステムの上で動く一つのアプリケーションでしかないということです。これはLinuxカーネルや他の内部システムの一部ではありません。あなたのワークステーションにグラフィカルな能力を最大限発揮させてくれるパワフルなツールです。

規格といものは重要なように、描画、スクリーン上でのウィンドウの移動、マウスやキーボードや他の基本的で、しかし重要なものの規格がつくられ、そして"X11"や単に"X"とよく呼ばれる"X Window System"が名付けられました。これは世界中でUnix, Linux, そしてUnixライクなOSで使われています。

アプリケーションはLinuxユーザーにGUIを動かす機能を提供し、それはX11規格としてXFree86プロジェクトのフォークであるXorg-X11を使っています。 XF43386はGPLライセンスとは互換性のないライセンスを使ってます。ので、Xorgの使用が推奨されます。公式PortageツリーはもはやXFree86の提供をしていません。

X.org プロジェクト

X.orgプロジェクトがつくられ、自由に配布可能な、X11システムのオープンソース実装を管理しています。これがオープンソースのX11ベースデスクトップ基盤です。

Xorgは実行したいグラフィカルソフトウェアとハードウェアの間のインターフェースを提供します。にしても、Xorgは完全なネットワーク意識でもあります。つまり、アプリケーションをあるシステムで実行しつつ、それと異なるシステムで見ることが可能です。

インストール

Xrogのインストールの前に、システムの準備をする必要があります。まず、ビデオカードとインプットデバイスサポートのためにカーネルセットアップを行いましょう。それから、正しいドライバとXorgパッケージがビルドされ、インストールされるために/etc/portage/make.confを準備しましょう。

インプットドライバサポート

デフォルトでは、Xorgは一般的入力ドライバであるevdevを使います。カーネル設定を変更することでevdevのサポートを有効化する必要があります。もしカーネル設定の方法がわからなければKernel Configuration Guideを読んでください。

KERNEL Enabling evdev in the kernel
Device Drivers --->
  Input device support --->
  <*>  Event interface

make.defaults has Libinput as the default input device driver.

カーネルモード設定

モダンなオープンソースビデオドライバはカーネルモード設定(KMS)に依存しています。KMSはちらつきの少ないグラフィカルブート、早い応答性、ビルトインフレームバッファーコンソール、コンソールからXorgへの滑らかな切り替えや他の機能を提供します。

Important
KMSはカーネル設定で""disable""であるべき古いフレームバッファドライバと競合します。

まず、KMSのためにカーネルを準備してください。このステップはどのXorgビデオドライバが使われるかにはよりません。

KERNEL Disable legacy framebuffer support and enable basic console FB support
Device Drivers --->
   Graphics support --->
      Frame Buffer Devices --->
         <*> Support for frame buffer devices --->
         ## (Disable all drivers, including VGA, Intel, nVidia, and ATI, except EFI-based Framebuffer Support, only if you are using UEFI)
 
    ## (Further down, enable basic console support. KMS uses this.)
    Console display driver support --->
      <*>  Framebuffer Console Support

つぎに、ビデオカードに正しいKMSドライバをカーネルが使うよう設定してください。Intel、nVidiaやAMD/ATIはよくあるカードなので、下に示したカード毎のコードに従ってください。

インテルのカードについてはkernel section of the Intel articleを見てください。

nVidiaカード:

KERNEL nVidia settings
Device Drivers --->
   Graphics support --->
      <*>  Nouveau (nVidia) cards

新しいAMD/ATIカードについては(RadeonHD 2000 and up)や, emerge x11-drivers/radeon-ucodesys-kernel/linux-firmwareを実行してください。これらパッケージがインストールされたら、Radeon articlefirmware sectionに詳解されているようにカーネルを設定してください。

KERNEL AMD/ATI settings
## (Setup the kernel to use the radeon-ucode firmware)
Device Drivers --->
   Generic Driver Options --->
   [*]  Include in-kernel firmware blobs in kernel binary
  ## # ATI card specific, (see Radeon page for details which firmware files to include)
   (radeon/<CARD-MODEL>.bin ...)
  ## # Specify the root directory
   (/lib/firmware/) External firmware blobs to build into the kernel binary
 
## (Enable Radeon KMS support)
Device Drivers --->
   Graphics support --->
   <*>    ATI Radeon
   [*]      Enable modesetting on radeon by default
   [ ]      Enable userspace modesetting on radeon (DEPRECATED)
Note
古いカード (X1900シリーズ以下)はx11-drivers/radeon-ucodeやファームウェア設定を必要としません。これらについては、単にDirect Rendering Manager (DRM)やATI Radeon modesettingを有効化してください。
Note
Linuxカーネル >= 3.9 はデフォルトで含んでいるためEnable modesetting on radeon by default項目をもっていません。新カーネルにこのオプションがなくても心配しないでください。

カーネル設定を出て、カーネル再ビルド、再起動しましょう。

今、KMSはセットアップされ、次のセクションで/etc/portage/make.confの準備をします。

make.conf

カーネルは準備され、/etc/portage/make.confファイル中の二つの変数をXorgインストール前に設定する必要があります。

最初に変数はVIDEO_CARDSです。これはあなたの使おうとしているビデオカード用のビデオドライバを設定するために使われます。最もよくある設定は、nVidiaカードにはnouveau、ATIカードにはradeonです。これらは活発に開発され、よくサポートされたオープンソースドライバです。

Note
nVidiaとAMD/ATIそれぞれのプロプライエタリドライバ、nvidiafglrxも試すかも知れません。しかしながら、プロプライエタリドライバの設定はこのガイドの範囲を超えています。Gentoo Linux nVidia GuideGentoo Linux ATI FAQを読んでください。どちらを使うべきかわからない場合はそれらのガイドを参照してください。

intelドライバはよくあるIntel統合グラフィクスチップセット搭載のデスクトップやラップトップに使われるでしょう。

Note
スペース区切りの場合、VIDEO_CARDS は2つ以上の値をもちます。

The second variable is INPUT_DEVICES and is used to determine which drivers are to be built for input devices. In most cases setting it to libinput or evdev should work just fine. If you use alternative input devices, such as a Synaptics touchpad for a laptop, be sure to add it to INPUT_DEVICES.

/etc/portage/make.confファイルに追加すべきドライバや必要な設定を決めてください。

CODE Sample make.conf entries
## (For mouse, keyboard, and Synaptics touchpad support)
INPUT_DEVICES="evdev synaptics"
## (For nVidia cards)
VIDEO_CARDS="nouveau"
## (For AMD/ATI cards)
VIDEO_CARDS="radeon"

もし提案された設定がうまく動かなかったらx11-base/xorg-driversパッケージをemergeしましょう(次のステップを見てください)。有効なオプションを全て選び、どれをシステムに適用するか選んでください。これはキーボード、マウス、Synapticsタッチパッド、Radeonビデオカードのシステムの例です。

root #emerge --ask --verbose x11-base/xorg-drivers
 
These are the packages that would be merged, in order:
 
Calculating dependencies... done!
[ebuild   R   ]  x11-base/xorg-drivers-1.9  INPUT_DEVICES="evdev synaptics
-acecad -aiptek -elographics% -fpit% -joystick -keyboard -mouse -penmount -tslib
-virtualbox -vmmouse -void -wacom"
VIDEO_CARDS="radeon -apm -ark -ast -chips -cirrus -dummy -epson -fbdev -fglrx
(-geode) -glint -i128 (-i740) (-impact) -intel -mach64 -mga -neomagic (-newport)
-nouveau -nv -nvidia -r128 -rendition -s3 -s3virge -savage -siliconmotion -sis
-sisusb (-sunbw2) (-suncg14) (-suncg3) (-suncg6) (-sunffb) (-sunleo) (-suntcx)
-tdfx -tga -trident -tseng -v4l -vesa -via -virtualbox -vmware (-voodoo) (-xgi)"
0 kB

必須変数の設定後に、Xorgはインストールされます。

root #emerge --ask x11-base/xorg-server
Note
x11-base/xorg-x11 メタパッケージが、より軽量なx11-base/xorg-serverのかわりにインストール可能です。 機能の面からx11-base/xorg-x11x11-base/xorg-serverは同等ですが、x11-base/xorg-x11はシステムが必要としないであろうたくさんのパッケージを導入します。追加のパッケージは多言語fontsの巨大な詰め合わせ を含みます。これらはX11フレームワークの動作に必要ではありません。

インストールが終了したら、続ける前に、いくつか環境変数が最初期化のために必要です。このコマンドでプロファイルをsourceしましょう:

root #env-update
root #source /etc/profile

NVidia ユーザー

NVidiaユーザーには、選択したグラフィクスカードのために有効なxorg.confファイルを生成するためにnvidia-xconfigを実行することが有用でしょう。このステップなしにはxorg.confファイルは下に示すように手動で生成される必要があります。xorg.confファイルなしにはstartxの際に"No screens found"エラーに遭遇してしまうかも知れません。

さらに、NVidiaドライバは再起動の後にのみ有効です。従って、nvidia-xconfig実行後にシステムの再起動を忘れないでください。

root #nvidia-xconfig

OpenGLレンダラをソフトウェアレンダラの代わりにハードウェアにすることが推奨されています。

root #eselect opengl set nvidia

設定

X serverはXorgの設定ファイルを手動で編集することなく、そのまま使えるよう設計されています。マウスや、キーボードやディスプレイといったデバイスは検出され、設定される"べき"なのです。

startxの使用を設定ファイルの編集なしに試してみてください。Xorgはスタートしないか、なにか問題が発生するでしょう。そしたら、Xorgの手動設定が必要です。これは次のセクションで説明されます。

Note
もしカーネルに変更を加えたら、新しくビルドされたカーネルを使うために、startx再起動することを忘れないでください。カーネルが新しいバージョンになったら、ブートローダの設定ファイルの更新も必要でしょう。

xorg.conf.d ディレクトリー

Important
xorg.conf.d中の設定ファイルは最後の頼みの綱であるべきです。可能な限り、Xorgをどんな特殊な設定なしに実行することが望ましいです。

Xorgの設定ファイルのほとんどは/etc/X11/xorg.conf.d/にあります。それぞれのファイルは一意な名前と.confで終わります。Xorg設定ディレクトリのなかのファイルの名前は英数字順に読み込まれます。たとえば、10-evdev.conf20-synaptics.confの前に読み込まれます。a-evdev.confb-synaptics.confなどの前に読み込まれるでしょう。このディレクトリ中のファイルはナンバリングされている必要はないですが、そのようにしておくと整理された状態を維持しやすいでしょう。それは欠陥のある設定ファイルをデバッグするときに便利です。

Note
Xorgは/usr/share/doc/xorg-server-${version}/xorg.conf.example.bz2に設定例を提供しています。これらは/etc/X11/xorg.conf.d/にカスタム設定ファイルをつくるのに使われるでしょう。例は十分にコメントがなされていますが、文法についてのドキュメントが必要ならばman xorg.confがいつでも使えます。他の例はこのセクションの終わりのOther resourcesにあります。

startx を用いる

X server起動のためにstartxを試しましょう。startxは(x11-apps/xinitによってインストールされた)スクリプトで、X セッションを実行します。XセッションはX serverを起動し、その上にグラフィカルアプリケーションを起動します。それはどのアプリケーションを起動するか、以下の論理に従って決定します:

  • もし、ファイル.xinitrcがホームディレクトリに存在するのなら、そこに列挙されたコマンドを実行します。
  • そうでなければ、/etc/env.d/90xsessionファイルの変数XSESSIONの値を読み、それに応じて関連したセッションを実行します。XSESSIONの値は/etc/X11/Sessions/に使用可能です。システムワイドなデフォルトセッションを設定するには:
root #echo XSESSION="Xfce4" > /etc/env.d/90xsession
これは90xsessionファイルをつくり、デフォルトXセッションをXfceに設定します。env-update90xsessionに変更を加えたあと実行することを覚えておきましょう。
user $startx

もしウィンドウマネージャがインストールされていなければ、黒い画面が現れるでしょう。これは何かがおかしいというサインでもあるので、 x11-wm/twmx11-terms/xtermはXをテストするためのみにインストール出来ます。

プログラミングがインストールされたら、startxを再び実行しましょう。xtermウィンドウが現われ、X serverが動いているか検証するのが簡単になります。結果に満足したら、テストパッケージを削除するにはx11-wm/twmx11-terms/xtermをunmergeしましょう。これらはデスクトップ環境を構築するのに必要ではありません。

(開始すべき)セッションはstartxの引数として与えられることも可能です:

user $startx /usr/bin/startfluxbox

二重ダッシュを頭につけることで、X11サーバーオプションを渡すことも可能です。

user $startx -- vt7

X の設定を調整する

画面の解像度を設定する

もし解像度がおかしいようであれば、xorg.conf.dの二つのセクションを調べる必要があります。まず、X serverが実行する解像度設定を列挙しているScreenセクションがあるはずです。このセクションは解像度全てを列挙しているわけではないでしょう。その場合、Xorgは次のセクションMonitorの情報に基づいて解像度を推定します。

さあ、解像度を変更しましょう。/etc/X11/xorg.conf.d/40-monitor.confからの次の例では、X serverがデフォルトで1440x900で開始するようPreferredModeを追加します。DeviceOptionセクションはxrandrの実行によって得られるモニタ名前(DVI-0)に一致しなければなりません。xrandrをインストール(emerge xrandr)し、情報を得ましょう。モニター名後の引数(Deviceセクション中)はMonitorセクションの中のIdentifierに一致する必要があります。

root #nano -w /etc/X11/xorg.conf.d/40-monitor.conf
Section "Device"
  Identifier  "RadeonHD 4550"
  Option      "Monitor-DVI-0" "DVI screen"
EndSection
Section "Monitor"
  Identifier  "DVI screen"
  Option      "PreferredMode" "1440x900"
EndSection

Xを実行(startx)して設定通りの解像度か確かめましょう。

マルチディスプレイ

2つ以上のモニターは/etc/X11/xorg.conf.d/中に規定されます。それぞれのモニターに一意な識別子を与え、それからもうひとつのモニターに対してのといった物理的位置を列挙します。次の例はVGAモニターを右側スクリーンとして、DVIとVGAモニターの設定方法を示します。

root #nano -w /etc/X11/xorg.conf.d/40-monitor.conf
Section "Device"
  Identifier "RadeonHD 4550"
  Option     "Monitor-DVI-0" "DVI screen"
  Option     "Monitor-VGA-0" "VGA screen"
EndSection
Section "Monitor"
  Identifier "DVI screen"
EndSection
Section "Monitor"
  Identifier "VGA screen"
  Option     "RightOf" "DVI screen"
EndSection

キーボードの設定

Xに多言語キーボードを使わせたい場合は、/etc/X11/xorg.conf.d/中に適切な設定ファイルをつくりましょう。この例はチェコ語キーボードレイアウトについて示します。

root #nano -w /etc/X11/xorg.conf.d/30-keyboard.conf
Section "InputClass"
        Identifier "keyboard-all"
        Driver "evdev"
        Option "XkbLayout" "us,cz"
        Option "XkbModel" "logitech_g15"
        Option "XkbRules" "xorg"
        Option "XkbOptions" "grp:alt_shift_toggle,grp:switch,grp_led:scroll,compose:rwin,terminate:ctrl_alt_bksp"
        Option "XkbVariant" ",qwerty"
        MatchIsKeyboard "on"
EndSection

キーボードレイアウトの切り替え方法については、Keyboard layout switching記事を見てください。

"terminate"コマンド(terminate:ctrl_alt_bksp)はCtrl+Alt+Backspaceキー割り当てによってXセッションをキルすることが出来ます。これは、しかし、Xをみっともなく終了させます。これはユーザーにとって避けたいことでしょう。これはプログラミングが画面全体をフリーズさせてしまった時、Xorg環境を設定、調整したい時に便利です。この方法でデスクトップを終了するときには気をつけてください。大半のプログラムはこの方法での終了を好みません。全部ではないにせよ、いくつかのディスクに保存されていない情報("open documents"に保存された情報)は失われるでしょう。

仕上げ

startxを実行し、結果に満足しましょう。おめでとうございます。あなたは今や(うまくいけば)動作するXorgをもっています! 次のステップではKDE, GNOME, や Xfceのようなデスクトップ環境あるいは便利なウィンドウマネージャをインストールしましょう。これらデスクトップ環境のインストール情報はこのwikiで見つかるでしょう。

参照

  • Wayland - Linuxのための次世代のウィンドウマネージャ。
  • X (Security Handbook) - Xサーバーを堅牢に保つためのセキュリティハンドブック。

外部の情報

設定ファイルの作成と編集

man xorg.conf and man evdev provide quick yet complete references about the syntax used by these configuration files. Be sure to have them open on a terminal when editing Xorg configuration files!

/etc/X11/中の設定ファイルを編集するにあたって、多くのオンラインドキュメントがあります。ここにはそのほんの一部しか列挙できません。検索エンジンを使い探してみましょう。

その他の情報

様々なグラフィカルデスクトップ環境やアプリケーションの設定とインストールについての情報は我々のドキュメンテーションのセクションで見つかります。

xorg-server 1.9 以降へアップグレードするときには、 migration guideを忘れずに読んでください。

彼らの他のドキュメントに加え、X.orgはたくさんのFAQs を彼らのウェブサイトで提供しています。


This article is based on a document formerly found on our main website gentoo.org.
The following people contributed to the original document: Sven Vermeulen (SwifT), Joshua Saddler (nightmorph)
They are listed here as the Wiki history does not allow for any external attribution. If you edit the Wiki article, please do not add yourself here; your contributions are recorded on the history page.