Tim*_*Tim 32 window-manager x11
X 客户端是否一定需要窗口管理器才能工作?X 客户端可以只与 X 服务器一起工作吗?
如果 X 客户端没有窗口,是否需要窗口管理器才能工作?
如果 X 客户端可以在没有窗口管理器的情况下工作,那么 X 客户端是否一定没有窗口?
谢谢。
ica*_*rus 38
不,您不需要运行窗口管理器来允许 X 客户端工作。有些系统提供了在启动时只运行终端的选项,您可以从中启动其他程序,包括窗口管理器。一些只希望运行一个应用程序的信息亭设置不需要窗口管理器。微软 Windows 的一些 X 实现通过让操作系统管理窗口来避免使用 X 窗口管理器。
如果没有窗口管理器,您通常需要为程序指定几何图形,因此您不会将所有内容都放在左上角。
在 X 中,窗口管理器只是另一个 X 客户端。这在当时并不常见,但可以轻松拥有不同的窗口管理器。
看待问题的另一种方法是观察您可以动态更改窗口管理器,因此在第一个停止和第二个控制之间有一段时间,但是由于您的所有应用程序都不会崩溃,因此它们必须能够没有工作。
mos*_*svy 26
不。写得好的应用程序不需要窗口管理器。
但是,如果没有窗口管理器,某些“现代”损坏的应用程序将无法正常工作(例如,firefox 及其地址栏建议不会下拉 [1])。
许多其他劣质应用程序不仅假设有一个窗口管理器,而且更糟的是,单击以聚焦窗口管理器。例如,过去任何 Java 应用程序都会简单地窃取启动的注意力。
如果你想测试,安装Xephyr
(一个“嵌套的”X11 服务器),用 运行它Xephyr :1
,然后DISPLAY=:1
在它们的环境中启动你的应用程序。
[1] 除非有窗口管理器正在运行,否则 Firefox 的“很棒的栏”在输入或单击历史记录按钮时不会打开其建议窗格。自动隐藏菜单也不起作用。
窗口管理器为用户提供了便利。
在美好的 ^Wbad 过去,我曾经有一个~/.Xclients
文件,上面写着:
#!/bin/sh
HOST=`uname -n | sed 's/\..*$//'`
xv -root -rmode 5 $HOME/misc/millennium/theme/Wallpaper.gif -quit &
xterm -geometry 80x24+0+85 \#52x71-104+0 -n $HOST -T $HOST &
xterm -geometry 80x24+510+429 \#52x71-52+0 -n $HOST -T $HOST &
xclock -digital -update 1 -geometry +1059+982 &
xscreensaver -nosplash &
exec /usr/local/lib/X11/fvwm/fvwm
Run Code Online (Sandbox Code Playgroud)
当我使用startx
. 当这个脚本完成时,X 服务器将关闭。
注意最后一行:exec .../fvwm
。这是启动我的窗口管理器 (fvwm) 的行。所有以前的应用程序(xv
、xterm
、xclock
、xscreensaver
)都在窗口管理器启动之前运行。因为调用fvwm
是最后一行而不是放在后台,这意味着当fvwm
终止时 X 将关闭。
X 启动甚至有一个“回退”默认值……如果没有配置文件,那么只需xterm
运行一次即可启动 X。关闭xterm
将结束 X 会话。