archlinux安装配置vnc+openbox

2023-05-16

为什么用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天多时间,这个轻量级的桌面环境终于搭建好了。都看到这里了,点个赞👍在走吧!你的支持是我前进的动力!

参考

  • 《Openbox (简体中文)》https://wiki.archlinux.org/title/Openbox_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)
  • 《TigerVNC》https://wiki.archlinux.org/title/TigerVNC_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)
  • 《Nitrogen》https://wiki.archlinux.org/title/Nitrogen_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

archlinux安装配置vnc+openbox 的相关文章

  • 全网详细解决Client does not support authentication protocol requested by server;consider upgrading Mysql c

    文章目录 1 复现错误2 分析错误3 解决错误 1 复现错误 今天使用Navicat准备连接mysql xff0c 如下图所示 xff1a 点击连接测试按钮时 xff0c 却报出如下错误 xff1a 即1251 Client does no
  • win10系统遭遇VMware USB Arbitration Service 无法启动,错误31的解决方案

    安装VM虚拟机的时候遭遇这个问题 xff0c 查了好几天 xff0c 网上提供的方法是 xff1a 手动启动的时候提示 34 VMware USB Arbitration Service 无法启动 xff0c 出 现错误31 xff1a 连
  • C# Winform窗体属性和操作

    1 窗体属性 通过控件的Anchor和Dock属性来调整 xff0c Dock的优先级比Anchor高 Dock属性 表示控件在窗体中停靠的位置 xff0c 其取值Top Bottom Left Right和Fill分别表示停靠在窗体的顶部
  • ubuntu下为APT设置代理

    Ubuntu下为APT设置代理 一 最简单的方法 图形界面方法 xff1a 新立得软件包管理器 gt 设置 gt 首选项 gt 网络 进行设置代理就可以了 二 编辑命令 方法1 xff1a 如果您 希望apt get xff08 而不是其他
  • typora主题更改(以及旧版本下载地址)

    目录 1 Typora官网2 旧版Typora下载地址3 Typora主题商店3 1 找到本地主题文件夹3 2 添加新主题并使用 4 在Typora中使用LaTeX主题 1 Typora官网 官网地址 xff1a https typora
  • 将投影矩阵P利用QR分解分解出摄像机内外参数(Opencv)

    将投影矩阵P利用QR分解分解出摄像机内外参数 xff08 Opencv xff09 将投影矩阵P利用QR分解分解出摄像机内外参数 输入 xff1a P xff1a 投影矩阵 xff0c 3 4 输出 xff1a K xff1a 内参数矩阵
  • (转载)依赖、关联、聚合、组合

    类与类图 1 类 Class 封装了数据和行为 xff0c 是面向对象的重要组成部分 xff0c 它是具有相同属性 操作 关系的对象集合的总称 2 在系统中 xff0c 每个类具有一定的职责 xff0c 职责指的是类所担任的任务 xff0c
  • ubuntu14.0.4升级指定内核以及默认内核启动

    一 xff0c 更新到指定的内核版本 1 首先查看当前的内核版本 xff0c 打开终端在窗口输入以下命令 uname a 2 在ubuntu的终端窗口内搜索可用升级的内核版本 apt cache showpkg linux headers
  • 解决Cannot download “https://github.com/sass/node-sass/releases/download...问题

    因很早做了一个小demo xff0c 并且在其他成熟的电脑上 xff08 node配置好的 xff09 下载依赖包没什么问题 xff0c 最近就在新的电脑上配置好所有东西后 xff0c 去下载这个demo的依赖包 xff0c 就出现了nod
  • 如何阅读 Redis 源码?

    在这篇文章中 xff0c 我将向大家介绍一种我认为比较合理的 Redis 源码阅读顺序 xff0c 希望可以给对 Redis 有兴趣并打算阅读 Redis 源码的朋友带来一点帮助 第 1 步 xff1a 阅读数据结构实现 刚开始阅读 Red
  • C语言DFS和BFS解决迷宫问题

    C语言DFS与BFS 迷宫问题 题目描述 给定一个 N times MN M 方格的迷宫 xff0c 迷宫里有 TT 处障碍 xff0c 障碍处不可通过 在迷宫中移动有上下左右四种方式 xff0c 每次只能移动一个方格 数据保证起点上没有障
  • 2022第9周、第10周总结

    差分 最近看到了一个关于差分的题目 题目描述 给定一个长度为n的数列a1 a2 an xff0c 每次可以选择一个区间 l r xff0c 使得这个区间内的数都加1或者都减1 请问至少需要多少次操作才能使数列中的所有数都相等 xff1f 在
  • 装箱问题(DP)

    题目描述 有一个箱子容量为V xff08 正整数 xff0c 0 xff1c xff1d V xff1c xff1d 20000 xff09 xff0c 同时有n个物品 xff08 0 xff1c n xff1c xff1d 30 xff0
  • 丑数(c语言)

    题目描述 我们把只包含质因子2 3和5的数称作丑数 xff08 Ugly Number xff09 例如6 8都是丑数 xff0c 但14不是 xff0c 因为它包含因子7 习惯上我们把1当做是第一个丑数 输入一个数n xff0c 判断它是
  • 2022/12/30总结

    今日学习了二叉树有关知识 二叉树 二叉树通俗来讲就是一个有俩个指针的链表 他们大多长这个样子 xff1a 这里还有俩个概念了 xff0c 二叉树分为完全二叉树和满二叉树 上面所说的是满二叉树 xff0c 顾名思义就是每个父节点都相应的有俩个
  • 滑动窗口算法

    滑动窗口 滑动窗口有俩种 xff1a 定窗口和不定窗口 滑动窗口说白了就是双指针的运用 定窗口说明是一个特定窗口大小 xff0c 通常用来解决相邻的元素 xff0c 最大值 xff0c 最小值 不定窗口说的是 xff0c 先由右指针去找到第
  • 本学期学习计划

    第7周 学习MySQL 写7个基础题 第8周 熟悉C 43 43 语言 学习maven 写7个基础题 第9周 巩固java和MySQL和maven 写5道中等题 第10周 写好项目框架 写5道中等的题目 第11周 写好项目一些基本功能 刷5
  • 2023/4/2总结

    题解 线段树OR树状数组 Virtual Judge vjudge net 正如这道题目一样 xff0c 我的心情也如此 1 这道题是线段树问题 xff0c 更改学生值即可 xff0c 不需要用到懒惰标记 2 再去按照区间查找即可 xff0
  • 2023/4/27总结

    第一周任务 Virtual Judge vjudge net 1 这道题目穷举即可 最多90次 include lt stdio h gt int getLucky int x int a 10 i n t 61 x max 61 0 mi
  • 2023/5/4总结

    刷题 xff1a 第二周任务 Virtual Judge vjudge net 这一题用到了素筛 然后穷举即可 include lt stdio h gt define Maxsize 500000 int a Maxsize long l

