在 Raspberry Pi 4 上安装 Ubuntu 19.10.1 并安装 kubuntu-desktop 后,无法启动到桌面

Lar*_*yTX 7 boot kubuntu 19.10

在为 Raspberry Pi 4 安装 Ubuntu 19.10.1 64 位服务器映像,安装 kubuntu-desktop 并重新启动后,系统在启动过程中挂起。似乎无法进入桌面 GUI。(注意:我已经尝试了所有可用的桌面,尽管 Kubuntu 是我的首选。所有这些桌面的结果都是相同的。)重现问题的步骤如下。

材料

  • Raspberry Pi 4B 4GB B 型,1.5GHz 64 位四核 ARMv8 CPU(4GB RAM)
  • 32GB SD卡
  • 500 GB 外置 SSD
  • https://ubuntu.com/download/raspberry-pi下载的 ubuntu-19.10.1-preinstalled-server-arm64-raspi3.img 图像文件。

重现步骤

  1. 下载镜像文件并使用 Balena 刻录机(格式为 FAT32)刻录到 SD 卡。
  2. 还可以使用 Balena 蚀刻机(格式 EXT4)将图像文件刻录到外部 SSD。
  3. 将两个存储设备连接/插入到 Raspberry Pi 4。
  4. 启动树莓派 4. 修改ubuntu用户密码后,启动成功,没有问题。事实上,在这一点上,我可以通过 SSH 连接到 RPi 并从 PuTTY 终端做几乎任何我想做的事情。只有当我尝试添加一个 GUI 时,整个事情才开始崩溃。
  5. 安装 Kubuntu 桌面sudo apt install kubuntu-desktop。安装过程中没有报告错误。(注意:对 ubuntu-desktop、xubuntu-desktop 和许多其他桌面执行这些相同的步骤。所有结果都相同。)
  6. sudo reboot. 重新启动直到它挂在 [28.5791341] cloud-init[1547]: cloud-init v. 19.2-36。……此时系统冻结了(抱歉,在它冻结的时候没有完整的行。它显然在另一台有很多字符串字母和数字的机器上,所以复制和粘贴是不可能的。它确实报告了这一点cloud-init 完成了,它完成的正确时间。

    cloud-init过程在 snap 应用程序lxd.activate服务成功启动后立即开始。

此时,系统将光标挂在上面第 6 项中描述的行上。我试过按 [Enter],输入 Ctrl+C,以及我能想到的所有其他东西;什么都不会移动光标或重新启动进程。

有趣的是,此时我可以通过 SSH(使用 PuTTY)成功进入 Raspberry PI,并且可以毫无问题地输入和执行各种终端命令。因此,很明显某些进程(cloud-init?)挂了,而不是系统挂了。

此外,从带有 SSH 条目的机器上,我可以执行sudo reboot多次,它会成功地完成重新启动过程,直到它到达之前挂起的同一点,此时它将再次挂起,就像以前一样。

请注意,我为操作系统使用了外部 SSD。使用这种方法,系统将 32-Gb SD 卡用于引导加载程序,然后自动切换到 sdb 上的 500-Gb SSD 进行操作。Ubuntu 在让这一切自动发生方面做得很好。让它配置和工作曾经是一个可怕的考验。任何试图通过 SD 卡运行系统的人都必须是一个鲁莽的灵魂,他们乐于尝试这样做而遭到殴打,尤其是因为 SSD 已经变得非常便宜。(即便如此,Raspberry Pi 的人对 RPi 将识别和接受哪些外部驱动控制器很挑剔,这使得它变得困难。幸运的是,像 James Chambers 这样的人给了我们一些可以工作的列表。在与外部合作的几十年里开车,我从不,在 RPi 4B 之前,任何外部驱动器都曾遇到过任何问题。而且我们仍然必须有用于引导加载程序的 SD 卡,而不是直接引导到 SSD——这在 RPi 3 中做得非常好。谈论 RPi 的一小步,向后迈出的一大步!但我离题了。)我以前使用过这个功能。只是想让你知道它确实有效。

另外,对于标签的无效使用,我们深表歉意。StackOverflow 关于标签的规则阻止我使用类似的东西19.10.1而不是19.10,这是在这个问题中非常重要的差异。许多其他标签也是如此。

act*_*r39 4

我很高兴看到其他人也遇到了与我完全相同的问题!这是我找到的解决方法——不是解决方案,但它可以让 Kubuntu 正常工作。当您遇到系统挂起的情况时,您可以切换到另一个 TTY。我相信系统从 TTY1 启动,它应该是用于图形界面的。您可以通过按 CTL+ALT+F2 切换到 TTY2,并且您应该会收到登录提示。以 Ubuntu 身份登录,当出现提示时,执行“startx”。这将打开 Kubuntu 桌面,并且您已经登录。每次启动系统时我都必须这样做。我认为这一定是 Kubuntu 安装例程中的一个错误,但我还没有找到解决方法。如果有人修复它当然会很好。应该有一个文件可以插入“startx”命令并让它在启动时运行,但我对 Ubuntu 的了解不够,无法做到这一点。


小智 0

感谢您提供此信息。我想也许我需要将其设置为以图形模式启动,所以从上面提到的 TTY2 我发出:

$sudo systemctl set-default graphical
Run Code Online (Sandbox Code Playgroud)

然后我重新启动并再次卡在同一个地方。所以我采用了手动方式:

$sudo systemctl set-default multi-user
Run Code Online (Sandbox Code Playgroud)

然后我登录并发出startx命令。