首先,我的目的是创建一个包含 GNU/Linux 发行版的可移植可启动 USB 驱动器。具体来说,我想将 Arch Linux 与 squashfs 只读 根文件系统一起使用。
squashfs 镜像基于工作 VM 的快照。基本系统及其服务(如 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 试图访问那里的文件(无声地)失败,给我一个黑屏。
最佳答案
我发现问题实际上是在/var/lib/gdm。 GDM 试图访问那里的文件(无声地)失败,给我一个黑屏。
journalctl 是我最初缺少的调试命令。
关于linux - 在只读环境中启动 Gnome 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26107444/