wsl2配置桌面环境
上一级页面:index-wsl
什么是XFCE?
类似于GNOME和KDE,XFCE是一个桌面环境。它包含一套应用程序,比如:根窗口程序、窗口管理器、文件管理器、面板,等等。XFCE用 GTK2开发,同时,跟其它桌面环境一样,它也有自己的开发环境(库、守护进程等)。
不同于GNOME和KDE,XFCE是轻量级的,并且在设计上更接近CDE,而不是Windows或Mac。它的开发周期要长得多,但它非常稳定,速度极 快。XFCE很适合在老一些的机器上使用。
优点
这里列出一些使用XFCE的理由(个人意见)
- 快速 它比其它主流的桌面环境更快。
- 稳定 XFCE-4已经发布很久了,只发现少量BUG
- 美观 它使用GTK2并且可以更换主题。你能把XFCE做得非常漂亮。字体也有完整的抗锯齿效果。
- 强大的多显示器支持 在众多WM/DE、IMO中,XFCE对Xinerama的支持是最好的。
- 省心 你将发现它帮你更流畅地工作,而不要求频繁地更新。
- 内建的compositor支持包含真透明在内的各种特效。
缺点
这里列出一些不用XFCE的理由(个人意见)
- 不包含主流桌面环境集成的所有特性。
- 较长的开发周期。
- 基于CDE设计的界面风格可能让人觉得不太熟悉。
安装 xfce4
在http://www.xfce.org 上有XFCE的源代码和文档。
文档参考Xfce - ArchWiki (archlinux.org)
XFCE是模块化的。这意味着你没有必要完整安装,可以从中挑选你需要的部分。
sudo apt update && sudo apt -y upgrade
sudo apt install xfce4
Windows端启动 X Server,见:wsl2配置使用gui
配置lightdm显示管理器。选择“gdm3”选项。按下“Enter”键
Lightdm,gdm3和KDM都是针对linux的显示管理器。
Lightdm是Ubuntu的默认版本。
gdm3是gnome使用的默认显示管理器。
如果选错了,可以输入下列命令重新进入选择界面:
要在显示管理器之间进行 switch,请使用以下命令:
sudo dpkg-reconfigure lightdm
选择你的显示器管理器。选择“gdm”选项。按下“Enter”键
更换之后更新依赖
重启pc系统
启动 xfce4
从显示管理器中选择_Xfce Session_,或者添加 exec startxfce4
到 Xinitrc 中。
注意: 不要直接调用 xfce4-session
可执行文件,startxfce4
是正确的命令,它会在恰当的时间调用前述可执行文件。
startxfce4
注意: startxfce4默认将DPI设置为96,因此字体大小与从.xinitrc启动时的大小将有所不同。
指定root用户启动
sudo -u root startxfce4
设置环境变量
export XDG_CURRENT_DESKTOP=XFCE
桌面美化
卸载xfce4
标记xfce 4
sudo apt-mark auto xfce4 xfce4-terminal
标记相关包
sudo apt-mark auto $(apt-cache depends xfce4 xfce4-terminal | grep -Po '依赖:\s+\K[^ ]+$' | tr '\n' ' ')
sudo apt-mark auto $(apt-cache depends desktop-base | grep -Po '依赖:\s+\K[^ ]+$' | tr '\n' ' ')
sudo apt-mark auto $(apt-cache depends exo-utils | grep -Po '依赖:\s+\K[^ ]+$' | tr '\n' ' ')
sudo apt-mark auto $(apt-cache depends libc6 | grep -Po '依赖:\s+\K[^ ]+$' | tr '\n' ' ')
sudo apt-mark auto $(apt-cache depends libcairo2 | grep -Po '依赖:\s+\K[^ ]+$' | tr '\n' ' ')
sudo apt-mark auto $(apt-cache depends libgdk-pixbuf2.0-0 | grep -Po '依赖:\s+\K[^ ]+$' | tr '\n' ' ')
sudo apt-mark auto $(apt-cache depends libglib2.0-0 | grep -Po '依赖:\s+\K[^ ]+$' | tr '\n' ' ')
sudo apt-mark auto $(apt-cache depends libgtk-3-0 | grep -Po '依赖:\s+\K[^ ]+$' | tr '\n' ' ')
sudo apt-mark auto $(apt-cache depends libpango-1.0-0 | grep -Po '依赖:\s+\K[^ ]+$' | tr '\n' ' ')
sudo apt-mark auto $(apt-cache depends libutempter0 | grep -Po '依赖:\s+\K[^ ]+$' | tr '\n' ' ')
sudo apt-mark auto $(apt-cache depends libvte-2.91-0 | grep -Po '依赖:\s+\K[^ ]+$' | tr '\n' ' ')
sudo apt-mark auto $(apt-cache depends libx11-6 | grep -Po '依赖:\s+\K[^ ]+$' | tr '\n' ' ')
sudo apt-mark auto $(apt-cache depends libxfce4ui-2-0 | grep -Po '依赖:\s+\K[^ ]+$' | tr '\n' ' ')
sudo apt-mark auto $(apt-cache depends libxfce4ui-utils | grep -Po '依赖:\s+\K[^ ]+$' | tr '\n' ' ')
sudo apt-mark auto $(apt-cache depends libxfce4util7 | grep -Po '依赖:\s+\K[^ ]+$' | tr '\n' ' ')
sudo apt-mark auto $(apt-cache depends libxfconf-0-3 | grep -Po '依赖:\s+\K[^ ]+$' | tr '\n' ' ')
sudo apt-mark auto $(apt-cache depends tango-icon-theme | grep -Po '依赖:\s+\K[^ ]+$' | tr '\n' ' ')
sudo apt-mark auto $(apt-cache depends thunar | grep -Po '依赖:\s+\K[^ ]+$' | tr '\n' ' ')
sudo apt-mark auto $(apt-cache depends thunar-volman | grep -Po '依赖:\s+\K[^ ]+$' | tr '\n' ' ')
sudo apt-mark auto $(apt-cache depends xfce4-appfinder | grep -Po '依赖:\s+\K[^ ]+$' | tr '\n' ' ')
sudo apt-mark auto $(apt-cache depends xfce4-goodies | grep -Po '依赖:\s+\K[^ ]+$' | tr '\n' ' ')
sudo apt-mark auto $(apt-cache depends xfce4-notifyd | grep -Po '依赖:\s+\K[^ ]+$' | tr '\n' ' ')
sudo apt-mark auto $(apt-cache depends xfce4-panel | grep -Po '依赖:\s+\K[^ ]+$' | tr '\n' ' ')
sudo apt-mark auto $(apt-cache depends xfce4-power-manager | grep -Po '依赖:\s+\K[^ ]+$' | tr '\n' ' ')
sudo apt-mark auto $(apt-cache depends xfce4-pulseaudio-plugin | grep -Po '依赖:\s+\K[^ ]+$' | tr '\n' ' ')
sudo apt-mark auto $(apt-cache depends xfce4-session | grep -Po '依赖:\s+\K[^ ]+$' | tr '\n' ' ')
sudo apt-mark auto $(apt-cache depends xfce4-settings | grep -Po '依赖:\s+\K[^ ]+$' | tr '\n' ' ')
sudo apt-mark auto $(apt-cache depends xfconf | grep -Po '依赖:\s+\K[^ ]+$' | tr '\n' ' ')
sudo apt-mark auto $(apt-cache depends xfdesktop4 | grep -Po '依赖:\s+\K[^ ]+$' | tr '\n' ' ')
sudo apt-mark auto $(apt-cache depends xfwm4 | grep -Po '依赖:\s+\K[^ ]+$' | tr '\n' ' ')
sudo apt-mark auto $(apt-cache depends xorg | grep -Po '依赖:\s+\K[^ ]+$' | tr '\n' ' ')
sudo apt-mark auto $(apt-cache depends desktop-file-utils exo-utils shared-mime-info thunar-data libatk1.0-0 libc6 libcairo2 libexo-2-0 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libgudev-1.0-0 libice6 libnotify4 libpango-1.0-0 libsm6 libthunarx-3-0 libxfce4ui-2-0 libxfce4util7 libxfconf-0-3 | grep -Po '依赖:\s+\K[^ ]+$' | tr '\n' ' ')
自动卸载不必要的软件
sudo apt autoremove
系统清理
sudo apt autoclean
修复缺少的包
sudo apt --fix-broken install
解决无法使用输入法
因为wsl2的x server在Windows端,并不在Linux端,所以有许多的配置问题,
首先需要设置DBUS_SESSION,与X server通信,以使用输入法
然后需要设置x server/x term/dpi
并且设置fcitx自启动
并且这些设置都应当所有用户有效
并且shell
和非shell
都有效
如果你使用zsh,详情见zsh的环境变量的加载-zprofile-zlogin-zshrc-zshenv
wsl2 xclient(注意 xserver在 windows端)并不只是包含 shell,它还要应用在图形界面,所以不能放在 sh rc文件里
并且可能会出现切换一个新的shell,然后运行x server,就是说它的配置不能只在login时生效一次,所以不能放在profile
所以只能放在/etc/zsh/.zshenv
# ===========设置x server==============
# 由于wsl2的x server在Windows端,
# x server并不只是包含 shell,它还要应用在图形界面,所以不能放在 sh rc文件里
# 并且可能会出现切换一个新的shell,然后运行x server,就是说它的配置不能只在login时生效一次,所以不能放在profile
# 所以只能放在`/etc/zsh/.zshenv`
# =================================
# 设置DBUS_SESSION,与X server通信,以使用输入法
if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then
eval `dbus-launch --sh-syntax`
fi
# x server/x term/dpi
if [ -f $OH_MY_CONF/.Xresources ]; then
xrdb -merge -I$HOME $OH_MY_CONF/.Xresources
fi
# 设置fcitx自启动
fcitx-autostart &>/dev/null
参考、引用、致谢
(24条消息) Windows 10 WSL2 安装Linux Xfce图形界面_大鱼天的博客-CSDN博客_wsl2 xfce
https://autoize.com/xfce4-desktop-environment-and-x-server-for-ubuntu-on-wsl-2/
https://token2shell.com/howto/x410/customizing-xfce-desktop-for-ubuntu-wsl/