Linux のデスクトップを入れようとしたら、KDE か GNOME か Xfce か選べって言われた
【疑問】KDE と GNOME と Xfce、何が違う?デスクトップ環境と、XDMCP・VNC・SPICE・RDP のリモートデスクトップ【LPICレベル1】
前提のおさらい。X11 では画面を持つ側が X サーバー、アプリが X クライアント。ウィンドウの枠を受け持つのがウィンドウマネージャで、それに色々まとめたのがデスクトップ環境
>>1
主なデスクトップ環境
KDE Plasma:Qt で作られてて、細かく設定できる
GNOME:GTK で作られてて、多くのディストリビューションの既定
Xfce:GTK で作られた軽いもの。古いマシン向け
ほかに Cinnamon、MATE、LXQt なども
>>3
Qt と GTK って?
>>4
画面の部品(ボタンやメニュー)を作るためのライブラリ(ツールキット)。KDE のアプリは Qt、GNOME のアプリは GTK を使う。違うデスクトップでも、ライブラリが入ってればアプリは動く
遠くのマシンのデスクトップを、まるごと手元で使いたい
>>6
方式がいくつかある
XDMCP:X のログイン画面ごと遠くの X サーバーに出す。UDP の177番。暗号化されないから信頼できるネットワークだけ
VNC:画面を画像として送る。RFB というプロトコルで、ディスプレイ番号 n なら TCP の 5900+n 番。OS を問わない
RDP:Microsoft のリモートデスクトップのプロトコル。TCP の3389番。Linux でも xrdp で受けられる
SPICE:主に KVM・QEMU の仮想マシンの画面を使うための方式
>>7
/etc/services で確かめたら xdmcp 177/udp、ms-wbt-server 3389/tcp やった
>>7
VNC のディスプレイ :2 なら
番ポートやな
>>7
VNC は暗号化されるん?
>>10
古い VNC は弱い。インターネット越しなら SSH のポート転送の中を通す。ssh -L 5901:localhost:5901 user@203.0.113.5 で、手元の VNC クライアントは localhost:5901 につなぐ
>>7
ssh -X との違いは?
>>12
ssh -X はアプリ1つずつの画面を手元の X サーバーに出す。VNC や RDP はデスクトップ全体を1枚の画面として送る。手元が Windows なら RDP や VNC のほうが使いやすい
>>7
SPICE は普段使うん?
>>14
virt-manager などで KVM の仮想マシンの画面を開くときに使われてる。仮想マシンのゲストに spice-vdagent を入れると、画面の大きさの自動調整やクリップボードの共有ができる
>>1
デスクトップを入れずに、ウィンドウマネージャだけってのもあり?
>>16
あり。Openbox や i3 などだけを動かして、軽くすることもできる。サーバーには GUI 自体を入れないのが普通
>>2
試したマシンには画面がないから、どの方式も動かしてない。ポートは /etc/services で確かめた
>>3
KDE は Qt、GNOME と Xfce は GTK で Xfce は軽い。遠くの画面は XDMCP(UDP 177)、VNC(5900+n)、RDP(3389)、仮想マシンは SPICE。VNC は SSH の中を通す。選べそう
管理人のひとこと
- 主なデスクトップ環境:KDE Plasma(Qt)、GNOME(GTK、多くの既定)、Xfce(GTK、軽量)、ほかに Cinnamon・MATE・LXQt。ウィンドウマネージャだけで使うこともできる。
- XDMCP:X のログイン画面ごと遠隔の X サーバーへ(UDP 177、暗号化なし)。
- VNC:画面を画像で送る RFB(TCP 5900+ディスプレイ番号)。RDP:Microsoft の方式(TCP 3389、Linux では xrdp)。SPICE:KVM・QEMU の仮想マシン向け(spice-vdagent)。
- インターネット越しの VNC などは SSH のポート転送で暗号化する。ssh -X はアプリ単位、VNC・RDP はデスクトップ全体。