■X Window Systemとは?
GUIを実現させる為のシステムです。Linuxで使用されるXとしてはX Free86が主流だったが、今は派生であるX.OrgがLinuxで使用されている。
X.Orgの構成は
GUIを実現させる為のシステムです。Linuxで使用されるXとしてはX Free86が主流だったが、今は派生であるX.OrgがLinuxで使用されている。
X.Orgの構成は
・Xサーバ ・Xクライアント ・Xライブラリ ・ディスプレイマネージャ ・ファイルフォントなどのデータ類
があります。
サーバとクライアントがある事に気付いたと思います。
X Window Systemは、ネットワークでの利用を実現させるためのシステムでもあるために、XサーバとXクライアントが用意されています。
まず、Xサーバは
サーバとクライアントがある事に気付いたと思います。
X Window Systemは、ネットワークでの利用を実現させるためのシステムでもあるために、XサーバとXクライアントが用意されています。
まず、Xサーバは
・モニタ ・ビデオカード ・キーボード
などのハードウェアを管理をします。
Xクライアントは
Xクライアントは
・Webブラウザ ・オフィスアプリケーション
などのアプリケーションを管理を管理します。
X Window Systemはネットワークでの利用を想定しているので、今、手元にあるPCがXサーバで遠隔地にXクライアントがあっても
遠隔地のXクライアントを利用できます。
もちろん、手元のPCがXサーバ兼、Xクライアントになる事もあります。
UbuntuやCentOSなど、クライアントとして利用している限りは後者になります。
図にすると、以下のようなイメージ。
X Window Systemはネットワークでの利用を想定しているので、今、手元にあるPCがXサーバで遠隔地にXクライアントがあっても
遠隔地のXクライアントを利用できます。
もちろん、手元のPCがXサーバ兼、Xクライアントになる事もあります。
UbuntuやCentOSなど、クライアントとして利用している限りは後者になります。
図にすると、以下のようなイメージ。
127.0.0.1 ---------- 6000/tcp ---------- 参照 | X Server | <----------------- | X client | ===> DISPLAY環境変数 ---------- 通信 ---------- 例:(127.0.0.1:0.0) || 表示 V DISPLAY(0)
127.0.0.1というのは、自分のPC(localhost)のIPで、6000/tcp ポートと通信して0番のディスプレイ使用。
自分のPCで通信となると、ややこしく感じますが、同じPC内でもサーバとクライアントが
あるので、portを指定する訳です。
自分のPCで通信となると、ややこしく感じますが、同じPC内でもサーバとクライアントが
あるので、portを指定する訳です。
じゃあ、別ネットワークのXクライアントにあるアプリケーションを使用する場合は、どうなるの??
意図しない相手からの接続を受け付けてしまうと、作業中に余計な邪魔が入ったり悪戯される可能性があり
デスクトップ上で作業をするにあたって問題が発生します。セキュリティ的にも大事です。
そんな理由で、デフォルトでXサーバに接続できるのは自分のPC(localhost)だけになっています。
そこで、まずはXサーバに接続できるホストの一覧を確認しましょう。
使用するコマンドは「xhost」です。
デスクトップ上で作業をするにあたって問題が発生します。セキュリティ的にも大事です。
そんな理由で、デフォルトでXサーバに接続できるのは自分のPC(localhost)だけになっています。
そこで、まずはXサーバに接続できるホストの一覧を確認しましょう。
使用するコマンドは「xhost」です。
$ xhost access control enabled, only authorized clients can connect INET:aster.com INET:localhost INET:aster INET:aster LOCAL:
自分以外の登録はありません。※asterが自分だと思ってください。
Xクライアントは「isk」って事にします。
「xhost」コマンドを使用してiskという名前のXクライアントからの接続を許可します。
書式は以下の通りです。
「xhost +か- ホスト名」 ※+や-とホスト名の間にスペースはありません。
Xクライアントは「isk」って事にします。
「xhost」コマンドを使用してiskという名前のXクライアントからの接続を許可します。
書式は以下の通りです。
「xhost +か- ホスト名」 ※+や-とホスト名の間にスペースはありません。
オプション 説明 +ホスト名 指定したホストをXサーバ許可リストに追加 ※+がなくてもOK -ホスト名 指定したホストをXサーバ許可リストから削除 + すべてのホストからの接続を許可 ※アクセス制御は無効 - アクセス制御を有効にする
実行します。
$ xhost isk uriel being added to access control list $ xhost access control enabled, only authorized clients can connect INET:isk ← これが追加される INET:michael.example.com INET:localhost INET:aster INET:aster LOCAL:
これでXクライアントiskからXサーバasterへの接続が許可されました。
で、Xクライアントであるアプリの表示結果をXサーバのディスプレイに表示しないと、なにも見れないので設定します。
表示先のディスプレイは環境変数「DISPLAY」で指定します。
書式 ホスト名:ディスプレイ番号
自分のPCのディスプレイ番号は「0」です。デフォルトの場合ですが。
なので「aster:0」となります。
これを組み合わせると
で、Xクライアントであるアプリの表示結果をXサーバのディスプレイに表示しないと、なにも見れないので設定します。
表示先のディスプレイは環境変数「DISPLAY」で指定します。
書式 ホスト名:ディスプレイ番号
自分のPCのディスプレイ番号は「0」です。デフォルトの場合ですが。
なので「aster:0」となります。
これを組み合わせると
DISPLAY=aster:0 ←変数「DISPLAY」に引数「aster:0」を渡します。
あとは「export」コマンドを使用して
export DISPLAY ←exportコマンドで環境変数を指定します。
これで表示先をXサーバのデフォルトディスプレイに設定できました!
一回で行う場合は
一回で行う場合は
export DISPLAY=aster:0
でもOK。
「サーバ」と「クライアント」の立ち位置が逆じゃない?と思いますが、今やったネットワーク上の設定をすると
逆でないと、成り立たないですね。
■サーバ→接続される側で、接続を許可する。
■クライアント→接続する側で、接続を許可される。
ですから。
遠隔地のXクライアントを自分のPC(Xサーバ)で使用したい場合は
・Xクライアントの接続許可リストに追加
・環境変数DISPLAYの設定
の二つを実行する事で、リモート環境でもXサーバXクライアントの関係が成り立ちます。
「サーバ」と「クライアント」の立ち位置が逆じゃない?と思いますが、今やったネットワーク上の設定をすると
逆でないと、成り立たないですね。
■サーバ→接続される側で、接続を許可する。
■クライアント→接続する側で、接続を許可される。
ですから。
遠隔地のXクライアントを自分のPC(Xサーバ)で使用したい場合は
・Xクライアントの接続許可リストに追加
・環境変数DISPLAYの設定
の二つを実行する事で、リモート環境でもXサーバXクライアントの関係が成り立ちます。
X.Orgの設定をします。Xサーバの設定です。
設定ファイルは/etc/X11/xorg.confです。
この設定ファイルには
設定ファイルは/etc/X11/xorg.confです。
この設定ファイルには
・キーボード ・マウス ・モニタ ・フォント ・解像度
などの設定があります。
しかし、設定はやや難解なので設定ツールを使用する事ができます。
このツールを使用すると、PCに接続しているマウスやキーボードなどのデバイス情報を
取得して、設定用のファイルを新しく作成してくれます。
そのツールを使用するコマンドがXorg -configureです。
このコマンドを実行すると
「どこどこに設定用ファイルを作成したよ!次に表示されているコマンドを実行」してね!と表示されます。
しかし、設定はやや難解なので設定ツールを使用する事ができます。
このツールを使用すると、PCに接続しているマウスやキーボードなどのデバイス情報を
取得して、設定用のファイルを新しく作成してくれます。
そのツールを使用するコマンドがXorg -configureです。
このコマンドを実行すると
「どこどこに設定用ファイルを作成したよ!次に表示されているコマンドを実行」してね!と表示されます。
Your xorg.conf file is /root/xorg.conf.new To test the server, run 'X -config /root/xorg.conf.new
実行すると
X -config /root/xorg.conf.new
マウスポインタだけが表示された画面が出ます。それで成功です。
これで、必要最低限な設定はされたので「/root/xorg.conf.new」を「/etc/X11/xorg.conf」としてコピーすればOKです。
これで、必要最低限な設定はされたので「/root/xorg.conf.new」を「/etc/X11/xorg.conf」としてコピーすればOKです。
cp /root/xorg.conf.new /etc/X11/xorg.conf
また、ビデオモードの詳細な設定をする場合は「xvidtune」コマンドを使用します。
水平同期周波数や垂直同期周波数の範囲の設定と確認ができます。
水平同期周波数や垂直同期周波数の範囲の設定と確認ができます。
X Window System上で、設定を確認したり、様々な情報を集めるためにコマンドが用意されています。
コマンド 説明 showrgb Xで利用可能な色をRGB値を確認する。 xwininfo 指定したウィンドウのサイズや位置、色深度などを確認できます。 xdpyinfo ディスプレイ情報を確認できます。 xlsfonts 利用できるフォントの一覧を表示します。 startx X Window Systemを起動します。