Linux(X11)

Desktop Environment(CDE, KDE, GNOME,Unity...)
      A desktop environment (DE) is an implementation of the desktop metaphor 
made of a bundle of programs running on top of a computer operating system, 
which share a common graphical user interface (GUI).
      A desktop environment running on x window system including a window manager
(such as Mutter or KWin), a file manager (such as Files or Dolphin), a set of 
graphical themes(icons/cursors/fonts), together with toolkits (such as GTK+ and Qt) and libraries 
for managing the desktop

CDE(Common Desktop Environment)
KDE(K Desktop Environment, base on Qt(using xlib))
GNOME(GNU Network Object Model Environment, base on GTK(using xlib by GDK/glib))
Unity(base on GNOME2, now GNOME version is 3)


(sudo apt-get install ubuntu-desktop)
(sudo apt-get install gnome-shell)
(sudo apt-get install ubuntu-gnome-desktop)
(sudo apt-get install kbuntu-desktop)
(sudo apt-get install xfce4)

ubuntu 16.04 default: unity
ubuntu 18.04 default: gnome (gnome3)

 

X protocal
  Communication between server and clients is done by exchanging packets  over a channel

X protocal implementation
  Xorg, XFree86, XSun, XFce, Xnest, Motif...

X window system/X11/X
   X Window System is a windowing system for computers with bitmap displays

