Gil*_*il' 34
startx运行xinit它启动一个 X 服务器和一个客户端会话。客户端会话~/.xinitrc是否存在,否则/etc/X11/xinit/xinitrc(位置可能因发行版而异)。此脚本的作用因发行版而异。在 Debian(包括 Raspbian 等衍生产品)上,/etc/X11/xinit/xinitrc运行/etc/X11/Xsession它又运行/etc/X11/Xsession.d. Debian 脚本在其他文件 ( ~/.xsession, ~/.xsessionrc, ~/.Xsession) 中查找用户会话,如果没有适用的用户设置,则运行x-session-manager(回退到x-window-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
Run Code Online (Sandbox Code Playgroud)
或获得更详细的描述,表明哪个是当前的
update-alternatives --display x-session-manager
Run Code Online (Sandbox Code Playgroud)
如果 LXDE 不是系统范围的默认设置,并且您希望将其设置为您帐户的默认设置,则可以使用以下~/.xsession文件:
#!/bin/sh
exec startlxde
Run Code Online (Sandbox Code Playgroud)
在某些 Unix 变体上,这只会针对图形登录运行,而不针对startx,因此您还需要创建一个相同的~/.xinitrc. (或者不相同:在 中~/.xsession,您可能想要做其他事情,因为这是在图形会话中执行的第一个文件;例如,您可以放在. ~/.profile靠近顶部的位置,以设置一些环境变量。)
如果您想一次性尝试其他环境,您可以指定一个不同的程序在其startx自身的命令行上运行。该startx程序有一个怪癖:您需要使用程序的完整路径。
startx /usr/bin/startkde
Run Code Online (Sandbox Code Playgroud)
该startx命令还允许您指定要传递给服务器的参数。例如,如果要同时运行多个 GUI 会话,则可以每次传递不同的显示编号。--在命令行之后传递服务器参数startx。
startx /usr/bin/startkde -- :1
Run Code Online (Sandbox Code Playgroud)
Tho*_*key 10
否:startx可配置。根据手册页:
要确定要运行的客户端,
startx首先要查找.xinitrc在用户主目录中调用的文件。如果没有找到,它使用文件xinitrc的xinit库目录。
startx不是启动 X 的唯一方法(如您所见startlxde)。该startx手册页再次帮助:
startx 脚本是xinit(1)的前端,它为运行 X Window 系统的单个会话提供了更好的用户界面。它通常在没有参数的情况下运行。
另一方面,如果您要选择 GUI(LXDE、KDE 等),则、或等xdm相似对象用于选择不同的桌面类型。在 Debian 上,我通常使用,因为它允许不同的桌面类型。包装器不允许大多数桌面类型,使其不适合我的需求。kdmgdmLightDMkdmgdm
xdm使用一组不同的脚本来启动,例如,您的~/.xsession脚本和系统脚本。相似者可能会忽略这一点,并使用他们自己的脚本。但这是一个起点。