zoukankan      html  css  js  c++  java
  • Alpine Linux:如何配置GUI的图形桌面环境:x Desktop Environment

    alpine linux 真是不错。小巧、迅捷!

    官方的各个版本的alpine镜像内没有带图形环境的。那我们如何构建自己的桌面图形环境呢?

    其实:这个问题,在起官网的wiki内有指南,我们根据那些相关文档就可以自己搭建!

    --------------------------------------------------------------------

    step 1:

    localhost:~# setup-xorg-base 
    fetch http://mirrors.cloud.tencent.com/alpine/v3.11/main/x86_64/APKINDEX.tar.gz
    fetch http://mirrors.cloud.tencent.com/alpine/v3.11/community/x86_64/APKINDEX.tar.gz
    Executing busybox-1.31.1-r9.trigger
    Executing eudev-3.2.9-r1.trigger1025-r0)
    OK: 101 MiB in 60 packageslibs (3.6.2-r1)
    (1/63) Installing libevdev (1.8.0-r0)
    (2/63) Installing mtdev (1.1.5-r2)
    (3/63) Installing libinput-libs (1.14.3-r0)
    (4/63) Installing xf86-input-libinput (0.29.0-r0)
    (5/63) Installing encodings (1.0.5-r0)
    (6/63) Installing font-alias (1.0.3-r1)
    (7/63) Installing libfontenc (1.1.4-r0)
    (8/63) Installing libbz2 (1.0.8-r1)
    (9/63) Installing libpng (1.6.37-r1)
    (10/63) Installing freetype (2.10.1-r0)
    (11/63) Installing mkfontscale (1.2.1-r1)
    (12/63) Installing expat (2.2.9-r1)
    (13/63) Installing fontconfig (2.13.1-r2)
    (14/63) Installing pkgconf (1.6.3-r0)
    (15/63) Installing util-macros (1.19.2-r1)
    (16/63) Installing font-misc-misc (1.1.2-r1)
    (17/63) Installing font-cursor-misc (1.0.3-r1)
    (18/63) Installing xkeyboard-config (2.28-r0)
    (19/63) Installing libxau (1.0.9-r0)
    (20/63) Installing libbsd (0.10.0-r0)
    (21/63) Installing libxdmcp (1.1.3-r0)
    (22/63) Installing libxcb (1.13.1-r0)
    (23/63) Installing libx11 (1.6.9-r0)
    (24/63) Installing libxkbfile (1.1.0-r0)
    (25/63) Installing xkbcomp (1.4.2-r0)
    (26/63) Installing libxext (1.3.4-r0)
    (27/63) Installing libice (1.0.10-r0)
    (28/63) Installing libsm (1.2.3-r0)
    (29/63) Installing libxt (1.2.0-r0)
    (30/63) Installing libxmu (1.1.3-r0)
    (31/63) Installing xauth (1.1-r0)
    (32/63) Installing libmount (2.34-r1)
    (33/63) Installing libsmartcols (2.34-r1)
    (34/63) Installing findmnt (2.34-r1)
    (35/63) Installing mcookie (2.34-r1)
    (36/63) Installing xmodmap (1.0.10-r0)
    (37/63) Installing mcpp-libs (2.7.2-r1)
    (38/63) Installing mcpp (2.7.2-r1)
    (39/63) Installing xrdb (1.2.0-r0)
    (40/63) Installing xinit (1.4.1-r0)
    (41/63) Installing mesa (19.2.7-r0)
    (42/63) Installing libxdamage (1.1.5-r0)
    (43/63) Installing libxfixes (5.0.3-r2)
    (44/63) Installing libxxf86vm (1.1.4-r2)
    (45/63) Installing libpciaccess (0.16-r0)
    (46/63) Installing libdrm (2.4.100-r0)
    (47/63) Installing mesa-glapi (19.2.7-r0)
    (48/63) Installing libxshmfence (1.3-r0)
    (49/63) Installing mesa-gl (19.2.7-r0)
    (50/63) Installing libxfont2 (2.0.4-r0)
    (51/63) Installing libepoxy (1.5.4-r0)
    (52/63) Installing libffi (3.2.1-r6)
    (53/63) Installing wayland-libs-server (1.17.0-r0)
    (54/63) Installing mesa-gbm (19.2.7-r0)
    (55/63) Installing pixman (0.38.4-r0)
    (56/63) Installing xorg-server (1.20.6-r0)
    (57/63) Installing xf86-video-modesetting (0.9.0-r6)
    (58/63) Installing libgcc (9.2.0-r3)
    (59/63) Installing libstdc++ (9.2.0-r3)
    (60/63) Installing libxml2 (2.9.10-r1)
    (61/63) Installing llvm9-libs (9.0.0-r1)
    (62/63) Installing mesa-xatracker (19.2.7-r0)
    (63/63) Installing xf86-video-vmware (13.3.0-r0)
    Executing busybox-1.31.1-r9.trigger
    Executing mkfontscale-1.2.1-r1.trigger
    Executing fontconfig-2.13.1-r2.trigger
    OK: 190 MiB in 123 packages
     * Caching service dependencies ...                                                         [ ok ]
     * Starting udev ...                                                                        [ ok ]
     * Generating a rule to create a /dev/root symlink ...                                      [ ok ]
     * Populating /dev with existing devices through uevents ...                                [ ok ]
     * Waiting for uevents to be processed ...                                                  [ ok ]
    localhost:~#

    step 2:

    localhost:~# apk add xf86-input-keyboard xf86-input-mouse xf86-video-vmware xf86-input-vmmouse
    (1/3) Installing xf86-input-keyboard (1.9.0-r1)
    (2/3) Installing xf86-input-mouse (1.9.3-r1)
    (3/3) Installing xf86-input-vmmouse (13.1.0-r4)
    Executing busybox-1.31.1-r9.trigger
    Executing eudev-3.2.9-r1.trigger
    OK: 191 MiB in 128 packages
    localhost:~#

    step 3:

    localhost:~# apk add dbus
    (1/3) Installing dbus-libs (1.12.16-r2)
    (2/3) Installing dbus (1.12.16-r2)
    Executing dbus-1.12.16-r2.pre-install
    (3/3) Installing dbus-openrc (1.12.16-r2)
    Executing busybox-1.31.1-r9.trigger
    OK: 192 MiB in 131 packages
    localhost:~# rc-service  dbus start
     * Caching service dependencies ...                                                         [ ok ]
     * Starting System Message Bus ...
    localhost:
    ~# rc-update add dbus * service dbus added to runlevel default

    step 4:

    localhost:~# apk add lightdm
    (1/49) Installing libintl (0.20.1-r2)
    (2/49) Installing pcre (8.43-r0)
    (3/49) Installing glib (2.62.4-r0)
    (4/49) Installing icu-libs (64.2-r0)
    (5/49) Installing nspr (4.24-r0)
    (6/49) Installing readline (8.0.1-r0)
    (7/49) Installing mozjs60 (60.9.0-r0)
    (8/49) Installing linux-pam (1.3.1-r1)
    (9/49) Installing polkit (0.116-r0)
    Executing polkit-0.116-r0.pre-install
    (10/49) Installing accountsservice (0.6.55-r0)
    (11/49) Installing ttf-cantarell (0.111-r0)
    (12/49) Installing libxrender (0.9.10-r3)
    (13/49) Installing cairo (1.16.0-r2)
    (14/49) Installing libcroco (0.6.13-r1)
    (15/49) Installing shared-mime-info (1.15-r0)
    (16/49) Installing libjpeg-turbo (2.0.4-r0)
    (17/49) Installing tiff (4.1.0-r0)
    (18/49) Installing gdk-pixbuf (2.40.0-r0)
    (19/49) Installing libxft (2.3.3-r0)
    (20/49) Installing fribidi (1.0.8-r0)
    (21/49) Installing graphite2 (1.3.13-r1)
    (22/49) Installing harfbuzz (2.6.4-r0)
    (23/49) Installing pango (1.44.7-r0)
    (24/49) Installing librsvg (2.46.4-r0)
    (25/49) Installing hicolor-icon-theme (0.17-r1)
    (26/49) Installing gtk-update-icon-cache (2.24.32-r1)
    (27/49) Installing libxcomposite (0.4.5-r0)
    (28/49) Installing libxcursor (1.2.0-r0)
    (29/49) Installing libxi (1.7.10-r0)
    (30/49) Installing libxrandr (1.5.2-r0)
    (31/49) Installing atk (2.34.1-r0)
    (32/49) Installing avahi-libs (0.7-r4)
    (33/49) Installing gmp (6.1.2-r1)
    (34/49) Installing nettle (3.5.1-r0)
    (35/49) Installing p11-kit (0.23.18.1-r0)
    (36/49) Installing libtasn1 (4.15.0-r0)
    (37/49) Installing libunistring (0.9.10-r0)
    (38/49) Installing gnutls (3.6.10-r0)
    (39/49) Installing cups-libs (2.2.12-r1)
    (40/49) Installing gtk+2.0 (2.24.32-r1)
    Executing gtk+2.0-2.24.32-r1.post-install
    (41/49) Installing adwaita-gtk2-theme (3.28-r1)
    (42/49) Installing gnome-themes-extra (3.28-r1)
    (43/49) Installing adwaita-icon-theme (3.34.3-r0)
    (44/49) Installing libgpg-error (1.36-r2)
    (45/49) Installing libgcrypt (1.8.5-r0)
    (46/49) Installing iso-codes (4.4-r0)
    (47/49) Installing libxklavier (5.4-r5)
    (48/49) Installing lightdm (1.30.0-r0)
    Executing lightdm-1.30.0-r0.pre-install
    (49/49) Installing lightdm-openrc (1.30.0-r0)
    Executing busybox-1.31.1-r9.trigger
    Executing dbus-1.12.16-r2.trigger
    Executing fontconfig-2.13.1-r2.trigger
    Executing shared-mime-info-1.15-r0.trigger
    Executing gdk-pixbuf-2.40.0-r0.trigger
    Executing gtk-update-icon-cache-2.24.32-r1.trigger
    Executing mkfontscale-1.2.1-r1.trigger
    OK: 332 MiB in 180 packages
    localhost:~#
    localhost:~# rc-service lightdm start
     * Caching service dependencies ...                                                         [ ok ]
     * /run/lightdm: creating directory
     * /run/lightdm: correcting owner
     * Starting Display Manager ...                                                             [ ok ]
    localhost:~# rc-update add lightdm
     * service lightdm added to runlevel default
    localhost:~#
    localhost:/var/log/lightdm# apk add lightdm-gtk-greeter
    (1/1) Installing lightdm-gtk-greeter (2.0.7-r0)
    Executing busybox-1.31.1-r9.trigger
    Executing gtk-update-icon-cache-2.24.32-r1.trigger
    OK: 389 MiB in 235 packages
    localhost:/var/log/lightdm#

    step 5:

    localhost:/etc/apk# apk add xfce4
    (1/38) Installing libxfce4util (4.14.0-r0)
    (2/38) Installing exo-libs (0.12.11-r0)
    (3/38) Installing xcb-util (0.4.0-r1)
    (4/38) Installing startup-notification (0.12-r3)
    (5/38) Installing xfconf (4.14.1-r0)
    (6/38) Installing libxfce4ui-gtk3 (4.14.1-r0)
    (7/38) Installing exo (0.12.11-r0)
    (8/38) Installing libxfce4ui (4.14.1-r0)
    (9/38) Installing garcon (0.6.4-r0)
    (10/38) Installing desktop-file-utils (0.24-r0)
    (11/38) Installing libexif (0.6.21-r3)
    (12/38) Installing libgudev (233-r0)
    (13/38) Installing libnotify (0.7.8-r0)
    (14/38) Installing libxres (1.2.0-r1)
    (15/38) Installing libwnck3 (3.32.0-r1)
    (16/38) Installing xfce4-panel (4.14.1-r0)
    (17/38) Installing thunar (1.8.11-r0)
    Executing thunar-1.8.11-r0.post-install
    (18/38) Installing ca-certificates (20191127-r0)
    (19/38) Installing nghttp2-libs (1.40.0-r0)
    (20/38) Installing libcurl (7.67.0-r0)
    (21/38) Installing lcms2 (2.9-r1)
    (22/38) Installing openjpeg (2.3.1-r2)
    (23/38) Installing poppler (0.82.0-r1)
    (24/38) Installing poppler-glib (0.82.0-r1)
    (25/38) Installing tumbler (0.2.7-r1)
    (26/38) Installing ttf-dejavu (2.37-r1)
    (27/38) Installing xfce4-appfinder (4.14.0-r0)
    (28/38) Installing libusb (1.0.23-r0)
    (29/38) Installing upower (0.99.11-r0)
    (30/38) Installing xfce4-power-manager (1.6.5-r0)
    (31/38) Installing iceauth (1.0.8-r0)
    (32/38) Installing dbus-x11 (1.12.16-r2)
    (33/38) Installing xfce4-session (4.14.0-r0)
    (34/38) Installing xfce4-settings (4.14.1-r0)
    (35/38) Installing xfdesktop (4.14.1-r0)
    (36/38) Installing libxpresent (1.0.0-r0)
    (37/38) Installing xfwm4 (4.14.0-r0)
    (38/38) Installing xfce4 (4.14_pre1-r0)
    Executing busybox-1.31.1-r9.trigger
    Executing eudev-3.2.9-r1.trigger
    Executing fontconfig-2.13.1-r2.trigger
    Executing gtk-update-icon-cache-2.24.32-r1.trigger
    Executing mkfontscale-1.2.1-r1.trigger
    Executing desktop-file-utils-0.24-r0.trigger
    Executing ca-certificates-20191127-r0.trigger
    OK: 389 MiB in 233 packages
    localhost:/etc/apk#

    step 6:重启
    step 7:在控制台中执行:startx 或 startxfce4

    --------------------------------------------------------------------

    http://wiki.alpinelinux.org/wiki/Tutorials_and_Howtos   之第5章 :  Desktop Environment

    里面详细描述了以下桌面环境的安装配置,我们参照执行即可:

    Desktop Environment

    -------------------------------------------------------------------------------------------------------------------------------

     我成功搭建了 mate、xfce4、remote desktop server (隐含 vino VNC 环境)环境。

    提示:

    1: 安装xfce4桌面环境,特别要注意需要安装 xfce4-notifyd 组件,否则应用的弹出信息看不到! 比如后续安装xrdp就一致无法成功,原因在此。

    2:必须安装一个linux的x登录shell环境:如 lxdm,否则只能手工startx。todo:alpine内容如何直接执行startx代替默认的openrc 文本登录界面,待解决。

    3:lxdm安装后,需要通过rc-update add lxdm服务,否则如同2,不能自动打开lxdm的登录界面

    4:lxdm 如何让root或其他用户登录,并自动运行某些服务或程序? 

         修改:/etc/lxdm/lxdm.conf 文件实现自动用户登录

         

     1 [base]                                                                                                          
     2 ## uncomment and set autologin username to enable autologin                                                     
     3 autologin=root                                                                                                  
     4                                                                                                                 
     5 ## uncomment and set timeout to enable timeout autologin,                                                       
     6 ## the value should >=5                                                                                         
     7 # timeout=10                                                                                                    
     8                                                                                                                 
     9 ## default session or desktop used when no systemwide config                                                    
    10 # session=/usr/bin/startlxde                                                                                    
    11                                                                                                                 
    12 ## uncomment and set to set numlock on your keyboard                                                            
    13 # numlock=0                                                                                                     
    14                                                                                                                 
    15 ## set this if you don't want to put xauth file at ~/.Xauthority                                                
    16 # xauth_path=/tmp                                                                                               
    17                                                                                                                 
    18 # not ask password for users who have empty password                                                            
    19 # skip_password=1                                                                                               
    20            

      修改:/etc/lxdm/PostLogin 文件实现登录用户后,自动运行服务或程序。我自动开启xrdp服务的配置如下

    #!/bin/sh
    #
    # Note: this is a sample and will not be run as is.
    
    rc-service xrdp restart
    rc-service xrdp-sesman restart
    rc-service vino restart

    ok。到此结束!

     

  • 相关阅读:
    Nginx支持WebSocket反向代理-学习小结
    CentOS6.9下升级默认的OpenSSH操作记录(升级到OpenSSH_7.6p1)
    CentOS 6下gcc升级的操作记录(由默认的4.4.7升级到6.4.0版本)
    Docker容器内部端口映射到外部宿主机端口
    Linux下分布式系统以及CAP理论分析
    C/ C++ 快速上手
    YUV视频格式详解(翻译自微软文档)
    YUV详解
    阿里云ECS使用vnc远程连接(Ubuntu + CentOS)
    oh-my-zsh: 让终端飞
  • 原文地址:https://www.cnblogs.com/jinzhenshui/p/8418281.html
Copyright © 2011-2022 走看看