3
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ユーザーインターフェースとデスクトップ

Last updated at Posted at 2023-09-24

X Window System

LinuxやUNIXでGUIを実現するために使用されてきたシステム。「XFree86」が多く採用されていたが、現在は「X.Org」が主流となっている。

  • Xサーバ
    モニターやビデオカード、キーボードといったハードウェア管理を行う

  • Xクライアント
    ユーザーアプリケーションでWebブラウザやオフィスアプリケーションなどが相当する。

キャプチャ5.PNG

Xはネットワーク経由で利用でき、Xサーバが稼働しているのとは別のコンピュータで動作しているXクライアントを表示し、操作することが可能。

キャプチャ6.PNG

#remotepcのXクライアントがlocalpcのXサーバを許可する
[lpic@localpc]$ xhost +remotepc

#remotepcの環境変数DISPLAYでXサーバを指定し、エクスポート
[lpic@remotepc]$ DISPLAY=localpc:0
[lpic@remotepc]$ export DISPLAY

#remotepcでXクライアントを起動
[lpic@remotepc]$ rxvt $
  • 環境変数DISPLAY
    書式:サーバ名:ディスプレイ番号.スクリーン番号
変数の要素 説明
サーバ名 リクエストの送り先のXサーバを指定(省略するとlocalhostになる)
ディスプレイ番号 同じキーボードとマウスを共有するモニタの集合に対して付けられる番号。通常は0
スクリーン番号 モニタにつけられる番号(0は1台目、1は2台目のモニタを指定)

xhostコマンド

書式:xhost [+-] ホスト名
XクライアントがXサーバを利用できるように許可を与えるコマンド。引数なしで実行すると、現在の状態が表示される。IPアドレスでも指定可能
クライアントの認証は行わないので、使用環境によってはセキュリティ上の問題となる。

オプション 説明
+ ホスト名 指定したホストをXサーバ接続許可リストに追加する(省略可能)
- ホスト名 指定したホストをXサーバ接続許可リストから削除する
+ 全てのホストがXサーバに接続することを許可する。アクセス制御は無効
- Xサーバ接続許可リストによるアクセス制御を有効にする

X11ポート転送

リモートのXクライアントホストのX11ポートをsshの通信路を利用してローカルのXサーバに転送することで、リモートで実行したXのアプリケーションをローカルホストの画面に表示、操作できる。

キャプチャ8.PNG
利用するにはSSHサーバ側とSSHクライアント側で以下の設定が必要になる

  • SSHサーバ側
    /etc/ssh/sshd_comfigで「X11Forwatding yes」を設定する

  • SSHクライアント側
    /etc/ssh/ssh_comfigで「ForwardX11 yes」を設定する

X.Org

以前は/etc/Xll/xorg.confファイルで設定を行っていたが、現在は手動で設定する必要はほとんどない。
/etc/Xll/xorg.conf.dディレクトリ以下に複数の.comfファイルとして配置されることもある

セクションは「Section"セクション名"」から「EndSection」までの範囲で記述されている

セクション 説明
Files フォントやカラーデータベースファイルのパス名
Module ダイナミックモジュールの設定
InputDevice キーボードやマウスなどの入力装置の設定
InputClass 入力装置の「クラス」に適用される設定
Device ビデオカードの設定
Monitor モニターの設定
Modes ビデオモードの設定
Screen ディスプレイの解像度、色深度(表示色数)や画面サイズの設定
SeverLayout 入出力デバイスとスクリーンの指定

Xorg -configureコマンド

コマンド実行すると、xorg.confファイルからxorg.conf.newという名前のファイルを自動生成してくれる。最近のディストリビューションにはファイルが存在せず、システム起動時に設定を行う場合もある。
それをxorg.confという名前で/etc/X11ディレクトリ内にコピーする。

startxコマンド

CUI環境(ランレベル3)で実行すると、X Window Systemが起動する。実体はスクリプトで、X Window Systemの環境を整えるのに必要なコマンドの実行、設定ファイルのパスが書かれている

startx実行時の流れ

  1. startxコマンドの実行
  2. xinitコマンドの実行
  3. ホームディレクトリの~/.xinitrcを実行。ない場合は、/etc/X11/xinit/xinitrcを実行
  4. GNOMEなどのウィンドウマネージャを起動

xdpyinfo(X Display Infomation)コマンド

