Arch Linux - GUI 構築に必要なもの

GUI を構成するのに必要なもの
GUI 環境を自分でカスタマイズしたい場合は、何が必要になるかを理解しておく必要があります。
ディスプレイサーバー
GUI にとって一番基礎となるものです。
アプリケーションは、ディスプレイサーバーが実装している API を使って、ウィンドウを表示したりします。

今までは「X Window System (X11)」が使われてきましたが、古くからあるものを無理矢理機能拡張して使ってきた状態であるため、現在では実装に限界が来たので、新しく「Wayland」が開発されました。

2020年現在では、まだ X11 から完全に移行できるだけの状態ではありませんが、今後はデフォルトになっていくものと思われます。

# Xorg - ArchWiki
# Wayland - ArchWiki
GUI ツールキット
アプリケーションは、ディスプレイサーバーの API を使って GUI を構築しますが、ディスプレイサーバーでは、メニューやボタンなどの各部品は実装されていないため、それらはアプリ側が自分で実装することになります。

しかし、各開発者が各々でそれらを実装するのは手間がかかる上、外観に統一性がなくなるので、GUI の開発が簡単にできるように、様々な機能をまとめてライブラリにしたのが、GUI ツールキットです。

現在は、多くのアプリが GTK+Qt で開発されています。
他にもいくつかマイナーなものもあります。
ディスプレイマネージャ
ユーザーのログインや、ウィンドウマネージャの選択などを行うためのもので、起動後に一番最初に表示される GUI 画面となります。

# ディスプレイマネージャ - ArchWiki
ウィンドウマネージャ
タイトルバーや枠などのウィンドウ外観や、デスクトップにおけるウィンドウの操作・動作などを実装するのが、ウィンドウマネージャです。
デスクトップの外観や機能性を決める上で、一番重要になります。

# ウィンドウマネージャ - ArchWiki
壁紙
デスクトップの背景を表示するためのものです。

X11 上で、背景を1色の塗りつぶしにしたい場合は、xorg-xsetroot をインストールした上で、
~/.xinitrc などで、「xsetroot -solid "#505070" &」といったように記述します。
(" " がないと、# がシェルのコメントとして扱われるので注意)

# 壁紙設定
タスクバー
メニューボタン、簡易ランチャー、ウィンドウ一覧、時計、システムトレイなどを表示するバーです。
必要な場合はインストールします。

# タスクバー・パネル・ドック
ランチャー
頻繁に使用するアプリのアイコンを置いたりして、簡単に起動できるようにするものです。
タスクバーを置かずに、ランチャーだけ置くといったこともできます。

# アプリケーションランチャー
日本語 IM
日本語入力を行う場合は、インプットメソッドが必要になります。
現在では、Fcitx + Mozc を使うのが一般的です。

# 国際化 - ArchWiki
クリップボードマネージャ
クリップボードとしての機能は、X11 や Wayland のディスプレイサーバー側で実装がされていますが、これは基本的にアプリ間でのやりとりとなります。

ディスプレイサーバー側では、クリップボードでコピーされた内容は保持していないため、コピー元のアプリが終了すると、その後は貼り付けができなくなります。

クリップボードマネージャとしてのアプリが存在する、または、デスクトップ自体がその機能を担っている場合、クリップボードのデータはそのアプリやデスクトップが管理するため、コピー元のアプリが終了しても、続けて貼り付けることができます。

ただし、これがなくても、起動しているアプリ間でのコピー&ペーストはできるので、必要なければなくても構いません。

# クリップボード - ArchWiki