Ubuntu 26.04 Daily 上安装 LXQt + XRDP:一次从踩坑到跑通的实录

最近我想在一台 Ubuntu Server 26.04 daily/current 的机器上补一个轻量图形环境,目标其实很简单:

  • 本地可以进入桌面
  • 远程可以通过 XRDP 登录
  • 尽量别装一整套很重的桌面发行版环境
  • 整个过程尽量可复线,而不是“玄学修好”

最开始我以为这会是一件很顺手的小事:装个 lxqt-core,补个显示管理器,再装个 xrdp,应该就差不多了。
结果真动手之后发现,事情没那么简单。

这篇文章就把整个过程完整记下来:我执行了什么命令、为什么这么做、预期是什么、实际结果是什么,以及最后怎么把它跑通。

先说结论:

在 Ubuntu 26.04 daily/current(20260415) 上,直接执行 apt install lxqt-core,会遇到 lxqt-panellxqt-branding-debian 对同一个文件的冲突。不知道几天后的 Final 版本 Ubuntu 26.04 是否还有该问题。
这个问题可以稳定复现,也可以稳定绕过。绕过之后,再补 xserver-xorgsddmxrdpxorgxrdp,最终可以得到一套本地和远程都可用的 LXQt 环境。


为什么我不想直接装 lubuntu-desktop

先说一下动机。

很多人遇到这种需求,第一反应通常是:

sudo apt install lubuntu-desktop

这当然不是错的,而且大概率也能用。但这不是我这次想走的路线。

ubuntu-desktop:最省心,但也最重

如果装的是 ubuntu-desktop,那基本就是把完整 Ubuntu 桌面体验整套搬过来。
优点是省心,缺点也很明显:

  • 体积大
  • 依赖多
  • 服务多
  • 对原本就是 Server 的机器来说,有点过量

lubuntu-desktop:轻一点,但还是“整套桌面发行版体验”

lubuntu-desktop 确实比 ubuntu-desktop 轻,但它本质上仍然是一个发行版级别的任务包
它的目标不是“给我一个最小可用的 LXQt”,而是“尽量把 Lubuntu 的完整体验带上”。

这通常意味着:

  • 更多推荐包
  • 更多主题和外观定制
  • 更多应用程序
  • 更多你在 Server 场景下其实不一定需要的东西

lxqt-core:理论上更接近我的目标

我一开始真正想试的是 lxqt-core,因为它看起来更像是:

给我一套 LXQt 核心桌面,而不是直接塞给我一个完整发行版桌面。

不过这次实验也让我意识到,lxqt-core 在 Ubuntu 26.04 daily 当前仓库里的行为,并没有想象中那么“极简”。

它实际会拉进非常多依赖。APT 的安装摘要里,安装规模直接到了:

Summary:
  Upgrading: 0, Installing: 617, Removing: 0, Not Upgrading: 0
  Download size: 327 MB
  Space needed: 1,187 MB / 55.0 GB available

也就是说,lxqt-core 并不是“只装几个核心组件”的超小集合。
但它仍然比直接上 lubuntu-desktop 更符合我这次的目的:用尽量可控的方式,在 Server 上补一个能用的轻量桌面。


这几个包到底分别是干什么的

在正式开始之前,先把几个关键包的角色说清楚。不然后面很容易看着命令很熟,其实不知道谁负责什么。

lxqt-core

这是 LXQt 的核心元包。
按当前仓库行为,它会拉进不少东西,比如:

  • lxqt-panel
  • lxqt-session
  • pcmanfm-qt
  • xfwm4
  • 图标主题
  • 以及会推荐 lxqt-branding-debian

所以它不是“只装一个 panel 和 session”的极简集合,而是一套比较完整的 LXQt 运行基础。

xserver-xorg

这是 Xorg 图形服务器。

没有它,就算你已经装了 LXQt 会话,也可能根本没有真正的图形显示服务,系统里甚至不会有 /usr/bin/X

sddm

这是显示管理器,也就是图形登录界面。
装上它之后,重启机器,通常就会看到图形化登录窗口。

xrdp

这是 XRDP 服务本体,用来提供远程桌面登录能力。

xorgxrdp

这是 XRDP 的 Xorg backend。
因为我本地桌面本来就是 Xorg 路线,所以远程桌面也直接走 xorgxrdp 最自然。


