Nói chung, bản cài đặt Red Hat Linux đã ngầm định cấu hình máy khởi động ở môi trường đồ hoạ, gọi là runlevel 5. Tuy nhiên có thể khởi động trong chế độ text nhiều người dùng (gọi là runlevel 3) và sau đó mới khởi động một phiên hội X.
a. Runlevel 3
Khi chạy runlevel 3, cách tốt nhất để khởi động một phiên hội X là log in và gõ lệnh
startx. Lệnh startx là lệnh đầu tiện để gọi xinit chạy XFree86 server và kết nối các ứng dụng X clients vào server. Vì người dùng đã log vào hệ thống ở runlevel 3, nên startx không hiển thị màn hình đòi xác nhận người dùng nữa.
Khi lệnh startx được thực hiện, hệ thống sẽ tìm tệp .xinitrc trong thư mục của người dùng để định nghĩa môi trường desktop và có thể là những ứng dụng X client khác để chạy. Nếu không có tệp .xinitrc, hệ thống sẽ dùng tệp
/etc/X11/xinit/xinitrc.
Script xinitrc ngầm định, tìm kiếm các tệp người dùng định nghĩa và các tệp hệ thống ngầm định như.Xresources, .Xmodmap, và .Xkbmap trong thư mục home của người dùng và các tệp Xresources, Xmodmap, và Xkbmap trong thư mục /etc/X11/. Nếu tồn tại các tệp Xmodmap và Xkbmap, được tiện ích xmodmap dùng để cấu hình bàn phím. Các tệp Xresources được dùng để xác định các giá trị preference cho các ứng dụng.
Sau khi thiết lập các tham số này, script xinitrc chạy tất cả các script có trong thư mục /etc/X11/xinit/xinitrc.d/. Một script quan trọng trong thư mục này là xinput, cấu hình các tham số như ngôn ngữ ngầm định.
Tiếp theo script xinitrc chạy .Xclients trong thư mục home của người dùng trong trường hợp không có thì chạy /etc/X11/xinit/Xclients. Mục đích của tệp
Xclients là khởi động desktop environmen hoặc có thể là một Trình quản trị cửa sổ. Tệp .Xclients trong thư mục home của người dùng mở môi trường desktop do người dùng xác định trong tệp .Xclients-default. Nếu không có tệp .Xclients trong thư mục home của người dùng thì tệp /etc/X11/init/Xclients sẽ được dùng để mở một môi trường desktop khác, đầu tiên là GNOME sau đó là KDE với twm. Người dùng quay trở về chế độ text sau khi log-out khỏi X.
b. Runlevel 5
Khi hệ thống khởi động với runlevel 5 một ứng dụng X client đặc biệt. Người dùng phải xác nhận trong display manager trước khi khởi tạo môi trường desktops hay Trình quản trị cửa sổ.
Tuỳ vào môi trường desktops được cài, sẽ có ba display managers khác nhau để xác nhận người dùng.
gdm — display manager ngầm định của Red Hat Linux, gdm cho phép người dùng chọn ngôn ngữ, shutdown, restart hay log in.
kdm — display manager của KDE cho phép người dùng shutdown, restart hay log in.
xdm — display manager cơ bản cho phép người dùng log in.
Khi khởi động bằng runlevel 5, script prefdm xác định display manager trong tệp /etc/sysconfig/desktop. Xem tệp /usr/share/doc/initscripts-<version-
number>/sysconfig.txt (ở đó <version-number> là số hiệu phiên bản của gói initscripts package) để biết thêm các tham số khác trong tệp.
Mỗi display managers có một tệp /etc/X11/xdm/Xsetup_0 để thiết lập màn hình login. Ngay khi người dùng log-in, script /etc/X11/xdm/GiveConsole chạy để gán quyền của console cho người dùng đó. Sau đó script /etc/X11/xdm/Xsession chạy để hoàn thành nhiều tác vụ thông thường được thực hiện do script xinitrc như khi khởi động X từ runlevel 3, gồm các thiết lập tài nguyên hệ thống và người dùng cũng như chạy các scripts trong thư mục /etc/X11/xinit/xinitrc.d/ .
Người dùng có thể xác định môi trường desktop nào muốn sử dụng sau đó xác nhận dùng display manager gdm hay kdm bằng cách chọn từ menu Session (Dùng lệnh
Main Menu Button [trên thanh Panel] => Preferences => More Preferences =>
Sessions). Nếu chưa chọn môi trường desktop trong display manager, thì script /etc/X11/xdm/Xsession sẽ kiểm tra các tệp .xsession và .Xclients trong thư mục home của người dùng để xác định môi trường desktop sẽ được tải. Vị trí cuối cùng là tệp /etc/X11/xinit/Xclients được dùng để chọn môi trường desktop hoặc Trình quản trị cửa sổ giống như khi khởi động từ runlevel 3.
Khi người dùng chọn xong một phiên hội X (:0) và log-out, thì script
/etc/X11/xdm/TakeConsole chạy và ghi lại quyền của console cho root. Display manager gốc vẫn chạy sau khi người dùng này log-in và lấy quyền quản trị bằng một display manager mới. Nghĩa là khởi động lại XFree86 server, mở một cửa sổ login mới và chạy lại toàn bộ tiến trình như trên.
Sẽ quay về màn hình display manager sau khi log-out khỏi X từ runlevel 5. Xem thêm thông tin về cách mà display managers quản trị người dùng, xem /usr/share/doc/gdm-
<version-number>/README (ở đó <version-number> là số hiệu phiên bản của gói gdm) và trang man của xdm.