为什么用openbox,因为它很小,占用资源少。够我用了。我用linux大部分只用命令行界面就够了。图形界面程序用的最多的也就是浏览器了。
在这里插入图片描述

安装相关软件包

# 更新下系统
sudo pacman -Syyu
#安装openbox
sudo pacman -S openbox --noconfirm
#tint2 任务栏管理器
sudo pacman -S tint2 --noconfirm
# xfce4-terminal
sudo pacman -S xfce4-terminal --noconfirm
#创建目录用于放配置文件
mkdir -p ~/.config/openbox
#复制配置文件到用户配置目录
cp /etc/xdg/openbox/{rc.xml,menu.xml,autostart,environment} ~/.config/openbox
# 没有安装X服务的,桌面环境都依赖它,需要安装一下
sudo pacman -S xorg-server --noconfirm
# 安装中文字体,解决乱码的问题
sudo pacman -S adobe-source-han-serif-cn-fonts wqy-zenhei --noconfirm
# 安装中文输入法,基础包组
sudo pacman -S fcitx5 fcitx5-chinese-addons fcitx5-im fcitx5-configtool --noconfirm

输入法相关软件包:

  • fcitx5
    主包,不用多解释啦~

  • fcitx5-chinese-addons
    中文输入法包…. Arch Wiki 里面是这样解释的:

  • fcitx5-chinese-addons 包含了大量中文输入方式:拼音、双拼、五笔拼音、自然码、仓颉、冰蟾全息、二笔等

  • fcitx5-im
    环境依赖包,要装的,不然在一些软件上打不出字

  • fcitx5-configtool
    fcitx5 的 GUI 配置工具,因为我不懂怎么修改配置文件,所以就装了这个。在上面三个装完之后装。

Openbox四个文件

这四个文件组成了 Openbox 配置的基础。每一个文件是配置的独立的部分,它们的功能是:

  • rc.xml
    本文件是配置文件.用于定义键盘快捷键, 主题, 虚拟桌面等。
  • menu.xml
    本文件定义了在桌面用鼠标击键时显示的菜单。它定义了程序启动器和快捷方式。请看 #菜单 段。
  • autostart
    本文件在 Openbox 启动时读取。包含了一些需要启动的程序,通常用来定义许多环境变量、启动面板/dock、设置壁纸或者执行其他启动脚本等等。细节请看 Openbox Wiki.
  • environment
    本文件被 openbox-session 启动时调用。它包含了在 Openbox 上下文中定义的变量。任何你想对 Openbox 本身可见以及从菜单启动的程序需要的变量都放在这里。

配置

配置输入法

编辑 ~/.pam_environment

vim ~/.pam_environment

并增加以下内容:

INPUT_METHOD DEFAULT=fcitx5
GTK_IM_MODULE DEFAULT=fcitx5
QT_IM_MODULE DEFAULT=fcitx5
XMODIFIERS DEFAULT=\@im=fcitx5
SDL_IM_MODULE DEFAULT=fcitx

这样配置完成后,本机直接登录中文输入法就可以使用了,但vnc上输入法不行。
解决vnc中文输入法无法调用问题
编辑~/.xprofile文件

vim ~/.xprofile

写入以下内容:

export INPUT_METHOD=fcitx5
export GTK_IM_MODULE=fcitx5
export QT_IM_MODULE=fcitx5
export XMODIFIERS=@im=fcitx5

这时重启vnc服务,重新连接就可以中文输入了。

配置openbox自启动文件

vim /etc/xdg/openbox/autostart
#开启中文输入法
fcitx5&
#xfce-mcs-manager &
# 开启tint2面板
tint2 &
# 开启xfce4终端
xfce4-terminal &

Openbox 作为一个单独的窗口管理器

Openbox 可以作为一个单独的窗口管理器使用. 这样的安装和配置通常比作为桌面环境的一部分要简单. 单独运行 openbox 可以减少系统的 CPU 和 内存负载。

命令行手动运行

让Openbox作为一个单独的窗口管理器运行,把以下内容加入 ~/.xinitrc :

exec openbox-session

如果想在命令行下启动 Openbox , 用 xinit :

# 安装xinit
sudo pacman -S xorg-xinit
sudo xinit /usr/bin/openbox-session

在这里插入图片描述
这种方式,缺点是只能使用root权限登录。

开机启动

安装lxdm显示管理器

#lxdm显示管理器
sudo pacman -S lxdm --noconfirm
#开机启动显示管理器
sudo systemctl enable lxdm
#立即开启lxdm
sudo systemctl start lxdm

这样以后开机就会自动进入桌面了。
在这里插入图片描述
输入法使用正常:
在这里插入图片描述

配置

安装vncserver

VNC 服务由 tigervnc 提供

sudo pacman -S tigervnc --noconfirm