实验环境

这次测试环境很简单:

  • 基础镜像:Ubuntu Server 26.04 daily/current
  • 从干净系统开始
  • 目标:安装 LXQt,本地可登录,XRDP 可远程

这一点很重要,因为后面出现的问题,基本可以确认是当前仓库行为,而不是“机器以前折腾脏了”。


第一步:直接安装 lxqt-core

我先走最直接的路线:

sudo apt update
sudo apt install lxqt-core

为什么先这样做

因为这一步最能直接验证三件事:

  1. lxqt-core 当前到底会拉哪些包
  2. 它能不能在 Ubuntu 26.04 daily 上直接装成功
  3. 如果失败,问题到底是依赖不全,还是仓库本身有冲突

我的预期

我原本以为:

  • 会安装不少 LXQt 组件
  • 最终得到一套接近可用的桌面环境
  • 至少不应该在干净系统上直接报错中断

实际结果

APT 给出的安装摘要很大,节选如下:

Installing:
  lxqt-core

Installing dependencies:
  ...
  lxqt-branding-debian
  ...
  lxqt-panel
  ...
  lxqt-session
  ...
  pcmanfm-qt
  ...
  xfwm4
  ...

Summary:
  Upgrading: 0, Installing: 617, Removing: 0, Not Upgrading: 0
  Download size: 327 MB
  Space needed: 1,187 MB / 55.0 GB available

这一步至少说明了两件事:

第一,lxqt-core 并不算特别小。
第二,它会同时把 lxqt-panellxqt-branding-debian 带进来,而这正是后面冲突的关键。


真正的坑:lxqt-panellxqt-branding-debian 文件冲突

安装进行到一半时,APT 直接停住,报了这样一个错误:

Preparing to unpack …/lxqt-panel_2.3.2-0ubuntu1_amd64.deb…
Unpacking lxqt-panel (2.3.2-0ubuntu1)…
dpkg: error processing archive .../lxqt-panel_2.3.2-0ubuntu1_amd64.deb (--unpack):
 trying to overwrite '/etc/xdg/lxqt/panel.conf', which is also in package lxqt-branding-debian (0.14.0.7)

这一步为什么关键

因为它说明问题不是“缺某个依赖”,也不是“包没找到”,而是一个更明确的情况:

当前仓库里,这两个包都试图安装同一个文件,dpkg 不允许这么做,于是安装中断。

这属于文件冲突,而不是普通的依赖不满足。

我怎么确认根因

后面我又跑了几条确认命令:

apt-cache policy lxqt-core lxqt-panel lxqt-branding-debian
apt-cache depends lxqt-core
dpkg -S /etc/xdg/lxqt/panel.conf

结论很清楚:

  • lxqt-core 依赖 lxqt-panel
  • lxqt-core 推荐 lxqt-branding-debian
  • /etc/xdg/lxqt/panel.conf 归属于 lxqt-branding-debian

也就是说,当前 Ubuntu 26.04 daily 的仓库里,这条安装路径确实会把两个会冲突的东西一起拉进来。
而且这不是旧系统残留导致的,在干净环境下也能复现。


为什么当时系统看起来像“坏了”

冲突发生之后,我去检查系统状态,看到的是一堆让人很容易误判的信息。

比如:

ls: cannot access '/usr/bin/X': No such file or directory
ls: cannot access '/usr/lib/xorg/Xorg': No such file or directory
Unit sddm.service could not be found.
iU  lxqt-core ...
iU  lxqt-session ...
iU  pcmanfm-qt ...
iU  xfwm4 ...

这些现象说明什么

这不是说 LXQt 本身不行,也不是说 lxqt-core 太残缺。
真正的原因是:

安装被 dpkg 中途打断了,后续很多图形栈根本还没来得及安装完成。

所以你会看到:

  • /usr/bin/X 没有
  • /usr/lib/xorg/Xorg 没有
  • sddm.service 也不存在
  • 很多包状态变成 iU(已解包但未配置完成)

这时候系统看起来像坏了,但其实它只是停在了一个“半安装状态”。


绕过当前仓库问题:用 --force-overwrite

既然已经确认是文件冲突,那么最直接的办法就是:允许覆盖那个冲突文件,让安装继续走下去。

