以非 root 用户身份启动 VNC 服务器过早停止

以非 root 用户身份启动 VNC 服务器过早停止

这是关于 Android 14 手机上 Termux 下的 Proot 环境 Andronix 中的 Ubuntu 22.04 XFCE 子系统。“真正的”根(对于已根植的 Android)未被使用,当我写到“根”时,它是 Proot 子系统的虚拟根。我将其发布在“超级用户”上,因为这不是 Android 问题,而是通用的 Linux/VNC 问题。

当我运行 VNC 服务器时,我可以以 root 身份获取 VNC,并且可以正常连接到 VNC 服务器。但我想以非 root 用户身份使用它,因此我创建了一个用户,并在虚拟文件系统中创建了一个主文件夹 /home/user。因此,我vncserver-start在运行后使用相同的命令(见下文)su -c user获取非 root 用户环境。安装后成功,然后我在 xfce 环境中配置了“用户”的本地环境,并注销。然后我以相同的用户身份重新启动了 VNC 服务器,然后它因 VNC 服务器错误而失败,因此它不是一个有问题的用户环境。

VNC 服务器的启动方式如下:

#!/usr/bin/env bash

export USER=user   
export HOME=/home/user
su -c `vncserver -fg -name remote-desktop -geometry 1920x1080 -localhost yes :1` $USER

我必须使用 su 进入用户帐户,因为 proot 本身以 root 用户身份打开。但输出是:

=================== tail /home/user/.vnc/localhost:5901.log ===================
[mi] mieq: warning: overriding existing handler (nil) with 0x30001531e0 for event 2
[mi] mieq: warning: overriding existing handler (nil) with 0x30001531e0 for event 3
X connection to :1 broken (explicit kill or server shutdown).

Sat Apr 20 08:58:58 2024
 ComparingUpdateTracker: 0 pixels in / 0 pixels out
 ComparingUpdateTracker: (1:nan ratio)
Killing Xtigervnc process ID 8381... success!
================================================================================

Session startup via '/etc/X11/Xtigervnc-session' cleanly exited too early (< 3 seconds)!

Maybe try something simple first, e.g.,
    tigervncserver -xstartup /usr/bin/xterm
The Xtigervnc server cleanly exited!
The X session cleanly exited!
VNC server started. The default password is the account password for user
user@localhost:~$ 

但是,当我将“user”替换为“root”,将“/home/user/”替换为“/root”时,它就可以正常工作。当我使用以下代码简化脚本时

#!/usr/bin/env bash
vncserver -fg -name remote-desktop -geometry 1920x1080 -localhost yes :1

它的工作原理和我不需要su -c '<command>'root'本身。

相关内容