你遇到的错误:
** error creating password: /home/ysc/.vnc/passwd
storepasswd: No such file or directory
说明:x11vnc -storepasswd
无法创建密码文件,因为 .vnc
目录不存在。
虽然你可能以为路径是对的,但系统找不到 /home/ysc/.vnc
这个目录,所以无法写入 passwd
文件。
✅ 解决方案:先手动创建 .vnc
目录
🔧 步骤 1:创建 .vnc
目录
mkdir -p ~/.vnc
-p
会自动创建路径,即使父目录存在也不会报错。
🔧 步骤 2:再次运行 x11vnc -storepasswd
x11vnc -storepasswd ~/.vnc/passwd
现在你应该能看到:
Enter VNC password:
Verify password:
Write password to /home/ysc/.vnc/passwd? [y]/n
输入你想设置的密码(比如 yourpass123
),然后按 y
确认写入。
✅ 如果一切顺利,你会看到:
Wrote VNC password to: /home/ysc/.vnc/passwd
表示密码文件创建成功!
🔧 步骤 3:设置正确权限(关键!)
因为 x11vnc
是 root 启动的,而密码文件是 ysc
用户创建的,root
可能无法读取。
所以要确保 root
能读这个文件:
sudo chown root:root ~/.vnc/passwd
sudo chmod 600 ~/.vnc/passwd
600
表示只有所有者(root)可读写,其他用户不能访问。
🔧 步骤 4:重启 x11vnc 服务
先杀死旧进程:
sudo killall x11vnc
然后重新启动服务(使用新密码文件):
sudo x11vnc -auth /run/user/1000/gdm/Xauthority -forever -loop -noxdamage -repeat -rfbauth /home/ysc/.vnc/passwd -rfbport 5900 -shared &
✅ 确保
-rfbauth
指向的是/home/ysc/.vnc/passwd
✅ 步骤 5:用 Remmina 连接
- 协议:VNC
- 服务器:
你的IP:5900
- 密码:你刚刚设置的密码
应该就能成功登录了!
🛠️ 验证是否成功
运行以下命令检查:
ls -l ~/.vnc/passwd
输出应类似:
-rw------- 1 root root 8 ... /home/ysc/.vnc/passwd
说明文件存在、权限正确。
❓ 为什么之前会失败?
x11vnc -storepasswd
不会自动创建目录。- 它只尝试写文件,但
/home/ysc/.vnc
目录不存在 → 报错 “No such file or directory”。 - 所以必须先
mkdir ~/.vnc
。
你现在可以执行:
mkdir -p ~/.vnc
x11vnc -storepasswd ~/.vnc/passwd
sudo chown root:root ~/.vnc/passwd
sudo chmod 600 ~/.vnc/passwd
sudo killall x11vnc
sudo x11vnc -auth /run/user/1000/gdm/Xauthority -forever -loop -noxdamage -repeat -rfbauth /home/ysc/.vnc/passwd -rfbport 5900 -shared &
然后尝试 Remmina 连接。
如果还有问题(比如黑屏、连接拒绝、认证失败),请告诉我错误现象,我继续帮你排查!💪