我执行的是:

sudo apt -o Dpkg::Options::="--force-overwrite" install lxqt-core lxqt-panel
sudo apt -o Dpkg::Options::="--force-overwrite" -f install

为什么这么做

因为眼下的问题不是缺包,而是:

  • dpkg 认为两个包都拥有 /etc/xdg/lxqt/panel.conf
  • 不允许覆盖,安装就会一直卡住
  • 允许覆盖之后,APT 才能继续把整个系统收敛到正常状态

我的预期

这一步我希望达到的效果是:

  • lxqt-panel 能顺利解包
  • 之前卡住的半安装包继续完成配置
  • 系统从“坏中间态”回到“能继续安装”的状态

实际结果

这一步确实起作用了,关键输出类似这样:

Unpacking lxqt-panel (2.3.2-0ubuntu1)…
dpkg: warning: overriding problem because --force enabled:
dpkg: warning: trying to overwrite '/etc/xdg/lxqt/panel.conf', which is also in package lxqt-branding-debian (0.14.0.7)

也就是说,当前 daily 下,这个 workaround 是有效的。

这里要强调一下:
这不是一个“优雅的长期官方方案”,它更像是当前仓库状态下的实用绕过方法。如果后面仓库修了打包问题,这一步理论上就不需要了。


补齐图形栈:安装 Xorg 和 SDDM

前面的冲突解决之后,我继续把图形栈补齐:

sudo apt install xserver-xorg sddm
sudo reboot

为什么这一步还要单独做

因为前面安装被打断时,系统里根本还没有完整的图形基础设施。
想让本地真正进入图形界面,至少需要两样东西:

  • xserver-xorg
  • sddm

我的预期

我希望这一步之后能看到:

  • /usr/bin/X 出现
  • /usr/lib/xorg/Xorg 出现
  • sddm.service 正常运行
  • 重启后能看到图形登录界面

实际结果

安装完成后,我做了几个检查:

ls -l /usr/bin/X /usr/lib/xorg/Xorg
systemctl status sddm --no-pager -l
dpkg --audit

得到的关键信息类似这样:

lrwxrwxrwx 1 root root 4 ... /usr/bin/X -> Xorg
-rwxr-xr-x 1 root root ... /usr/lib/xorg/Xorg
● sddm.service - Simple Desktop Display Manager
   Active: active (running)
   ...
   /usr/lib/xorg/Xorg -nolisten tcp ...

这说明几件事都已经成立:

  • Xorg 装上了
  • SDDM 也正常工作
  • 系统已经具备进入图形登录界面的条件

登录界面看起来不像 LXQt,并不代表装错了

这一点其实挺容易误判的。

我当时看到的登录界面样式,并不是印象里很典型的 LXQt/Lubuntu 风格,反而有点像别的桌面主题。
但这并不表示 LXQt 没装好。

原因很简单:你看到的是 SDDM 的主题,不是 LXQt 桌面本身的主题。

也就是说:

  • 登录器长什么样,是 SDDM 主题决定的
  • 登录后进什么桌面,是会话选择和桌面环境决定的

这两件事不是一回事。


真正登录之后,LXQt 是能正常工作的

输入密码后,系统成功进入了 LXQt 桌面。
这一步非常关键,因为它证明前面的 workaround 不是“勉强把包骗过去”,而是真的得到了一套能用的桌面。

我看到的效果包括:

  • 桌面正常
  • 背景正常
  • 面板正常
  • 通知正常

到这里基本可以确认:

虽然默认安装路径会撞到仓库 bug,但绕过之后,最终结果是可用的。


XRDP:远程桌面这条线反而很顺

本地图形桌面跑起来之后,我继续测试 XRDP:

sudo apt install xrdp xorgxrdp

为什么这一步这么做

因为我的目标并不只是“本地有桌面”,还包括:

  • Windows 自带远程桌面能连
  • 远程进去后看到的是 LXQt
  • 不用为了远程桌面再引入更重的桌面环境

既然本地已经走的是 Xorg 路线,那么 XRDP 也直接用 xorgxrdp 这套 backend 最自然。

我的预期

这一步的预期很明确:

  • xrdp 服务起来
  • 远程连接成功
  • 登录后进入 LXQt

实际结果

实际情况比想象中还简单。
这一步基本就是:

