在 openEuler-21.09 上安装 GNOME-3.38

dwl3012021-10-12GNOME

在 openEuler-21.09 上安装 GNOME-3.38

GNOME是运行在类Unix操作系统中最常用桌面环境。是一个功能完善、操作简单,界面友好,集使用和开发为一身的桌面环境,是GNU计划的正式桌面。

参照本文在 openEuler-21.09 上安装一个完整的GNOME桌面环境。

##1. 下载 openEuler-21.09 镜像

# wget https://repo.openeuler.org/openEuler-21.09/ISO/x86_64/openEuler-21.09-x86_64-dvd.iso.sha256sum
# wget https://repo.openeuler.org/openEuler-21.09/ISO/x86_64/openEuler-21.09-x86_64-dvd.iso
# sha256sum -c openEuler-21.09-x86_64-dvd.iso.sha256sum
openEuler-21.09-x86_64-dvd.iso: OK

##2. 制作系统安装介质 假设下面的 sdb 是 USB 存储设备,可以通过 lsblk 确认你的设备。

# dd if=./openEuler-21.09-x86_64-dvd.iso of=/dev/sdb
# sync

##3. 安装系统 从你的 USB 设备启动,选择最小化安装系统即可。 系统安装完根分区至少应保留5G左右的剩余空间安装 GNOME-3.38。

##4. 配置系统并安装GNOME-3.38 设置系统 yum 源 确定以下地址在你的 /etc/yum.repos.d/openEuler.repo 中正常启用:

baseurl=http://repo.openeuler.org/openEuler-21.09/everything/x86_64/
baseurl=http://repo.openeuler.org/openEuler-21.09/EPOL/main/x86_64/

刷新 yum 缓存

# yum clean all
# yum makecache

安装字体相关包

# yum install -y dejavu-fonts liberation-fonts gnu-*-fonts wqy-*-fonts cjkuni-ukai-fonts

如果网络不错可以顺带安装 google-*-fonts,有几个google的字体包特别大,网速慢可以选择不安装。

安装 XServer 相关包

# yum install -y xorg-*

安装 GNOME-3.38 相关包

# yum install -y adwaita-icon-theme atk atkmm at-spi2-atk at-spi2-core baobab abattis-cantarell-fonts cheese clutter clutter-gst3 clutter-gtk cogl dconf dconf-editor devhelp eog epiphany evince evolution-data-server file-roller folks gcab gcr gdk-pixbuf2 gdm gedit geocode-glib gfbgraph gjs glib2 glibmm24 glib-networking gmime30 gnome-autoar gnome-backgrounds gnome-bluetooth gnome-boxes gnome-builder gnome-calculator gnome-calendar gnome-characters gnome-clocks gnome-color-manager gnome-contacts gnome-control-center gnome-desktop3 gnome-disk-utility gnome-font-viewer gnome-getting-started-docs gnome-initial-setup gnome-keyring gnome-logs gnome-menus gnome-music gnome-online-accounts gnome-online-miners gnome-photos gnome-remote-desktop gnome-screenshot gnome-session gnome-settings-daemon gnome-shell gnome-shell-extensions gnome-software gnome-system-monitor gnome-terminal gnome-tour gnome-user-docs gnome-user-share gnome-video-effects gnome-weather gobject-introspection gom grilo grilo-plugins gsettings-desktop-schemas gsound gspell gssdp gtk3 gtk4 gtk-doc gtkmm30 gtksourceview4 gtk-vnc2 gupnp gupnp-av gupnp-dlna gvfs json-glib libchamplain libdazzle libgdata libgee libgnomekbd libgsf libgtop2 libgweather libgxps libhandy libmediaart libnma libnotify libpeas librsvg2 libsecret libsigc++20 libsoup mm-common mutter nautilus orca pango pangomm libphodav python3-pyatspi python3-gobject rest rygel simple-scan sushi sysprof tepl totem totem-pl-parser tracker3 tracker3-miners vala vte291 yelp yelp-tools yelp-xsl zenity

使用登录管理器 gdm 启动 GNOME-3.38

# systemctl start gdm

设置开机默认启动桌面登录

# systemctl enable gdm
# systemctl set-default graphical.target

##5. 已知问题解决 ###5.1 视频无法播放 缺少解码器,手动编译安装解码器:

