LXQt快速起步

选择LXQt

很久以前,我曾经有一段时间非常痴迷轻量级Linux桌面(现在也是),曾经使用过 LXDE ,在非常古老的硬件上,能够获得不错的性能。然而LXDE基于GTK2,已经很久没有重大发展了,社区也推荐转换成基于Qt的 LXQt 。不过,我后来转换到 xfce 就一直持续使用xfce了,原因是xfce确实也很快速资源占用较少,当时xfce还对很多外设支持良好(如蓝牙和无线)。

不过,随着GTK3的发展越来越复杂,融入了很多GNOME的特性,xfce也渐渐变得沉重起来。最近一次安装xfce,我发现启动桌面之后,内存也已经占据了700+MB以上,已经和KDE环境相差无几了。

所以,我为了能够充分发挥硬件性能,舍弃了完整的GUI桌面,选择 sway - i3兼容Wayland compositor 这样比较激进的平铺窗口管理器(特别是原生支持现代化的图形系统 wayland显示服务器协议 ),能够获得非常快速的使用体验。

但是,有获得也有失去 sway - i3兼容Wayland compositor 所采用的 wayland显示服务器协议 还没有得到广泛的支持,有很多必要的程序支持不佳(例如chrome,输入法),并且也不能使用 Synergy:主机间共享键盘鼠标 。最近,我又需要同时操纵两台主机(以便充分利用显示屏幕,并且最重要的是能够操作 macOS 上的商业软件),所以准备选择一个基于传统 xorg 的轻量级桌面。想到xfce和KDE相近的体量,我想尝试一下很久以前体验过的类似 LXDE 的后继者 LXQt :

  • 能够使用 Synergy:主机间共享键盘鼠标 操作多台主机

  • 已经验证过 qterminal 可以很好支持中文输入,且非常轻量(但是 qterminal 不能选择中文字体,导致显示中文不美观)

底层操作系统采用 Arch Linux ,最小化安装,逐步递进部署桌面。

LXQt简介

按照 LXQt官网 介绍,LXQt是一个轻量级的Qt桌面环境,专注于给传统桌面带来现代的使用体验:

  • 模块化组件

  • 强大的文件管理器

  • 可定制外观

  • 提供插件和设置的面板

  • Window Manager agnostic(没理解,以后再说)

LXQt精选了一系列轻量级的应用:

  • PcManFm-qt - 这是从LXDE继承的轻量级文件管理器,已经Qt化

  • Lximage-qt - 也是从LXDE继承的图片观看程序

  • QTerminal - 终端模拟器,非常快速而且对中文输入支持良好 (我改用 lxterminal ,也就是 LXDE 默认内置终端,基于GTK,优点是能够选择中文字体 文泉驿 所以编辑中文非常美观)

  • Qps - 进程查看

  • Screengrab - 截屏

  • LXQt-archiver - 压缩包管理

  • LXQt-runner - 应用程序加载器

安装

  • Arch Linux 平台只需要安装 lxqt 就会一起安装必要桌面组件:

    pacman -S lxqt xorg-server xorg-xinit breeze-icons wqy-microhei
    

备注

  • xorg-xinit 提供 startx

  • 至少需要安装一种Sans字体,否则会导致LXQt菜单完全是空白: 由于 Linux中文显示 需要,所以我安装了 文泉驿微米黑 wqy-microhei ,安装以后LXQt就能显示菜单文字

  • breeze-icons 提供美观的KDE风格图标(避免LXQt无法显示图标)

  • 我本来还安装 xdg-utilsxsecurelock 想用来锁屏,但是后来阅读文档发现LXQt默认只通过 xdg-utils 来使用 XScreenSaver ,过于沉重。为了简单的锁屏功能有些浪费资源,所以我改为 LXQt环境使用轻量级锁屏slock 方式。不过 xdg-utils 还是被 chromium qt5-base 依赖,所以不用单独安装。

  • 配置 ~/.xinitrc 添加:

    exec startlxqt
    

备注

之前在 :ref;`sway` 中,启用支持 wayland显示服务器协议 的QT程序,需要配置 /etc/environmentQT_QPA_PLATFORM=wayland ,该配置需要取消,否则无法运行 xorg 。