Xサーバについての情報を表示するコマンド。

  • depth of root window
    色数を確認することが出来る。表示欄は2のn乗で計算を行う
表示 説明
1 planes 2の1乗=2色(モノクロ)
8 planes 2の8乗=256色
24 planes 2の24乗=16777216色

xwininfoコマンド

クリックした特定のウィンドウの情報を表示する。「-root」オプションによりルートウィンドウの情報を表示することが出来る。

xauthコマンド

Xサーバへの接続に使用される資格情報を表示したり、クライアント認証ファイルを編集するコマンド。ユーザ単位でXサーバへのアクセスを制限する

Wayland

Xに代わる新しいディスプレイサーバのことで、CentOS8ではデフォルトのディスプレイサーバになっている。
クライアントとサーバはWaylandプロトコルで通信をする。ディスプレイサーバは個々のクライアントアプリケーションのウィンドウを合成(composite:コンポジット)してスクリーンイメージを生成する。Waylandの主要な機能であり、compositor(コンポジッタ)と呼ばれる。

グラフィカルデスクトップ

ディスプレイマネージャ

ランレベルが5の時にユーザにグラフィカルログイン画面(GUI環境のログイン)を提供し、ログイン認証、ログイン後のデスクトップ環境の準備を行うソフトウェアのこと。複数のデスクトップ環境がインストールされている場合、切り替えることが可能。

  • X.Org 標準のXDM(X Display Manager)
  • GNOMEで利用されるGDM(Gnome Display Manager)
  • KDE Plasmaで利用されるSDDM(Simple Desktop Display Manager)
  • Ubuntu で標準採用されているLightDM
  • KDEで利用されるKDM

・GNOME(GNU Network Object Model Environment)とは??
UNIX系OSでよく利用されるデスクトップ環境の一つ。X Window System上で動作するソフトウェアのパッケージで、商用OS製品に似た美しく機能的なデスクトップ環境を構築することができる。オープンソースソフトウェアとして公開されているため誰でも自由に入手、利用、改変、再配布などすることができる。

・KDE(K Desktop Environment)
UNIX系OSでよく利用されるデスクトップ環境の一つ。X Window System上で動作するソフトウェアのパッケージで、Microsoft Windowsなどの商用OS製品に似た美しく機能的なデスクトップ環境を構築することができる。

ディスプレイマネージャを起動するシーケンスはSysV initとsystemdそれぞれのシステムで異なる

  • SysV initの場合
    ランレベル5で立ち上げた場合、あるいはほかのランレベルから5に切り替えた場合、initから起動されるシェルスクリプトprefdm(Preferred Displau Manager)がディスプレイマネージャを起動する。
    環境変数DISPLAYMANAGERによりディスプレイマネージャを指定する。

  • systemdの場合
    シンボリックリンクファイルdisplay-manager.serviceのリンク先のディスプレイマネージャを起動する。systemctlコマンドにより使用有無を切り替えることが出来る。

ディスプレイマネージャはユーザー認証が完了すると、Xサーバ(X.Org)とXクライアントを起動する。

キャプチャ7.PNG

XDM(X Display Manager)

X.Org標準のディスプレイマネージャ。XDMCPプロトコルを使用して、ネットワーク上にあるX端末にもグラフィカルログイン画面を提供する。XDMの設定ファイルは/etc/X11/xdmディレクトリに格納されています。

ファイル名 説明
xdm-config XDMの設定ファイル
Xresources XDMログイン画面のデザイン設定
Xaccess ホストからXDMのアクセス許可の設定
Xsetup_0 XDMログイン画面表示前に実行されるスクリプト
Xsession XDMのログイン後に実行されるスクリプト

ウィンドウマネージャ

Xの外観を制御しているソフトウェアのことで、ウィンドウの外観、メニュー、アイコンなどを提供するXクライアント。ウィンドウのオープン、クローズ、移動、リサイズなどを管理するプログラム。

ウィンドウマネージャ 説明
twm 最小限の機能を備えた基本的なウィンドウマネージャ
FVWM 軽快でシンプルなウィンドウマネージャ
Enlightenment 高度なカスタマイズが可能なウィンドウマネージャ
Mutter GNOME2の標準ウィンドウマネージャ
Metacity GNOME3の標準ウィンドウマネージャ
Fluxbox 軽快でカスタマイズ性の高いウィンドウマネージャ
WindowMaker 簡素で軽量なウィンドウマネージャ
Compiz 立体的な画面効果が華々しいウィンドウマネージャ
KWin KDEの標準ウィンドウマネージャ

