X客户端是否一定需要窗口管理器才能工作?X客户端只能与X服务器一起使用吗?
如果X客户端没有窗口,它是否可以工作需要窗口管理器?
如果X客户端可以在没有窗口管理器的情况下工作,那么X客户端是否一定没有窗口?
谢谢。
X客户端是否一定需要窗口管理器才能工作?X客户端只能与X服务器一起使用吗?
如果X客户端没有窗口,它是否可以工作需要窗口管理器?
如果X客户端可以在没有窗口管理器的情况下工作,那么X客户端是否一定没有窗口?
谢谢。
Answers:
不会。编写良好的应用程序不需要窗口管理器。
但是,如果没有窗口管理器,某些“现代”损坏的应用程序将无法正常工作(例如,firefox及其地址栏建议不会下降[1])。
许多其他低于标准的应用程序不仅采用了窗口管理器,而且还增加了对伤害的侮辱,只需单击以使窗口管理器聚焦即可。例如,过去任何Java应用程序都会简单地将注意力集中在启动上。
如果要测试,请安装Xephyr
(“嵌套” X11服务器),使用进行运行Xephyr :1
,然后DISPLAY=:1
在其环境中启动应用程序。
[1]除非有窗口管理器在运行,否则Firefox的“超赞栏”在键入或单击历史记录按钮时将不会打开其建议窗格。自动隐藏菜单也不起作用。
不,您无需运行窗口管理器即可允许X客户端工作。某些系统提供了仅在启动时运行终端的选项,然后您可以启动其他程序,包括窗口管理器。一些只需要运行一个应用程序的信息亭设置不需要窗口管理器。Microsoft Windows的X的某些实现通过让OS管理窗口来避免使用X窗口管理器。
如果没有窗口管理器,通常需要为程序指定几何形状,这样就不会将所有内容放在左上角。
在X中,窗口管理器只是另一个X客户端。在当时这是不寻常的,但是使拥有不同的窗口管理器变得容易。
解决问题的另一种方法是观察您可以随时更改窗口管理器,因此在第一个停止和第二个控制之间有一段时间,但是由于所有应用程序都不会崩溃,因此它们必须能够没有工作。
窗口管理器为用户带来了便利。
在过去的美好时光中,我曾经有一个~/.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
当我从开始X时,将运行该文件startx
。该脚本完成后,X服务器将关闭。
请注意最后一行:exec .../fvwm
。这是启动我的窗口管理器(fvwm)的行。以前所有的应用程序(xv
,xterm
,xclock
,xscreensaver
)窗口管理器开始前正在运行。因为对的调用fvwm
是最后一行,而不是放在后台,所以这意味着在fvwm
终止时X将会关闭。
X启动甚至具有默认的“后备” ...如果没有配置文件,则只需xterm
运行一次即可启动X。关闭xterm
将结束X会话。
fvwm
运行(并通过运行它exec
),我们确保仍有阻止X服务器关闭的进程。通过执行最后一个过程,fvwm
可以使“退出”菜单项按预期工作。
fvwm-1.24r
是我最喜欢的窗口管理器:-)
这里有很多很好的详细答案。这是简单明了的答案。
X客户端是否一定需要窗口管理器才能工作?
否:但是如果您不愿意管理窗口(移动,调整大小,降低,升高等),就可以。如果需要,还有其他工具可以执行此操作。
X客户端只能与X服务器一起使用吗?
是
如果X客户端没有窗口,它是否可以工作需要窗口管理器?
如果没有窗口,则应该没有窗口管理器。
如果X客户端可以在没有窗口管理器的情况下工作,那么X客户端是否一定没有窗口?
否:可以有窗户。
尝试这个。
DISPLAY=:21
vncserver -localhost -geometry 1920x1080 -SecurityTypes None $DISPLAY &
ssvnc $DISPLAY
xterm &
然后以新的xterm
类型fvwm
。
您可能需要安装vncserver
,ssvnc
和fvwm
,第一。
是的,X客户端只能与X服务器一起使用。例如,我在主机上为虚拟机提供了自己的虚拟控制台,如下所示。
# Press CTRL-ALT-F5, login and enter this command:
startx /usr/bin/virt-viewer -a -k -r -w -c qemu:///system CentOS -- :4
# Press CTRL-ALT-F6, login and enter this command:
startx /usr/bin/virt-viewer -a -k -r -w -c qemu:///system Windows -- :5
“ startx”命令在仅使用virt-viewer作为客户端的显示器:4和:5上启动Xorg X服务器。
“ CentOS”和“ Windows”是我在安装虚拟机时为其赋予的名称。用于virt-viewer 的-k开关使它以最少的控制显示为全屏,因此在我按CTRL-ALT-Fn切换到其他虚拟控制台之前,每个虚拟机似乎都是该计算机的所有者。
当然,CentOS在虚拟机内部运行显示管理器和窗口管理器,但是与主机上运行的X服务器没有任何关系。