2023年1月19日 星期四

Nvidia Jetson Nano 測試筆記 (六) : 安裝 Vino VNC 伺服器

去年我在 Jetson Nano 上安裝 vnc4erver 試圖利用 VNC 來進行遠端連線, 雖然順利安裝, 但連線時卻無畫面. 後來改安裝 Vino VNC 就可以了, 參考 :


昨天找到夜市小霸王尤博的文章, 他也是使用 Vino VNC, 但安裝方式不太一樣 : 


它是直接用 apt install vino 安裝 : 

tony1966@jetson-nano-tony1966:~$ sudo apt install vino   
正在讀取套件清單... 完成
正在重建相依關係          
正在讀取狀態資料... 完成
vino 已是最新版本 (3.22.0-3ubuntu1.2)。
以下套件為自動安裝,並且已經無用:
  apt-clone archdetect-deb busybox-static cryptsetup-bin dpkg-repack
  gir1.2-timezonemap-1.0 gir1.2-xkl-1.0 grub-common kde-window-manager
  kpackagetool5 kwayland-data kwin-common kwin-data kwin-x11
  libdebian-installer4 libkdecorations2-5v5 libkdecorations2private5v5
  libkf5activities5 libkf5declarative-data libkf5declarative5
  libkf5globalaccelprivate5 libkf5idletime5 libkf5kcmutils-data
  libkf5kcmutils5 libkf5package-data libkf5package5 libkf5plasma5
  libkf5quickaddons5 libkf5waylandclient5 libkf5waylandserver5
  libkscreenlocker5 libkwin4-effect-builtins1 libkwineffects11
  libkwinglutils11 libkwinxrenderutils11 libqgsttools-p1 libqt5designer5
  libqt5help5 libqt5multimedia5 libqt5multimedia5-plugins
  libqt5multimediaquick-p5 libqt5multimediawidgets5 libqt5opengl5
  libqt5positioning5 libqt5sensors5 libqt5sql5 libqt5test5 libqt5webchannel5
  libqt5webkit5 libxcb-composite0 libxcb-cursor0 libxcb-damage0 os-prober
  python3-dbus.mainloop.pyqt5 python3-icu python3-pam python3-pyqt5
  python3-pyqt5.qtsvg python3-pyqt5.qtwebkit python3-sip
  qml-module-org-kde-kquickcontrolsaddons qml-module-qtmultimedia rdate
使用 'sudo apt autoremove' 將之移除。
升級 0 個,新安裝 0 個,移除 0 個,有 0 個未被升級。

設定 VNC 伺服器登入選項 : 

tony1966@jetson-nano-tony1966:~$ gsettings set org.gnome.Vino prompt-enabled false  
tony1966@jetson-nano-tony1966:~$ gsettings set org.gnome.Vino require-encryption false   

檢視基地台 :

tony1966@jetson-nano-tony1966:~$ nmcli connection show   
NAME              UUID                                  TYPE      DEVICE  
EDIMAX-tony-Plus  d463f45e-9dfe-4f52-a68d-c32d92bfdfxx  wifi      wlan0   
docker0           be90dd4f-23a5-4dd8-ab34-60f2dec567a3  bridge    docker0 
l4tbr0            242782a8-c57c-45b0-9e2e-60aded73c876  bridge    l4tbr0  
EDIMAX-tony       e7c87bce-6d87-4c7f-9aba-926c23a65bxx  wifi      --      
TonyNote8         9e3539e8-9470-43a1-afa8-226adda813ea  wifi      --      
有線連線 1        05c9aa37-e891-3c64-8250-a79bee76732f  ethernet  --      

將網路卡加入 Vino 服務 : 

tony1966@jetson-nano-tony1966:~$ dconf write /org/gnome/settings-daemon/plugins/sharing/vino-server/enabled-connections "['EDIMAX-tony-Plus']"    
tony1966@jetson-nano-tony1966:~$ export DISPLAY=:0    

但啟動 Vino VNC 伺服器卻出現錯誤 : 

tony1966@jetson-nano-tony1966:~$ /usr/lib/vino/vino-server   
Invalid MIT-MAGIC-COOKIE-1 keyUnable to init server: 無法連接: 連線被拒絕
無法開啟畫面:
執行‘vino-server --help‘ 以查看所有可用的命令列選項清單

用 sudo 也是一樣 : 

tony1966@jetson-nano-tony1966:~$ sudo /usr/lib/vino/vino-server  
Invalid MIT-MAGIC-COOKIE-1 keyUnable to init server: 無法連接: 連線被拒絕
無法開啟畫面:
執行‘vino-server --help‘ 以查看所有可用的命令列選項清單
tony1966@jetson-nano-tony1966:~$ vino-server --help   
bash: vino-server:命令找不到

後來找到 nVidia 官網的教學文件, 其設定方法有點不同, 但卻有效, 參考 : 


設定自動開啟 VNC 伺服器 : 

若 Jetson Nano 為 2GB 開發板 (使用 LXDE) : 

tony1966@jetson-nano-tony1966:~$ mkdir -p ~/.config/autostart    
tony1966@jetson-nano-tony1966:~$ cp /usr/share/applications/vino-server.desktop ~/.config/autostart/.  

其他 Jetson Nano 開發板 (使用 GNOME) :

tony1966@jetson-nano-tony1966:~$ cd /usr/lib/systemd/user/graphical-session.target.wants  
tony1966@jetson-nano-tony1966:/usr/lib/systemd/user/graphical-session.target.wants$ sudo ln -s ../vino-server.service ./.    

設定 VNC 伺服器登入選項 : 

tony1966@jetson-nano-tony1966:/usr/lib/systemd/user/graphical-session.target.wants$ gsettings set org.gnome.Vino prompt-enabled false   
tony1966@jetson-nano-tony1966:/usr/lib/systemd/user/graphical-session.target.wants$ gsettings set org.gnome.Vino require-encryption false      

設定登入 VNC 伺服器之密碼 : 

tony1966@jetson-nano-tony1966:/usr/lib/systemd/user/graphical-session.target.wants$ gsettings set org.gnome.Vino authentication-methods "['vnc']"    
tony1966@jetson-nano-tony1966:/usr/lib/systemd/user/graphical-session.target.wants$ gsettings set org.gnome.Vino vnc-password $(echo -n '輸入VNC登入密碼'|base64)   

設定開機自動執行 VNC Server :

tony1966@jetson-nano-tony1966:~$ mkdir -p ~/.config/autostart    

重新啟動 :

tony1966@jetson-nano-tony1966:~$ sudo reboot

這樣就可以順利從遠端透過 VNC viewer 順利連線 Jetson Nano 了. 

參考 :


沒有留言 :