我在 moto g 4g 手机的存储卡上的一个分区上构建了 ubuntu-armhf,我可以 chroot 到这个并在手机上 localhost:0 上运行的 x-server 应用程序上启动 lxde,这可以以 root 身份正常工作,桌面可以加载并可以安装和运行程序,没有问题。然后我在 chroot ubuntu 上创建一个新用户,但当我以此用户身份运行 lxsession 时,我收到 GTK 警告无法打开显示。我可以以此用户身份运行“sudo lxsession”,但这会给我一个具有 root 权限的 x-server 应用程序桌面,与从 root 帐户运行 lxsession 相同。有没有办法从用户帐户启动 lxde 并获得仅具有用户权限的桌面?这感觉像是一个权限问题,因为在我成为非 root 用户之前一切都运行正常……我已经学到了很多设置方法,但这是我遇到困难的地方。感谢您的帮助,可以根据需要提供任何其他信息。
答案1
我在 Nexus 9 上的 chrooted Debian 环回中通过 tightvnc 使用 LXDE。
(tightvnc 启动一个新的 X-Server。你需要一个 VNC 客户端应用程序,例如安卓VNC,它是 FOSS。您不需要 X-Sever 应用程序。
要以非 root 身份启动 vnc 服务器,您需要加入 Android 的 inet 组才能打开套接字。
root@chroot$ groupadd -g 3003 android_inet
root@chroot$ useradd NOROOTUSER android_inet
登录到您的用户并启动tightvnc。使用您最喜欢的vncclient应用程序登录到localhost:5901。
顺便说一句,如果您想访问本地 SD 卡,您还需要处于 sdcard_rw(gid=1015)和 sdcard_r(gid=1028)组中,步骤相同。
gid 可能不同。要获取它们,请id -G
在终端仿真器中输入 (outside chroot)。
请注意,VNC 不加密!如果您的输入很敏感或者您不信任网络环境,请使用 ssh 隧道。