注意: 在物理内存允许的条件下,Linux系统可以拥有任意数量的VNC服务器——它们同时并行运行,互不干扰。

简易教程如下。但是推荐阅读vncserver的man手册来了解所有的配置项。

  1. vncpasswd创建密码,它会将哈希处理之后的密码存储在~/.vnc/passwd

  2. 编辑/etc/tigervnc/vncserver.users来定义用户映射。这文件中定义的用户都会拥有独有的端口来运行它的会话。这文件中的数字对应的是TCP端口。默认情况下,:1 是TCP端口5901(5900+1)。如果需要运行一个并行的服务器,第二个实例可以运行在下一个最大的、未被占用的端口,即5902(5900+2)。
    在这里插入图片描述

  3. 创建~/.vnc/config

session=openbox
geometry=1024x768
alwaysshared

至少要定义会话的类型,比如session=foo(将foo替换为你想要运行的桌面环境)。你可以通过查看/usr/share/xsessions/里的.desktop文件来知道有哪些桌面环境在当前系统上可以使用。

权限
像对待 ~/.ssh 一样保护 ~/.vnc 是很好的做法,虽然并非必须。执行下面的命令来达到该目的:

chmod 700 ~/.vnc

启动与停止tigervnc

Start vncserver@.service,如果需要让它随系统启动,enable它。注意/etc/tigervnc/vncserver.users中定义的编号需要在@符号后面指定,比如启动:1的命令是:

sudo systemctl start vncserver@:1

Note:
已经不再支持直接调用/usr/bin/vncserver了,因为这样做不会建立完整可用的会话环境。systemd服务是唯一受支持的使用TigerVNC的方式。参见Issue
#1096。

连接vnc

我的ip是172.16.184.12上面我们设置的是:1也就是TCP端口5901(5900+1)。所以我们的连接地址是

172.16.184.12:5901

连接结果如下:
在这里插入图片描述

已经成功了,中文输入法也没有问题。教程到这基本就结束了。


菜单配置

wiki中写的很详细,我就直接复制过来了,以下菜单相关的内容来自https://wiki.archlinux.org/title/Openbox_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)#%E8%8F%9C%E5%8D%95

默认 Openbox 菜单包括很多菜单项供使用,其中有些尚未安装,你可能不需要或根本不想安装.你可能想定制 menu.xml,有很多种方法可以定制.

手动配置菜单

用文本编辑器编辑~/.config/openbox/menu.xml. 许多设定不需加以说明。

MenuMaker

MenuMaker 用来为各种窗口管理器创建基于XML的菜单,包括Openbox. MenuMaker将搜寻您电脑中的可执行程序,并在搜索结果的基础上建立一个XML菜单. 根据需要,它可以配置除特定程序类型(类如 GNOME,KDE 等)外的程序

# pacman -S menumaker 

安装后, 你可以通过运行以下命令来生成一个完整的菜单文件(menu.xml):

#不会覆盖现有的菜单文件。
$ mmaker -v OpenBox3
# 强制选项允许覆盖菜单文件。
$ mmaker -vf OpenBox3
#请参阅MenuMaker的完整选项集。
$ mmaker --help

MenuMaker创建了一个很全面的 menu.xml. 你可以手动编辑 menu.xml文件, 或者在安装新的软件时生成一个新的菜单.

安装字体

我在使用vim 时会用到Hack Nerd Font字体,那么在Arch Linux中如何安装字体呢?就以Hack Nerd Font为例:
下载字体:https://download.csdn.net/download/lxyoucan/15407613

# 创建字体文件夹
sudo mkdir -p /usr/share/fonts/hack-nerd
# 字体复制到文件夹中
sudo cp font.ttf /usr/share/fonts/hack-nerd
# 重命名字体文件
sudo mv /usr/share/fonts/hack-nerd/font.ttf /usr/share/fonts/hack-nerd/hack-nerd.ttf

然后更新 fontconfig 的字体缓存:

fc-cache -vf

查看已经安装的字体列表:

fc-list

在这里插入图片描述
在终端模拟器中设置字体,这里选择Hack Nerd Font Bold(加粗)的字体。如果选择普通的字体会发现字体图标三角形与矩形的部分过渡不平滑。

在这里插入图片描述
在这里插入图片描述

设置桌面背景

sudo pacman -S nitrogen

在terminal中运行

nitrogen

在这里插入图片描述
最终效果如下:
在这里插入图片描述
重启下次依然显示桌面背景:

vim /etc/xdg/openbox/autostart

增加以下内容


# 桌面壁纸显示
nitrogen --restore &

总结

摸索了1天多时间,这个轻量级的桌面环境终于搭建好了。都看到这里了,点个赞👍在走吧!你的支持是我前进的动力!

参考

Logo

更多推荐