图标

默认安装LXQt时只包含了简单的icon,似乎存在一些常规图标不能显示。根据arch linux LXQt文档,推荐安装 breeze-icons 可以显示非常简洁美观的图标。

平铺窗口

LXQt使用 Openbox 实现窗口管理(Window Manager, WM),所以要实现窗口平铺(tiling, snapping windows)也要从Openbox着手: 使用Openbox utilities 或者直接编辑config文件: LXQt环境平铺窗口

共享键盘鼠标

之前我尝试过不同的在Linux平台运行Windows程序( ArchLinux平台wine环境运行Windows程序 )和Android程序( Anbox - 在Linux上运行Android程序 ),甚至采用 Linux桌面 通过远程桌面将Windows商用程序界面展示在Linux桌面中。但是所有这些方法都有各自的弊端,特别是很难实现中文化办公。

最终我还是决定采用 Synergy:主机间共享键盘鼠标 来共享鼠标键盘: 现在电脑设备实在太普及了,随便一个微型电脑(我采用旧笔记本)就能完整运行Windows或 macOS ,公司的商用软件在这些平台都有提供。在办公室很容易获得第二块屏幕,也就能够非常无缝地日常在Linux上开发,同时兼顾一些商业应用软件(即时通讯、视频会议)。不再折腾桌面商业软件虚拟化运行,把精力集中到 Kubernetes Atlas 这样的大型分布式系统以及继续专注软件开发。

在LXQt中使用标准的xorg,可以直接安装和使用 Synergy:主机间共享键盘鼠标 来控制Windows/ macOS 系统,这样方便我工作中使用商业软件(无需使用远程桌面,充分发挥屏幕功效):

pacman -S synergy

软件仓库提供的 synergy 和官方提供版本一致,并且提供了图形配置功能,所以使用非常简便。

中文输入

中文输入法我继续采用 小企鹅输入法fcitx

pacman -S fcitx5 fcitx5-rime fcitx5-config-qt fcitx5-gtk

