探索 Cinnamon 与 LXDE 桌面环境:特性、组件与优势解析
1. Cinnamon 桌面环境
1.1 核心库与工具
- Muffin :使用 C 语言构建,其源代码可在 Github 上获取。它自身以及 Cinnamon 中的 St 都会用到相关功能,Cogl 库则用于 3D 渲染中的 Clutter。
- CJS :作为 Cinnamon 的 JavaScript 翻译器,借助 Mozilla 的 SpiderMonkey,实现与 GObject 的交互,并能连接 GIR、GNOME 和 Cinnamon 库。它在 Cinnamon 进程中处理,Cinnamon 大量的桌面组件由 JavaScript 编写。其已升级为 C++ 和 JavaScript,源代码也托管在 Github。
1.2 核心组件
- Cinnamon - Session :负责登录后呈现所需组件,退出时妥善关闭会话。引入会话关键组件和自动启动的应用程序,还提供 DBus 接口(Existing Interface Connector),方便媒体播放器等应用设置忙碌时间、防止电源管理和屏保。支持应用自动注册关闭,如文本编辑器启动时注册,未保存文档时,会话会提示保存。
-
Cinnamon - Settings - Daemon
:在 Cinnamon 会话期间后台运行的一系列进程集合,提供广泛的会话和长期运行的功能。使用的服务包括为 GTK + 程序提供主题、字体等设置的 XSettings Manager,以及程序退出时存储剪贴板内容的剪贴板管理器。它以 org.Cinnamon.SettingsDaemon 名称进入会话总线,确保只有一个实例活动,部分插件以此名称提交项目。以下是部分进程描述:
| 进程 | 描述 |
| — | — |
| csd - automount | 硬件设备插入时自动挂载 |
| csd - clipboard | 管理通过 Ctrl + C/Ctrl + V 可用的额外复制粘贴缓冲区 |
| csd - housekeeping | 处理缩略图缓存并监控磁盘可用空间 |
| csd - keyboard | 处理键盘布局和配置 |
| csd - media - keys | 处理媒体键 |
| csd - xsettings | 处理 X11 和 GTK 配置 |
| csd - xrandr | 处理屏幕分辨率和显示器配置 |
| csd - wacom | 处理 Wacom 设备 |
| csd - print - notifications | 处理打印机通知 |
| csd - power | 处理电池和电源管理 |
| csd - orientation | 处理加速度计和屏幕方向 |
| csd - mouse | 处理鼠标和触摸设备 | - Cinnamon - Screensaver :负责锁屏和部分电源管理功能(大部分由 Cinnamon Settings Daemon 中的 csd 实现),采用 Python 构建,源代码在 Github 上。
-
Cinnamon
:Github 上最大且最活跃的项目,包含多个子部分:
-
C 相关
:
- St :基于 Clutter 的 Cinnamon 小部件工具包。
- Appsys :Gio.AppInfo 和 Cinnamon - menus 的抽象,提供已安装应用的元数据。
- DocInfo :最近打开文档的抽象。
- Tray :用于管理状态图标的小库。
-
JavaScript 相关
:
- Cinnamon JS :实现面板、窗口管理、HUD、效果等可见部分。
- Applets :位于面板中的图标或文本。
- Desklets :位于桌面上方。
- 系统设置、配置模块和脚本用 Python 编写,已升级为 C、Python 和 JavaScript,源代码可在 Github 找到。
-
C 相关
:
- Nemo :Cinnamon 的文件管理器,包含 Nemo - desktop 用于管理桌面图标和内容菜单。登录时,Nemo - desktop 随 Cinnamon - session 自动启动,浏览文件时 Nemo 进程启动,最后一个文件管理器窗口关闭时停止。它已升级为 C 语言,源代码在 Github。
- Nemo Extensions :Nemo 提供一套 API,易于在 C 和 Python 中扩展。常见扩展存储在 Github 项目中,部分用 C 编写,部分用 Python 编写。
-
Cinnamon Control Center
:尽管 Cinnamon 大部分设置和模块用 Python 编写,但仍有少数激活模块用 C 编写,目前包含以下模块:
- 颜色配置文件
- 日期和时间配置
- 显示配置和监控
- 网络配置
- 在线账户配置
-
Wacom 设备配置
其已升级为 C 语言,源代码可在 Github 获取。
1.3 X - Apps 项目
2016 年启动的项目,旨在生产标准 GTK 桌面应用,替代集成不佳的应用,为桌面提供统一的关键应用。主要理念如下:
- 使用现代工具和技术(如 GTK3 HiDPI 支持、设置等)。
- 采用标准用户界面(标题栏、菜单栏)。
- 可在各种环境(普通、桌面无关、发行版无关)中工作。
- 为用户提供性能。
- 尽可能在多个发行版上运行。
包含以下组件:
-
libxapp
:XApps 库,跨桌面的内容都包含在内,通过 GObject Introspection 也可在 Python 和 JS 中使用,用 C 语言开发,源代码在 Github。
-
python - xapp
:小型 Python 库,提供额外功能,用 Python 开发,源代码在 Github。
-
xed
:基于 Pluma 的默认文本编辑器。
-
xviewer
:基于 Eye of GNOME 的默认图像查看器。
-
xplayer
:基于 Totem 的标准音乐和视频媒体播放器。
-
xreader
:基于 April 的默认文档和 PDF 阅读器。
-
pix
:基于 gThumb 的照片管理应用。
-
blueberry
:支持系统托盘的蓝牙设备管理,为 GTK 桌面提供 GNOME - bluetooth 前端。
-
greetings
:Slick - greeter 自动登录屏幕,基于 uninity - greeter 分叉并配置。
-
lightdm - settings
:提供设置工具来配置 LightDM 和 slick - greeter。
1.4 Cinnamon 的优势
- 开源许可 :遵循 GNU 通用公共许可证分发。
- 独立完整 :自 2.0 版本起,成为完整桌面,而非像 GNOME Shell 和 Unity 那样只是 GNOME 的一个位置。
- 性能优越 :3D 版本运行快速,提供易用舒适的桌面体验,同时紧跟最新技术。
- 扩展性强 :可通过主题、小程序和扩展进行替换和定制。主题可定制菜单、面板等外观;小程序默认有五个,开发者可自由创建;扩展可改变 Cinnamon 性能,开发者可上传到 Cinnamon 网页供用户下载和评分。
- 灵活性高 :右键可访问出色的退出菜单,包含桌面设置、添加桌面等常用功能。
- 兼容性好 :不依赖特定桌面的应用可用性,所有应用在 Cinnamon 上都能良好运行,所需库都可获取。
- 速度快 :应用加载和显示迅速,登录时桌面加载快。
- 界面简洁 :使用易读字体和颜色组合,桌面无不必要干扰,可通过系统设置 => 桌面菜单编辑桌面图标显示位置。
- 广泛可用 :在 Linux Mint 12 存储中可用,是 Linux Mint 13 及以上版本的四个桌面环境选项之一,也是 Linux Mint Debian Edition Update Pack 4 重制版的用户选择。
- 易于定制 :有设置编辑器,可定制面板、日历、主题、桌面效果、小程序和扩展。
- 新增模式 :添加了“Expo”和“Scale”两种全局视图模式,可在 Cinnamon 设置中配置。
- 音频增强 :音频设置用 Python 重写,提供无输入设备通知、视觉变化、同时静音所有音量控制、调整音量滑块和静音按钮、检查音频对话框和添加图标等功能。
- 触摸板控制 :用户可完全控制便携式计算机的触摸板,修复了图像框架中的中键点击操作。
2. LXDE 桌面环境
2.1 简介
LXDE(Lightweight X11 Desktop Environment 的缩写)是轻量级桌面操作系统,适用于 Unix 及类似系统(如 BSD 和 Linux)。旨在比其他桌面环境(如 GNOME)使用更少系统资源。2006 年由台湾程序员 Hong Jen Lee 发起,最初用 C 语言结合 GTK 工具包编写,2013 年 7 月发布的新版本基于 Qt。
2.2 发展历程
- 2006 年,台湾程序协调员 Hong Jen Yee(PCMan)发布 PCManFM 作为第一个 LXDE 模块,标志着 LXDE 项目启动。
- 2011 年初,与其他桌面环境相比,LXDE 的受欢迎程度有所增加。例如,Lubuntu 在页面点击量上超过 Kubuntu,CrunchBang Linux 虽长期未发布稳定版本,但仍在前 25 名。
- 2013 年,LXDE 开始向 Qt 迁移,并尝试与 Razor - qt 合作。7 月 3 日,宣布 LXDE 套件的完整 Qt 移植;7 月 21 日,Razor - qt 和 LXDE 宣布整合计划,最终团队将精力集中在 Qt 移植的 LXQt 上。
2.3 核心组件
-
Window Manager (Openbox)
:
- 基本信息 :由台湾的“PCMan”开发,以轻量级为目标。Openbox 是免费的 X Window System 窗口管理器,遵循 GNU 通用公共许可证(GPL)。最初基于 Blackbox 0.65.0,但 3.0 版本已完全用 C 语言重写,不包含 Blackbox 的代码。它设计小巧、快速,完全符合 Inter - Client Communication Conventions Manual(ICCCM)和 Extended Window Manager(EWMH)提示,支持用户控制应用或显示动态信息的菜单。作者是加拿大渥太华卡尔顿大学的 Dana Jansens。
- 使用方法 :可在桌面右键点击“根菜单”来配置窗口管理。窗口最小化后不可见,可通过 Alt + Tab 或桌面菜单(右键点击)来切换窗口。常见的扩展方式是添加图标、任务层、启动器等小工具。
- 特点 :菜单系统具有灵活性,通过接受文本输出并将其作为菜单源。用户鼠标指向子菜单时,脚本会重新启动并更新菜单,为用户和开发者提供了比其他窗口管理器更多的灵活性。
-
File Manager (PCManFM - Qt)
:
- 开发背景 :由台湾的 Hong Jen Yee 开发,旨在替代 GNOME、Dolphin 和 Thunar 文件管理器。PCManFM 是 LXDE 的标准文件管理器,2010 年开始完全重写,构建、设置和配置说明也随之改变。它遵循 GNU 许可证,是自由软件,遵循 Freedesktop.org 的协作信息。
- 版本发展 :由于对 GTK3 不满意,2013 年初 Hong Jen Yee 测试了 Qt,并于 3 月 26 日发布了基于 Qt 的第一个 PCManFM 版本。他表示 GTK 和 Qt 版本将长期共存,新的 PCManFM - Qt 是 LXQt 的重要组成部分。到 2020 年,Arch Linux 社区在 GTK 3 上安装了 PCManFM。
-
特点
:
- 全面支持 GVfs,可无缝访问远程文件系统。
- 具有双面板功能。
2.4 优势与适用场景
- 资源占用少 :测试表明,与其他操作系统相比,LXDE 大约只需要一半的 RAM,并且功耗更低,适合希望延长电池续航的便携式计算机用户。
- 灵活性高 :默认使用 Openbox 作为窗口管理器,但也可配置第三方窗口管理器(如 Fluxbox、IceWM 或 Xfwm)。
- 兼容性好 :结合了 GPL 许可代码和 LGPL 许可代码,在 Unix 和其他 POSIX 兼容平台(如 Linux 和 BSD)上运行。
2.5 与其他桌面环境对比
与 KDE、GNOME 等桌面环境相比,LXDE 更轻量级。以 Xfce 为例,虽然 Xfce 也提供轻量级集成环境,但仍可能存在一定的资源依赖。而 LXDE 则进一步减少了系统资源的使用,为用户提供更简洁、高效的桌面体验。对于不希望安装和配置大量组件的用户,LXDE 是一个不错的选择。但对于那些不喜欢 lxsession 引入的依赖(如 dbus、polkit 等)的用户,可以考虑 Lumina。
以下是 Cinnamon 和 LXDE 桌面环境的对比表格:
| 特性 | Cinnamon | LXDE |
| — | — | — |
| 资源占用 | 相对较高,功能丰富 | 低,轻量级 |
| 开发语言 | C、Python、JavaScript | 最初 C + GTK,现基于 Qt |
| 窗口管理器 | 多种可能(默认未提及) | 默认 Openbox,可配置第三方 |
| 适用场景 | 追求功能和美观,对资源要求不苛刻 | 资源有限设备,注重电池续航 |
graph LR
classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px;
A([开始]):::startend --> B{选择桌面环境}:::decision
B -->|Cinnamon| C(使用丰富功能和定制性):::process
B -->|LXDE| D(享受轻量级和低资源占用):::process
C --> E(体验3D效果、音频增强等):::process
D --> F(延长电池续航、灵活配置窗口管理器):::process
E --> G([结束]):::startend
F --> G
综上所述,Cinnamon 和 LXDE 各有特点和优势。Cinnamon 功能丰富、定制性强,适合追求现代桌面体验和功能多样性的用户;而 LXDE 以轻量级和低资源占用著称,更适合资源有限的设备和注重电池续航的用户。用户可根据自己的需求和设备情况选择适合的桌面环境。
2.6 LXDE 在 Ubuntu 上的安装
在 Ubuntu 系统中安装 LXDE 可按以下步骤操作:
1.
更新系统
:打开终端,输入以下命令更新系统的软件包列表和已安装的软件包:
sudo apt update
sudo apt upgrade
- 安装 LXDE :在终端中输入以下命令来安装 LXDE:
sudo apt install lxde
-
选择显示管理器
:安装过程中,系统可能会提示你选择显示管理器。如果你之前没有安装过其他显示管理器,可选择
lightdm,它与 LXDE 配合良好。使用上下箭头键选择,然后按Enter键确认。 - 完成安装 :安装完成后,重启系统:
sudo reboot
- 登录 LXDE :重启后,在登录界面的会话选项中选择 LXDE,输入用户名和密码登录。
2.7 Lubuntu 发行版
Lubuntu 是基于 Ubuntu 的发行版,它默认使用 LXDE 桌面环境。以下是 Lubuntu 的一些特点:
-
轻量级
:继承了 LXDE 的轻量级特性,对系统资源的需求较低,适合在旧设备或配置较低的计算机上运行。
-
易于使用
:提供了简洁直观的用户界面,即使是 Linux 新手也能快速上手。
-
丰富的软件库
:与 Ubuntu 一样,Lubuntu 拥有丰富的软件库,用户可以方便地安装各种应用程序。
-
社区支持
:有活跃的社区支持,用户可以在社区中获取帮助、分享经验和参与开发。
2.8 LXDE 的未来发展展望
随着计算机硬件的不断发展,虽然资源不再是一些用户考虑的首要因素,但对于嵌入式设备、老旧计算机以及对电池续航有较高要求的设备,LXDE 的轻量级特性依然具有重要价值。未来,LXDE 可能会在以下方面继续发展:
-
技术更新
:持续跟进 Qt 技术的发展,进一步优化性能和用户体验。
-
兼容性提升
:加强与更多 Linux 发行版和硬件设备的兼容性,扩大其应用范围。
-
功能扩展
:在保持轻量级的前提下,适当增加一些实用功能,以满足更多用户的需求。
3. 总结与选择建议
3.1 总结
Cinnamon 和 LXDE 是两种不同风格的桌面环境,各自具有独特的特点和优势:
-
Cinnamon
:功能丰富、定制性强,拥有现代化的界面和强大的功能扩展能力,适合对桌面环境有较高要求、追求美观和功能多样性的用户。
-
LXDE
:轻量级、资源占用少,注重系统的简洁性和高效性,适合资源有限的设备和对电池续航有较高要求的用户。
3.2 选择建议
在选择桌面环境时,用户可以根据以下因素进行考虑:
-
硬件配置
:如果计算机硬件配置较高,对资源的限制较小,可以选择 Cinnamon 来享受丰富的功能和美观的界面;如果硬件配置较低,或者是老旧计算机,LXDE 则是更好的选择。
-
使用需求
:如果需要处理复杂的图形任务、运行大型应用程序,或者对桌面的个性化定制有较高要求,Cinnamon 更能满足需求;如果只是进行日常办公、浏览网页等简单操作,LXDE 已经足够。
-
电池续航
:对于便携式计算机用户,如果希望延长电池续航时间,LXDE 的低功耗特性会是一个重要的考虑因素。
以下是一个简单的决策流程图,帮助用户选择适合自己的桌面环境:
graph LR
classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px;
A([开始]):::startend --> B{硬件配置是否高}:::decision
B -->|是| C{是否需要丰富功能和定制性}:::decision
B -->|否| D{是否注重电池续航}:::decision
C -->|是| E(Cinnamon):::process
C -->|否| F{是否简单日常操作}:::decision
D -->|是| G(LXDE):::process
D -->|否| F
F -->|是| G
F -->|否| E
E --> H([结束]):::startend
G --> H
无论选择哪种桌面环境,都可以根据自己的喜好和需求进行个性化设置,以获得最佳的使用体验。希望本文能为你在选择桌面环境时提供一些参考和帮助。
超级会员免费看
573

被折叠的 条评论
为什么被折叠?