# yum install rpm-build git ffmpeg-devel
# git clone https://gitee.com/src-openeuler/gstreamer1-libav.git
# mkdir -p ~/rpmbuild/SOURCES
# cp gstreamer1-libav/* /root/rpmbuild/SOURCES/
# rpmbuild -ba /root/rpmbuild/SOURCES/gstreamer1-libav.spec
# yum install -y /root/rpmbuild/RPMS/x86_64/gstreamer1-libav-1.18.4-1.x86_64.rpm

请确保每一步命令正常执行没有报错。

###5.2 gnome-boxes 无法使用本地 iso 创建虚拟机 升级 gnome-boxes。默认版本 qemu 模式下运行虚拟机设置 CPU 类型错误,升级使用下面版本:

# rpm -Uvh http://119.3.219.20:82/openEuler:/Mainline/standard_x86_64/x86_64/gnome-boxes-3.38.2-3.oe1.x86_64.rpm

重新编译 qemu。默认安装的 qemu 关闭了 smartcard 支持选项,需要在 configure 命令中添加 --enable-smartcard 选项重新编译:

# wget https://repo.openeuler.org/openEuler-21.09/source/Packages/qemu-4.1.0-82.oe1.src.rpm
# rpm -ivh qemu-4.1.0-82.oe1.src.rpm

修改 ~/rpmbuild/SPECS/qemu.spec 文件,修改内容如下:
# diff -Nur ~/rpmbuild/SPECS/qemu.spec.bak ~/rpmbuild/SPECS/qemu.spec
--- /root/rpmbuild/SPECS/qemu.spec.bak	2021-10-12 14:30:30.300362506 +0800
+++ /root/rpmbuild/SPECS/qemu.spec	2021-10-12 14:37:14.140967049 +0800
@@ -1,6 +1,6 @@
 Name: qemu
 Version: 4.1.0
-Release: 82
+Release: 83
 Epoch: 2
 Summary: QEMU is a generic and open source machine emulator and virtualizer
 License: GPLv2 and BSD and MIT and CC-BY-SA-4.0
@@ -750,7 +750,7 @@
     --disable-parallels \
     --disable-sheepdog \
     --disable-capstone \
-    --disable-smartcard \
+    --enable-smartcard \
     --enable-zstd

 make %{?_smp_mflags} $buildldflags V=1
@@ -963,6 +963,9 @@
 %endif

 %changelog
+* Tue Oct 12 2021 Wenlong Ding <wenlong.ding@turbolinux.com.cn>
+- Open build option: --enable-smartcard
+
 * Sun Sep 26 2021 Chen Qun <kuhn.chenqun@huawei.com>
 - virtio-net: fix use after unmap/free for sg

安装 qemu 的编译依赖并重新编译、升级

# yum install -y bison brlapi-devel chrpath device-mapper-multipath-devel flex gnutls-devel libaio-devel libattr-devel libcap-devel libcap-ng-devel libcurl-devel libiscsi-devel librbd-devel libseccomp-devel libssh-devel libtasn1-devel lzo-devel ncurses-devel numactl-devel pam-devel python-sphinx python3-devel rdma-core-devel snappy-devel spice-server-devel texinfo zstd-devel
# rpmbuild -ba /root/rpmbuild/SPECS/qemu.spec
# rpm -Uvh ~/rpmbuild/RPMS/x86_64/qemu-*.rpm

升级完成后重启机器,用户重新登录后即可通过 gnome-boxes 创建、运行虚拟机。

###5.3 普通用户使用 gnome-boxes 运行虚拟机效率低 普通用户由于没有自动加入 kvmlibvirt 组,虚拟机只能以 qemu 模拟器的方式运行,所以效率比较低。 通过下面命令将普通过户加入这两个组,可以使虚拟机运行在 kvm 半虚拟化模式下,虚拟机的运行效率会有大幅度提高。

# usermod -aG kvm test
# usermod -aG libvirt test
# id test
uid=1000(test) gid=1000(test) groups=1000(test),10(wheel),36(kvm),985(libvirt)

普通用户加入 kvmlibvirt 组后重启系统生效。


【免责声明】本文仅代表作者本人观点,与本网站无关。本网站对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。本文仅供读者参考,由此产生的所有法律责任均由读者本人承担。