备注

  • 我没有像 Asahi Linux 那样安装一个庞大的 fcitx5-chinese-addons (发行版没有提供ARM版本 fcitx5-rime ) ,而是采用小巧的 fcitx5-rime

  • 只需要安装 fcitx5-config-qt 就可以图形化配置 fcitx5

  • 添加 rime 输入法,默认输入是繁体中文,根据 arch linux: Rime 介绍,在使用Rime时,按下 F4 或者 ctrl+` 可以调整基础设置,此时就可以选择简体字输入

  • firefox和chrimium都是GTK程序,所以必须安装 fcitx5-gtk 才能在这两个浏览器中输入中文(虽然我一直没有解决在 sway - i3兼容Wayland compositor 中给chromium输入中文)

  • 配置 /etc/environment :

启用fcitx5环境变量配置 /etc/environment
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
INPUT_METHOD=fcitx
SDL_IM_MODULE=fcitx
GLFW_IM_MODULE=ibus

终端

轻量级终端 选择使用 Qterminal : 需要精心配置,特别是选择 Qterminal中文字体

浏览器

由于工作中有不少网站只兼容chrome,所以安装 chrome (取代 chromium) :

安装Google Chrome(替代chromium)
sudo pacman -Rs chromium
yay -S google-chrome

安装和配置 Chrome的同步/扩展/主题

Firefox(放弃)

对比Firefox和Chromium,各有利弊:

  • Firefox内建了pdf阅读功能,对于网站提供pdf文档直接阅读非常方便

  • Firefox内置的sync功能,在不同主机间切换能够同步tab(虽然不是自动同步)

  • Firefox内置的视频解码器可能和一些视频网站不完全兼容,这点不如Chromium通吃(太多的网站只考虑适配chrome),例如我在观看低端影视网站的 高堡奇人 就发现Firefox无法正确还原视频色彩并且有残影,而chromium则完全正常(Falkon也正常)

    • Chromium内置的视频播放引擎显然最为先进,在全屏播放 高堡奇人 对比可以看到 chromium 有2个不到40% CPU的进程就可以流畅播放,而Falkon则跑到 130% 以上CPU(导致明显卡顿)。chromium应该有GPU加速所以视频非常优秀。

Falkon(放弃)

我尝试过很多 Linux轻量级浏览器 ,其中 Falkon 是 Fedora SPINS: LXQt Desktop 选择作为轻量级浏览器:

../../../_images/falkon.png
  • 基于Qt Webkit引擎,契合LXQt桌面,并且也是KDE项目

  • 纯Qt界面可以避免Firefox和Chromium基于GTK的资源消耗

我发现在LXQt环境Falkon确实有轻量级的优势,所以日常文档阅读及浏览都会采用这个浏览器,而chromium则作为一些特定操作补充(视频/proxy切换)

备注

从浏览器角度来说,chromium确实最为全能,无论性能还是功能完整性,确实超越了Firefox和Falkon。后续可能还是会回归使用单一chromium。

截屏和标记

由于我需要撰写技术文档,截图和简单标记是必要的需求。LXQt内置应用 LXImage-Qt 提供了图形浏览以及简单的标记功能,基本够用:

../../../_images/lximage-qt.png

音乐

Fedora SPINS: LXQt Desktop 选择Yarock作为音乐播放器:

  • Qt5现代化交互界面,能够很好融入系统

  • 后端有两种但是差别不大,实际上最终都依赖于VLC:

    • phonon-qt5-gstreamer

    • phonon-qt5-vlc

不过这个Yarock安装依赖极多,其中VLC需要占用114MB,其他相关依赖完整安装Yarock需要占用215~240MB空间。

如果要轻松使用,可以采用这个Qt音乐播放器

不过,我考虑到轻量级准备还是采用之前探索 MPD(Music Player Daemon) 字符界面结合客户端来实现音乐播放

视频

可选安装VLC,不过现在大多数视频可以在线观看(Flakon已经非常完美),暂时没有强需求。

备注

我考虑自己构建音乐和视频服务器,然后全部通过浏览器来实现播放

备注

实际上现代桌面操作系统的音乐和视频播放器的后端都是VLC,功能极其强大,但是也比较沉重。即使是KDE环境推荐的轻量级多媒体播放器 Dragon Player 其后端依然是VLC。

下载

arch linux: Transmission 详细介绍了功能强大的下载工具Transmission,不仅有GUI操作,也有CLI甚至WEB界面。功能非常强大,并且安装也非常小巧。

不过我考虑采用:

Falkon 浏览器可以使用外部下载管理器,或许可以结合 axel 或者 aria2 实现快速下载(我暂时没有找到解决方法)

密码管理

  • keepassxc: 完美的基于Qt的密码管理程序:

    pacman -S keepassxc
    

阅读

主要技术文档是pdf和epub,考虑到轻量级 在Linux环境阅读电子书 :

  • pdf文档采用 xpdf 最轻量级的专注pdf阅读器

  • epub文档采用 fbreader (早期版本已经够用,几乎不需要太多依赖;2015年之后FBReader 2已经不再开源,但免费)

    • lectoryacreader 都是非常全面的电子书阅读器,但是需要安装很多依赖

  • 全面支持pdf和epub的轻量级阅读器则可以选择 MuPDF (在LXQt我还是分别采用了 xpdffbreader )

备注

我最终还是统一到 MuPDF 来阅读电子书,原因:

  • MuPDF 实际上是一个电子书引擎,很多电子书工具都基于它来实现,所以这个软件功能非常强大

  • 全部采用快捷键控制,一旦掌握非常方便使用(类似于vim)

备注

为了能能够跨平台同步电子书,可以采用 Google Play Book 实现: Google Play Book提供了WEB页面方式阅读电子书,对于Linux平台只要能够自由访问网络,这种方式还是非常适合多设备同步阅读书籍的。

不过,使用 Google Play服务 可能会遇到国家区域限制…

Themes

LXQt的风格非常简约,其实没有必要太多定制,不过我也比较喜欢:

  • Icons Theme: Breeze

  • LXQt Theme: Clearlooks

  • Openbox Theme: Bear2

参考