随机推荐

  • Epoll原理解析

    从事服务端开发 xff0c 少不了要接触网络编程 Epoll 作为 Linux 下高性能网络服务器的必备技术至关重要 xff0c Nginx Redis Skynet 和大部分游戏服务器都使用到这一多路复用技术 Epoll 很重要 xff0
  • 2023/5/7总结

    最近还是在项目上 xff1a 主要实现了 xff1a 把头像的数据传给服务器 xff1a 服务器开一个文件夹接收 发送文件是 xff0c 用字节流传递很容易出错 xff0c 我因此坏掉了很多文件 这样写就没有坏掉 xff0c 之前一直是图片
  • 2023/5/9总结

    项目 xff1a 这俩天在看文件分流 xff0c 虽然看的原理是把文件切割 xff0c 传输的时候带着下标值 xff0c 或者在字节头去实现 xff0c 然后在服务器当中结合 但是实现起来遇到了很多问题 xff1a 1 需要另外开辟端口号来
  • putty使用方法,中文教程

    转自 http hi baidu com dba chen blog item ce6a7f54cb6522173b29351e html putty使用方法 xff0c 中文教程 序言 大致内容罗列如下 xff1a 最简单的使用 xff0
  • 用 VNC + Putty 把图形界面带出防火墙

    用 VNC 43 Putty 把图形界面带出防火墙 转自http blog sina com cn s blog 53a2aec8010009b6 html 2007 05 24 18 15 24 转载 分类 xff1a 工作 单位的服务器
  • 配置VNC+PuTTY+SSH Tunnel访问Linux

    转自 http blog 163 com yunlei ma blog static 12720893520098492716722 配置VNC 43 PuTTY 43 SSH Tunnel访问Linux 2009 09 04 21 27
  • 如何在c/c++里输出系统时间

    include lt stdio h gt include lt time h gt void main time t rawtime struct tm timeinfo time amp rawtime timeinfo 61 loca
  • 控制台窗口操作

    用于控制台窗口操作的API函数如下 xff1a GetConsoleScreenBufferInfo 获取控制台窗口信息 GetConsoleTitle 获取控制台窗口标题 ScrollConsoleScreenBuffer 在缓冲区中移动
  • 图像增强?图像复原??

    图像增强的目标是改进图片的质量 xff0c 例如增加对比度 xff0c 去掉模糊和噪声 xff0c 修正几何畸变等 xff1b 图像复原是在假定已知模糊或噪声的模型时 xff0c 试图估计原图像的一种技术 图像增强按所用方法可分成频率域法和
  • SQL SERVER DATETIME 常用日期格式转换

    我们经常出于某种目的需要使用各种各样的日期格式 xff0c 当然我们可以使用字符串操作来构造各种日期格式 但是有现成的函数为什么不用呢 xff1f SQL Server中文版的默认的日期字段datetime格式是yyyy mm dd Thh
  • hadoop学习之自定义对象实现 writeable

    Hadoop虽然 已经实现了一些非常有用的Writable xff0c 如Text IntWritable NullWritable等 xff0c 但有时候需要构造一些更加复杂的结果存入context中 xff0c 使用这些方法可能就不是那
  • C语言宏的用法详解

    1 简介 宏在C语言中是一段有名称的代码片段 无论何时使用到这个宏的时候 xff0c 宏的内容都会被这段代码替换掉 主要有两种宏 xff0c 他们的区别主要是在使用上面 xff0c 一种是在使用时类似于数据对象称为Object like x
  • Linux--day04\05

    知识点和问题 1 Linux组基本介绍2 查看文件的所有者3 创建一个组police 再创建一个用户tom xff0c 将tom放在police中 xff0c 然后使用tom来创建ok txt文件 xff0c 看看情况如何 4 使用root
  • 如何在Ubuntu上运行.run文件

    在Ubuntu上运行 run文件 xff0c 有以下几个步骤 xff1a 1 打开一个终端 ctrl 43 alt 43 t 2 cd 到 run文件所在目录 3 输入 34 chmod 43 x foo run 34 4 输入 34 fo
  • /dev/tty、/dev/ttyS/、/dev/ttyUSB区别

    1 dev tty 当前控制终端Terminal 可以使用命令 ps ax 来查看进程与哪个控制终端相连 xff0c 使用命令 tty 可以查看它 具体对应哪个实际终端设备 2 dev ttyn和 dev console xff08 虚拟
  • 怎么解决你的Segmentation fault (core dumped)问题

    http westsoftware blog 163 com blog static 260941092011460252776 开发一个Linux Unix C C 43 43 程序的时候 xff0c 有时候会出现莫名的core dump
  • 前端生成图表

    http www cnblogs com skiler p 6679828 html 1 常用的前端生成图表的工具HighCharts和echarts 2 具体内容可参考官方文档 xff0c 有一些具体实例 xff0c JS和HTML的代码
  • C语言与C++的区别终于有人说清楚了!

    点击蓝字 关注我们 来源于网络 xff0c 侵删 1 前言 在很大程度上 xff0c C 43 43 是C的超集 xff0c 这意味着一个有效的C程序也是一个有效的C 43 43 程序 C和C 43 43 的主要区别是 xff0c C 43
  • python3,浅谈with的神奇魔法

    在实际的编码过程中 xff0c 有时有一些任务 xff0c 需要事先做一些设置 xff0c 事后做一些清理 xff0c 这时就需要python with出场了 xff0c with能够对这样的需求进行一个比较优雅的处理 xff0c 最常用的
  • archlinux安装配置vnc+openbox

    为什么用openbox xff0c 因为它很小 xff0c 占用资源少 够我用了 我用linux大部分只用命令行界面就够了 图形界面程序用的最多的也就是浏览器了 安装相关软件包 span class token comment 更新下系统