X drivers
  x graphics driver and x input driver (X11 doesn't manage any audio input/output support. )

内核和驱动包
   linux-generic
   xserver-xorg-core                             xserver
     xserver-xorg-input-all                        input driver
     xserver-xorg-video-all                        video/graphics driver

     xserver-xorg-dev                              developent files

针对ubuntu 16.04硬件启用堆栈(linux-generic-hwe-16.04 and xserver-xorg-hwe-16.04)
   xserver-xorg-core-hwe-16.04 
     xserver-xorg-input-all-hwe-16.04 
     xserver-xorg-video-all-hwe-16.04

     xserver-xorg-dev-hwe-16.04 

X video/graphics driver (/usr/lib/xorg/modules/drivers)

  VESA(Video Electronics Standards Association) 
  VGA (Video Graphics Array)
  fbdev (FrameBuffer Device)
  VESA,VGA ,fbdev等是针对不同模式显卡的驱动程序, 这些都是不同的显卡标准,不过这些标准都已经
很老了.现在的显卡都兼容这几种模式.
  framebuffer模式的显卡本身不具有任何运算数据的能力,他好比是一个暂时存放水的水池.CPU将运
算后的结果放到这个水池,水池再将结果流到显示器.中间不会对数据做处理.所有显示任务都有CPU完成,
CPU负担很重. Linux内核中有framebuffer机制,摹仿framebuffer显卡的这种功能.好处是把显卡的
硬件结构抽象掉,把所有的显卡都当做一个"水池"来用.应用程序也可以直接读取这个水池的内容.
  framebuffer的设备名是 /dev/fb

命令:
清空屏幕#dd if=/dev/zero of=/dev/fb
将fb中的内容保存下来:#dd if=/dev/fb of=fbfile
可以重新写回屏幕:#dd if=fbfile of=/dev/fb
开源通用驱动
xserver-xorg-video-fbdev    framebuffer
xserver-xorg-video-vesa     vesa

开源专用驱动
xserver-xorg-video-nouveau  nvidia
xserver-xorg-video-ati      ati
xserver-xorg-video-amdgpu   amd/ati
xserver-xorg-video-intel    intel

开源其他驱动
xserver-xorg-video-radeon   amd/radeon,同ati 
xserver-xorg-video-vmware   vmvare vm
xserver-xorg-video-qxl      kvm,qemu vm

闭源专用驱动
AMDGPU-PRO/fglrx
Nvidia

X input driver
   常用的输入驱动 evdev on Linux systems, kbd and mousedrv on other platforms

 

X server/X display server
  a X server is a display server (X11/Unix, Wayland/Tizen, SurfaceFlinger/Android, Mir/nonethat runs on a computer with a graphical display and communicates with various client programs

#启动一个x server
xinit
or
startx
or
Xorg -core :0 -seat seat0 -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitch
or
sudo service lightdm restart #重启display manager会自动重启display server

 

X display manager/login manager(cli or gui: xdm, sddm, unity/lightdm, gnome/lightdm,gnome/gdm3, kde/kdm...)
   a display manager keeps the X server process alive on the X server machine, 
   connecting it to a physical screen and serving a login prompt on this screen
   when there are no clients running. Always run with/as  x session manager

(dm= getty(local tty+login) + telnet(remote tty+login))

lightdm --show-config    #显示display的配置
lightdm --session-child 12 19   #启动一个display manager

X session manager(xsm, kde/ksmserver, unity/gnome-session, gnome/gnome-session...)
  A session manager saves and restores the state of session(running desktop/windows)

gnome-session

 

X window manager/(xwm, unity/compiz, gnome/mutter, kde/kwin openbox...)
   An X window manager is software that manages windows on a screen 

compiz

 

X client/X app
  X applications or  Xwindows applications
  
X lib
  for X clients/apps to operates X protocol

X log
/var/log/Xorg.0.log  and /var/log/lightdm/x-0.log and /var/log/gpu-manager.log

X config
/etc/X11/xorg.conf and /usr/share/X11/xorg.conf.d

X tools 
  xinit #启动x server 
  startx #启动x server, 同时启动一个x window manager (lightDM or XDM or sddm)
  xrandr --dpi 144 #设置分辨率
  xprop -root #查看显示属性

  xkill #杀死一个xclient进程

其他

检查系统识别的显卡: sudo lspci -vnn | grep VGA -A 12     or inxi -G
检查当前使用的显卡: sudo lshw -numeric -C display
检查主板: sudo dmidecode -t baseboard                  or inxi -M
检查pci-e接口: sudo dmidecode -t slot
检查当前显卡使用的驱动: sudo lshw -numeric -C display
检查当前显卡(渲染设备)/OpenGL驱动 : glxinfo | grep OpenGL
检查当前显卡(渲染设备)/OpenGL驱动的性能: glxgears

检查显卡温度: sensors

检查显卡加速与否: vainfo

检查显卡工作模式: aticonfig --pxl  
切换到独立显卡(discrete):    sudo aticonfig --px-dgpu 
切换到独立显卡(integration): sudo aticonfig --px-igpu 

Xorg Server配置/etc/X11/*
xorg.conf文件保存有X Window的各种信息,它由数个Section/EndSecion
的区块组成,格式如下:
    Section “Section名称”
    选项名称 “选项值”
    选项名称 “选项值”
    ……
    EndSection
典型的区块有ServerLayout, ServerFlags, Extentions, Files, Module, InputDevice, InputClass, 
VideoAdaptor, Modes, Monitor, Device, Screen(sub section:Display), Dri, Vendor...

其中显示设置方面,以下三个区块似乎缺一不可
    monitor 设置显示器
    device 设置显卡
    screen 设置屏幕, 即显示器与显卡的结合,也就是最终的显示

 # module段中指定载入/挂载的扩展module/driver(大部分module/driver在系统启动时已经载入/挂载)
Section "Module"
    Load "dbe"
    Load "extmod"
    Load "fbdev"
    Load "glx"
    Load "record"
    Load "freetype"
    Load "type1"
    Load "dri"
EndSection

#检查当前工作显卡
#aticonfig --pxl
#切换当前工作显卡
#sudo aticonfig --px-dgpu
#sudo reboot
Section "Device"
    Identifier "Device0"
    Driver     "radeon"
    Option     "ZaphodHeads" "VGA-0"
    VendorName "ATI"
    BusID      "PCI:1:0:0"
    Screen 0
EndSection

#检查当前显示器分辨率
#xdpyinfo | grep -B2 resolution
#设置当前显示器分辨率
#xrandr --dpi 144
Section "Monitor"
    Identifier  "Monitor0"
    DisplaySize 286 179    # In millimeters
    Option      "DPI" "96 x 96"
EndSection
 

ubuntu 18.04: 官方版本不再使用unity桌面,回归使用gnome桌面(gnome3)。

                      xserver同时使用Xwayland和Xorg (Xwayland for login, Xorg for apps)

                      桌面环境是gnome3

                     显示管理器是gdm3

                     会话管理器gnome-session

                     窗口管理器gnome-shell (改进版mutter, 即改进版metacity-cluter)

                      

                      

转载于:https://my.oschina.net/igooglezm/blog/1546723

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值