sudo apt install xrdp xorgxrdp

装完就能用。

远程登录之后,拿到的是一套可用的 LXQt 桌面。
对我这种“Server 上补轻量桌面”的需求来说,这就是很理想的结果。


当前这套方案的可复线安装流程

如果现在让我重新从一台干净的 Ubuntu Server 26.04 daily/current 开始装一遍,我会直接按下面的顺序来。

1)更新软件源

sudo apt update

为什么这么做:
确保 APT 索引是最新的。

预期结果:
APT 能看到当前仓库中的最新包版本。


2)安装 LXQt,并绕过当前 panel.conf 冲突

sudo apt -o Dpkg::Options::="--force-overwrite" install lxqt-core lxqt-panel
sudo apt -o Dpkg::Options::="--force-overwrite" -f install

为什么这么做:
当前仓库下,lxqt-core 会把 lxqt-panellxqt-branding-debian 一起拉进来,而这两个包会对 /etc/xdg/lxqt/panel.conf 发生冲突。

预期结果:
允许 lxqt-panel 覆盖该文件,让 APT 能继续完成收敛。


3)补齐本地图形栈

sudo apt install xserver-xorg sddm

为什么这么做:
要让本地图形登录真正起来,必须有 Xorg 和显示管理器。

预期结果:

  • /usr/bin/X 存在
  • /usr/lib/xorg/Xorg 存在
  • sddm.service 正常运行

4)安装 XRDP

sudo apt install xrdp xorgxrdp

为什么这么做:
提供远程桌面服务,并让 XRDP 走 Xorg backend。

预期结果:
RDP 登录后进入 LXQt 桌面。


5)重启系统

sudo reboot

为什么这么做:
让图形栈、显示管理器和用户会话都从干净状态启动。

预期结果:

  • 本地出现图形登录界面
  • 登录后进入 LXQt
  • XRDP 可以正常连接

安装完成后,我建议至少检查这三项

1)图形栈是否已经存在

ls -l /usr/bin/X /usr/lib/xorg/Xorg

预期:

  • /usr/bin/X 指向 Xorg
  • /usr/lib/xorg/Xorg 存在

2)SDDM 是否正在运行

systemctl status sddm --no-pager -l

预期:

active (running)

3)包管理状态是否已经收敛

dpkg --audit

预期:

没有输出。

如果这三项都正常,本地桌面能进,XRDP 也能连,那这套环境基本就算装稳了。


FAQ / 排障附录

FAQ 1:为什么不直接装 lubuntu-desktop

因为这次的目标不是“把 Server 变成一整套 Lubuntu 桌面发行版”,而是:

  • 在 Server 上补一个轻量图形环境
  • 本地能登录
  • XRDP 能远程登录
  • 尽量控制安装内容

lubuntu-desktop 当然可以用,但它带来的东西会更多,不完全符合这次“尽量轻、尽量可控”的目标。


FAQ 2:lxqt-corelubuntu-desktopubuntu-desktop 可以怎么理解?

可以粗暴理解成三层:

ubuntu-desktop

完整 Ubuntu 桌面。
最省心,也最重。

lubuntu-desktop

完整 Lubuntu 桌面。
比 Ubuntu Desktop 轻,但仍然是发行版级任务包。

lxqt-core

LXQt 核心元包。
理论上更适合在 Server 上按需补桌面,但当前 Ubuntu 26.04 daily 仓库里会遇到文件冲突问题。


FAQ 3:为什么 apt install lxqt-core 会失败?

因为当前仓库里存在一个文件冲突。

报错核心是:

trying to overwrite '/etc/xdg/lxqt/panel.conf', which is also in package lxqt-branding-debian (0.14.0.7)

根因不是依赖不满足,而是:

  • lxqt-core 会拉入 lxqt-panel
  • 同时还会带进 lxqt-branding-debian
  • 这两个包都涉及 /etc/xdg/lxqt/panel.conf
  • dpkg 不允许它们直接覆盖同一个文件

所以安装会被中断。


FAQ 4:为什么冲突发生后系统看起来像坏掉了一样?

因为安装被 dpkg 中途打断,系统停在了半安装状态。

这会导致:

  • /usr/bin/X 不存在
  • /usr/lib/xorg/Xorg 不存在
  • sddm.service 也还没装出来
  • 很多包停在 iU 状态

