startx 執行什麼桌面環境,如何更改?
從許多文件中,我讀到
startx
在 Raspbian OS 中啟動 LXDE。我有點困惑。總是
startx
執行 LXDE GUI?我也看到了使用
startlxde
命令的例子。該命令有何不同,為什麼startx
以及startlxde
執行相同的 GUI(LXDE)?或者它執行它是因為它是預設的 GUI?如果我有多個 GUI,如何選擇預設 GUI?
您能否解釋一下有關 Linux 系統中 GUI 的更多細節?
startx
執行xinit
它啟動一個 X 伺服器和一個客戶端會話。客戶端會話~/.xinitrc
是否存在,否則/etc/X11/xinit/xinitrc
(位置可能因發行版而異)。該腳本的作用因發行版而異。在 Debian(包括 Raspbian 等衍生產品)上,/etc/X11/xinit/xinitrc
runs/etc/X11/Xsession
反過來執行/etc/X11/Xsession.d
.~/.xsession
Debian 腳本在其他文件 ( ,~/.xsessionrc
, )中查找使用者會話~/.Xsession
,如果沒有適用的使用者設置,則執行(如果沒有則x-session-manager
回退到x-window-manager
$$ session manager $$已安裝,
x-terminal-emulator
在不太可能的情況下沒有安裝視窗管理器)。 如果您想控制執行的內容,您可以創建一個使用者文件,~/.xsession
或者~/.xinitrc
.~/.xsession
如果您在顯示管理器上登錄(即如果您在 GUI 視窗中輸入密碼),也會使用該文件。該文件~/.xinitrc
特定於xinit
和startx
。Using~/.xsession
會通過/etc/X11/Xsession
它設置輸入法、資源、密碼代理等內容。如果使用.xinitrc
,則必須手動完成所有這些操作。再一次,我在這裡描述的是 Debian,其他 Unix 變體可能會有不同的設置。用於~/.xinitrc
指定執行時執行的內容,startx
或者xinit
是通用的。無論你使用
~/.xinitrc
還是~/.xsession
,這個文件(通常是一個 shell 腳本,但如果你真的想使用其他東西就不必這樣)必須準備好需要準備的任何東西(例如鍵盤設置、資源、未啟動的小程序)通過視窗管理器等),然後在最後執行管理會話的程序。當腳本結束時,會話終止。通常,您將exec
在腳本末尾使用會話管理器或視窗管理器替換腳本。您的系統可能具有
/usr/bin/startlxde
系統範圍的預設會話管理器。在 Debian 和衍生產品上,您可以使用以下命令檢查可用的會話管理器update-alternatives --list x-session-manager
或獲得更詳細的描述,指示哪個是目前的
update-alternatives --display x-session-manager
如果 LXDE 不是系統範圍的預設值,並且您想將其設為您帳戶的預設值,則可以使用以下
~/.xsession
文件:#!/bin/sh exec startlxde
在某些 Unix 變體上,它只能用於圖形登錄,而不是 .
startx
,因此您還需要創建一個相同的~/.xinitrc
. (或不相同:在 中~/.xsession
,您可能想做其他事情,因為這是在圖形會話中執行的第一個文件;例如,您可以放在. ~/.profile
頂部附近,以設置一些環境變數。)如果您想一次性嘗試其他環境,您可以指定一個不同的程序在其
startx
自身的命令行上執行。該startx
程序有一個怪癖:您需要使用程序的完整路徑。startx /usr/bin/startkde
該
startx
命令還允許您指定要傳遞給伺服器的參數。例如,如果您想同時執行多個 GUI 會話,您可以每次傳遞不同的顯示編號。--
在命令行之後傳遞伺服器參數startx
。startx /usr/bin/startkde -- :1