你遇到的錯誤:
** 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 連接。
如果還有問題(比如黑屏、連接拒絕、認證失敗),請告訴我錯誤現象,我繼續幫你排查!💪