这时候容易误以为“LXQt 不完整”或者“还缺很多包”,但这些都只是安装中断后的表象。
根因还是前面的文件冲突。


FAQ 5:为什么这里要用 --force-overwrite?会不会太暴力?

会,这确实是一个 workaround,不是长期最优雅的解法。
但在当前 Ubuntu 26.04 daily 仓库状态下,它是最直接、最可复线、最有效的办法。

我用的是:

sudo apt -o Dpkg::Options::="--force-overwrite" install lxqt-core lxqt-panel
sudo apt -o Dpkg::Options::="--force-overwrite" -f install

它的作用不是“乱修系统”,而是明确告诉 dpkg

这个文件冲突我知道了,请继续,让安装完成。

如果后面仓库修了,这一步理论上就不再需要了。


FAQ 6:为什么后面还要单独安装 xserver-xorgsddm

因为前面的安装是在图形栈完全装好之前就被打断了。

所以即使你已经执行过 apt install lxqt-core,也不意味着系统里已经有:

  • Xorg
  • SDDM
  • 图形登录界面

这就是为什么我后面还要手动执行:

sudo apt install xserver-xorg sddm

FAQ 7:登录界面看起来不像 LXQt,是不是装错了?

通常不是。

你看到的登录界面是 SDDM 的主题,而不是 LXQt 桌面的主题。
所以登录器长得不像 LXQt,不代表你登录进去之后不是 LXQt。

判断标准很简单:
输入密码之后进的是什么桌面,才是关键。


FAQ 8:为什么最终还要装 xrdpxorgxrdp

因为我的目标不只是本地能登录,还包括远程桌面。

sudo apt install xrdp xorgxrdp
  • xrdp:RDP 服务端
  • xorgxrdp:XRDP 的 Xorg backend

由于本地本来就是 Xorg 路线,所以远程也直接走 Xorg backend 最顺。


FAQ 9:为什么不建议一开始就各种删配置、删包、强行修?

因为那样很容易把问题从“一个明确的仓库级冲突”,扩大成“整机状态已经不可信”。

如果目标是写一套能给别人复线的安装过程,最好的方式还是:

  1. 从干净系统开始
  2. 先复现问题
  3. 明确根因
  4. 给出最小 workaround

这样写出来的东西,别人照着做才有意义。


FAQ 10:当前这套方案最简明的安装流程是什么?

就是下面这一套:

sudo apt update

sudo apt -o Dpkg::Options::="--force-overwrite" install lxqt-core lxqt-panel
sudo apt -o Dpkg::Options::="--force-overwrite" -f install

sudo apt install xserver-xorg sddm
sudo apt install xrdp xorgxrdp

sudo reboot

它的特点是:

  • 可复线
  • 已在干净系统上验证
  • 本地登录和 XRDP 都能兼顾
  • 当前唯一比较特殊的地方,就是要绕过 panel.conf 冲突

FAQ 11:怎么确认真的装好了?

至少看这三项:

ls -l /usr/bin/X /usr/lib/xorg/Xorg
systemctl status sddm --no-pager -l
dpkg --audit

判断标准分别是:

  • Xorg 二进制存在
  • sddm 处于 active (running)
  • dpkg --audit 没有输出

再加上本地桌面能进、远程桌面能进,这套环境就基本可以认为是稳定可用了。


最后总结

这次踩坑最大的收获,其实不是“怎么装 LXQt”,而是确认了三件更重要的事:

第一,Ubuntu 26.04 daily/current 上,apt install lxqt-core 在干净系统里也会撞到当前仓库中的文件冲突。

第二,真正的根因是 lxqt-panellxqt-branding-debian/etc/xdg/lxqt/panel.conf 的冲突。

第三,绕过这个问题之后,再补 xserver-xorgsddmxrdpxorgxrdp,最终确实可以得到一套本地和远程都能正常使用的 LXQt 桌面。

如果只用一句话总结这次折腾,那就是:

这不是 LXQt 本身不行,而是当前 Ubuntu 26.04 daily 仓库里这条安装路径有个坑;跨过去之后,整套方案其实是能稳定跑通的。

* 使用 gpt-5.4 thinking 辅助调试及编写。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

Back to Top