【问题标题】:Starting Gnome 3 in a read-only environment在只读环境中启动 Gnome 3
【发布时间】:2014-09-29 19:32:26
【问题描述】:

首先,我的目的是创建一个包含 GNU/Linux 发行版的便携式、可启动 USB 驱动器。具体来说,我想使用带有 squashfs 只读根文件系统的 Arch Linux。

squashfs 映像基于工作虚拟机的快照。带有 ssh 等服务的基本系统可以按预期开箱即用。但是当试图通过 systemd (systemctl start gdm) 启动 gnome 时,我看到的只是一个黑屏(据说 X-Server 启动了,但 gdm 无法加载)。我已经试图弄清楚发生了什么,但未能确定确切的问题。

  • 主目录是可写的
  • /tmp 可写
  • /var/log 可写
  • /var/run & /run 无论如何都是可写的

/var/log/gdm 被创建但保持为空。 哪些模块可能需要对任何其他文件的写访问权限?有文件吗? strace 或类似的有什么意义?

我的愿望是了解问题的根源并解决它,而不是使用 unionfs 之类的解决方法。感谢您的帮助或提示!

虽然这无关紧要,但对于那些可能想知道我为什么要这样做的人,这里有几点需要考虑:

  • 稳定性 - 因为你不能修改系统文件,所以你不能搞砸系统(当然,除非你直接将伪造的代码写入驱动器)
  • 存储 - 随着文件被压缩,驱动器上可以容纳更多数据
  • 性能 - 由于大多数 USB 驱动器上的 I/O 速度较慢,因此压缩可为您提供更高的 I/O 速度
  • 便携性 - 对只读存储没有特殊处理,您可以将其复制到 CD 或任何其他只读技术上,它仍然可以像在可写磁盘上一样工作

更新

我发现问题实际上出在 /var/lib/gdm。 GDM 试图访问那里的文件,但(默默地)失败了,这给了我一个黑屏。

【问题讨论】:

  • 我一直在 CentOS 7 中进行类似的工作。我在/etc/fstab 中为根文件系统设置了ro,在/etc/systemctl/readonly-root 中设置了READONLY=yes。这对于极简的无头系统非常有用,但是使用 GDM 登录会导致黑屏,然后再次出现 GDM 登录提示。我希望我能获得尝试访问文件的日志,以便将其添加到/etc/rwtab。 Arch Linux 是否有相当于 /etc/systemctl/readonly-root 的功能?
  • 这个问题似乎跑题了,最适合unix.stackexchange.com...
  • @MidoriKid 我不知道 Arch 有一个 /etc/systemctl/readonly-root 等价物。但是,正如答案中所述,我找到了解决问题的方法。您可能想查看 journalctl(1),因为它会显示 systemd 日志。可能你需要通过 SSH 连接到我需要的盒子,因为 GDM 似乎冻结了整个 X-Server 并且我无法回到 TTY 上。 'journalctl -f' 为您提供 systemd 日志的实时预览。最后要提到的一件事是,如果您要使用 NetworkManager,请确保 /etc/NetworkManager/system-connections 也是可写的。

标签: linux gnome archlinux gnome-3 gnome-shell


【解决方案1】:

我发现问题实际上出在 /var/lib/gdm。 GDM 试图访问那里的文件(默默地)失败了,这给了我一个黑屏。

journalctl 是我最初缺少的调试命令。

【讨论】:

    猜你喜欢
    • 2013-08-11
    • 1970-01-01
    • 1970-01-01
    • 2012-05-23
    • 1970-01-01
    • 2012-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多