統合デスクトップ環境

ウィンドウマネージャ含めて、アプリケーションまで揃えて統一的な操作が提供されるもの。代表的なものは、GNOMEとKDE Plasma。

種類 GNOME KDE Plasma
テキストエディタ gedit KEdit
端末 GNOME端末 Konsole
ファイルマネージャ Nautilus Dolphin
ディスプレイマネージャ GDM SDDM
ウィンドウマネージャ Mutter KWin

Xfce

メモリやCPUの消費量が少ない軽量のデスクトップ環境。GNOMEやKDEに比べて軽快に動作し、見た目も良く、使いやすい。

リモートデスクトップ

ネットワーク経由でリモートコンピュータのデスクトップを操作する技術で、離れた場所のデスクトップを操作することが出来る。

VNC(Virtual Network Computing)

Windows、Linux、MacOSなどクロスプラットフォーム対応のリモートデスクトップソフトウェアのこと。
ディスプレイがないと発動しない。操作しているのが相手に見えてしまう。
デスクトップを操作される側のコンピュータにVNCサーバを、操作する側のコンピュータにはVNCクライアントをインストール

#VNCサーバを起動させる。:1はディスプレイ番号
$ vncsever :1

#終了するとき
$ vncserver -kill :1

RDP(Remote Desktop Protocol)

Windows標準のリモートデスクトッププロトコルで、標準的に利用が出来る。WindowsのデスクトップをLinuxデスクトップに表示させたい場合に利用する。Windows側でアクセスを許可する必要がある。
専用のセッションで動かしているため、操作している様子はわからない。同時セッションは1つのみ。

SPICE(Simple Protocol for Independent Computing Environment)

RDPと同様のOSSの画面転送プロトコル。VNCと異なり、4画面までのマルチモニタネットワーク経由でのUSB転送など、VNCがサポートしていない多くの機能をサポートしている。

XDMCP(X Display Manager Control Protocol)

ディスプレイマネージャをネットワーク越しに利用できるプロトコルで、Xサーバとディスプレイマネージャの間で使用される。通信経路が暗号化されていないため安全性に問題がある。

Accessibility(アクセシビリティ)

ユーザー補助機能全般のことをさし、障碍者を支援するためのソフトウェア技術であるAT(Assistive Technology)を利用することが出来る。

音声認識

音声入力をコンピューターが認識し、文字に変換したり操作を行う。Linuxで音声認識の機能を使用するには、Julius(音声認識エンジン)やKaldi(音響モデルの作成を行う)などのソフトウェア、単語辞書などが必要になる。

gok(GNOME Onscreen Keyboard)

GNOME2のオンスクリーンキーボード(ソフトウェアキーボード)のこと。gokコマンドで表示することが出来る。

emacspeak

Emacs環境に統合されたスクリーンリーダーのアプリケーション。Emacsに読み込んだテキストや電子メールなどを音声で読み上げることができる。

点字ディスプレイ

文字データを点字に変換して専用点字ディスプレイに出力

点字キーボード

点字の一文字を表す6つの点にそれぞれ対応する6点キーで入力

スティッキーキー(固定キー)

有効にすると、別のキーを入力するまでの間、修飾キー(Shift,Alt,Ctrl,Metaキーなど)が押されたままの状態になる。この状態のことをラッチと呼ぶ。
修飾キーを連続で押すとロックされる。修飾キーをもう一度押すまでロック状態が維持される。

スローキー

キー押下を認識する時間を調整したり、キー押下に合わせてビープ音を鳴らしたりすることが出来る機能

バウンスキー

誤って立て続けに同じキーを押してしまっても、連続した入力とみなされないよう、素早く何度も押したり押し続けたりした場合のみ入力を無視することが出来る。

トグルキー

NumLockキー、CapsLockキー、ScrollLockキーなどを押して機能が有効になるとビープ音が1回、無効になったときはビープ音を2回鳴らす機能

マウスキー

マウスの代わりにテンキーを使ってマウスポインタを移動させたり、クリック操作をしたりすることが出来る機能

3
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?