顯示具有 Banana Pi 標籤的文章。 顯示所有文章
顯示具有 Banana Pi 標籤的文章。 顯示所有文章

2023年2月18日 星期六

Mapleboard MP510-50 測試 (十) : 用 nmcli 設定 PPPoE 撥接上網

今天為了 228 連假補班, 晚上回到鄉下家開始動手改用 nmcli 來設定 Mappleboard 的 PPPoE 撥接上網, 作法參考用 pppoeconf 套件來設定卻失敗的前一篇文章 :


我將原廠中鼎黃先生的建議作法轉貼如下 :

"盡量避免用 pppoeconf 去安裝,太複雜,成功率不高。即使一時安裝成功,經過一段時間,網路有變動時,要重新調整,早就忘光光,痛不欲生。
請特別記住,MP510-50的網路是用 network-manager。network-manager已經是Linux 世界中的主流了。絕對值得花時間把它搞清楚來,尤其是它的命令模式 nmcli 。
一、將 pppoeconf 套件移除。
二、確定 /etc/network/interfaces 沒動到。如果有,則重裝 network-manager。
三、先熟悉/暖身一下 nmcli 。
四、依照下面博文安裝PPPoE:
http://sakananote2.blogspot.com/2021/05/nmcli-network-manager-pppoe-ip.html?m=1
五、請把這些經驗分享到風葉板論壇上,謝謝:
https://forum.mapleboard.org/forum/mp510/"


1. 移除 pppoeconf 套件 :

首先用下列指令將前一篇所安裝的 pppoeconf 移除 :

sudo apt-get --purge remove pppopeconf  


2. 復原網路界面設定檔 /etc/network/interfaces :

用 nano 載入 /etc/network/interfaces 檔發現裡面有 pppoeconf 的資料, 可見原設定檔已被修改, 我把網路線從光世代數據機後面移回 ASUS 無線基地台後面, 結果無法連網, 就是被 pppoeconf 設定值影響的關係.

one@LX2438:~$ sudo nano /etc/network/interfaces   

將 pppoefconf 所作的設定全部刪除, 只留下如下設定值 :

source /etc/network/interfaces.d/*


auto eth0
iface eth0 inet dhcp

按 CTRL+O 存檔後按 CTRL+ X 跳出, 然後用下列指令重啟網路 :

one@LX2438:~$ sudo /etc/init.d/networking restart   
Restarting networking (via systemctl): networking.service

用 ifconfig 檢查果然就能連上網路了 :

one@LX2438:~$ ifconfig  
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.50.107  netmask 255.255.255.0  broadcast 192.168.50.255
        inet6 fe80::1472:2eff:feda:e73c  prefixlen 64  scopeid 0x20<link>
        ether 16:72:2e:da:e7:2c  txqueuelen 1000  (Ethernet)
        RX packets 405  bytes 203648 (203.6 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 329  bytes 154327 (154.3 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 14  

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 62477  bytes 4983981 (4.9 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 62477  bytes 4983981 (4.9 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

這樣基本上網路就恢復到安裝 pppoeconf 之前的原樣了.

如果 network-manager 受損, 修補方式參考下面這篇 (還好我用不到) :



3. 安裝 network-manager :

參考下面這篇文章 :


用下列指令安裝 network-manager :

one@LX2438:~$ sudo apt install network-manager -y   
[sudo] one 的密碼: 
正在讀取套件清單... 完成
正在重建相依關係... 完成  
正在讀取狀態資料... 完成  
network-manager 已是最新版本 (1.36.6-0ubuntu2)。
以下套件為自動安裝,並且已經無用:
  ifupdown
使用 'sudo apt autoremove' 將之移除。
升級 0 個,新安裝 0 個,移除 0 個,有 42 個未被升級。

原來 Mapleboard 本身就已經安裝過了. 這樣就可以用 nmcli 指令來查看網路界面 :

one@LX2438:~$ nmcli  
eth0: 不受管理
        "eth0"
        ethernet (meson8b-dwmac), 16:72:2E:DA:E7:2C, hw, mtu 1500

ip6tnl0: 不受管理
        "ip6tnl0"
        iptunnel (ip6tnl), 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00, sw,>

sit0: 不受管理
        "sit0"
        iptunnel (sit), 00:00:00:00, sw, mtu 1480

lo: 不受管理
        "lo"
        loopback (unknown), 00:00:00:00:00:00, sw, mtu 65536

使用「nmcli device show」獲取有關已知裝置的完整資訊,
「nmcli connection show」以獲取有關活動連接配置文件的概述。

有關完整的使用詳細信息,請參閱nmcli(1)和nmcli-examples(5)手冊頁。

也可以用 nmcli d s 指令來查看簡要的結果 :

one@LX2438:~$ nmcli d s   
DEVICE   TYPE      STATE     CONNECTION 
eth0     ethernet  不受管理  --         
ip6tnl0  iptunnel  不受管理  --         
sit0     iptunnel  不受管理  --         
lo       loopback  不受管理  -- 

這裡 eth0 "不受管理 (unmanaged)" 根據上面文章所言, 是因為 netplan 接管了網路管理之故, 必須將 netplan 對 eth0 的控制解除, 先檢視 /etc/netplan 底下的設定檔 :

one@LX2438:~$ ls /etc/netplan/ 
mp510-default.yaml

關於 netplan 參考 :


但用 nano 查看其內容, 卻沒有如上面那篇文章中所述之設定 :

one@LX2438:~$ sudo nano /etc/netplan/mp510-default.yaml

內容如下 :

network:
  version: 2
  renderer: NetworkManager

所以我就直接執行下面兩個指令 :

one@LX2438:~$ sudo touch /etc/NetworkManager/conf.d/10-globally-managed-devices.conf 
one@LX2438:~$ sudo systemctl reload NetworkManager   

結果無效, 執行 nmcli 仍然是 unmanaged. 

後來找到下面這篇文章 :


原來是要去改 /etc/NetworkManager/NetworkManager.conf 設定檔中 ifupdown 的 manged 設定 :

one@LX2438:~$ sudo nano /etc/NetworkManager/NetworkManager.conf    

內容如下 :

[main]
plugins=ifupdown,keyfile

[ifupdown]
managed=false   

[device]
wifi.scan-rand-mac-address=no

將 ifupdown 的 managed 從 false 改成 true 存檔後重開機, 再次執行 nmcli 就會看到 eth0 顯示 "已連線" 而不是 "不受管理" 了 :

one@LX2438:~$ nmcli    
eth0: 已連線 to Ifupdown (eth0)
        "eth0"
        ethernet (meson8b-dwmac), 16:72:2E:DA:E7:2C, hw, mtu 1500
        ip4 預設
        inet4 192.168.50.107/24
        route4 192.168.50.0/24 metric 100
        route4 default via 192.168.50.1 metric 100
        route4 169.254.0.0/16 metric 1000
        inet6 fe80::66c7:6bea:e03e:fc60/64
        route6 fe80::/64 metric 1024

ip6tnl0: 不受管理
        "ip6tnl0"
        iptunnel (ip6tnl), 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00, sw,>

sit0: 不受管理
        "sit0"
        iptunnel (sit), 00:00:00:00, sw, mtu 1480

lo: 不受管理
        "lo"
        loopback (unknown), 00:00:00:00:00:00, sw, mtu 65536

one@LX2438:~$ nmcli d s  
DEVICE   TYPE      STATE     CONNECTION      
eth0     ethernet  已連線    Ifupdown (eth0) 
ip6tnl0  iptunnel  不受管理  --              
sit0     iptunnel  不受管理  --              
lo       loopback  不受管理  -- 

one@LX2438:~$ nmcli  connection  show   
NAME             UUID                                  TYPE      DEVICE 
Ifupdown (eth0)  681b428f-beaf-8932-dce4-687ed5bae28e  ethernet  eth0   
EDIMAX-tony      ddebdded-8805-4631-aa85-f08c412404bf  wifi      --     
TonyNote8        37db6693-372b-4190-a4d0-c71aef40bc38  wifi      --  


4. 用 nmcli 設定 PPPoE 撥接上網 :

將網路線從 ASUS 無線基地台後方移到光世代數據機後方, 然後用 nmcli 建立一個 PPPoE 撥接連線名稱, 例如 "hinet", 進入 nmcli 提示號後用 set 指令設定 Hinet 用戶帳號; 最後輸入 save 指令儲存連線資料後用 quit 指令跳出 nmcli 提示號 :

one@LX2438:~$ nmcli  connection  edit  type  pppoe  con-name  "hinet"   

===| nmcli 互動式連線編輯程式 |===

新增一項「pppoe」連線

輸入「help」或是「?」以取得可用指令。
鍵入“print”以顯示所有連接屬性。
輸入「describe [<setting>.<prop>]」以取得詳細的內容描述。

您可編輯以下設定:connection, pppoe, 802-3-ethernet (ethernet), ppp, 802-1x, ethtool, match, ipv4, ipv6, hostname, tc, proxy
nmcli> set  pppoe.username  712xxxxx@ip.hinet.net   (用自己的 Hinet 帳號)
nmcli> save 
以「autoconnect=yes」儲存連線。這可能會即刻將連線啟用。
您是否還是希望儲存? (yes/no) [yes] 
連線「hinet」(a857fb4d-b2c2-43e2-a43f-a30a30def74f) 已成功儲存。
nmcli> quit 

這時點右上角的網路連線圖示就會出現 hinet 這個連線了 : 






點底下的編輯連線會出現網路連線視窗 :




點擊 hinet 即可設定連線密碼, 然後按儲存即可 :




設定好後就會自動撥接連線上網了. 連線成功後用 ifconfig 檢視就會發現多出了一個 ppp0 網路界面, 其 inet 網址就是我們在 Hinet 網站上取得的固定 IP : 

one@LX2438:~$ ifconfig  
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether 16:72:2e:da:e7:2c  txqueuelen 1000  (Ethernet)
        RX packets 44122  bytes 27015514 (27.0 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 143128  bytes 166038722 (166.0 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 14  

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 2113  bytes 266240 (266.2 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2113  bytes 266240 (266.2 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ppp0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST>  mtu 1492
        inet 122.117.1xx.2xx  netmask 255.255.255.255  destination 168.95.98.254
        inet6 2001:b011:c003:d4f:548f:f62e:323b:d9dd  prefixlen 64  scopeid 0x0<global>
        inet6 fe80::a506:6be5:73a3:c306  prefixlen 64  scopeid 0x20<link>
        inet6 fe80::b5bc:30a4:f51f:5ad1  prefixlen 64  scopeid 0x20<link>
        inet6 2001:b011:c003:d4f:1a3b:3a42:856c:b99c  prefixlen 64  scopeid 0x0<global>
        ppp  txqueuelen 3  (Point-to-Point Protocol)
        RX packets 295  bytes 127518 (127.5 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 682  bytes 696866 (696.8 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

這個撥接上網動作在系統重啟後會自動連線, 不須另外設定. 

哈哈, 這件事從過年擼到現在三周了, 今天終於搞定啦. 

參考 : 


2023年2月7日 星期二

Mapleboard MP510-50 測試 (九) : 用 PPPoE 撥接上網 (失敗)

2/5 晚上搞定 RealVNC Connect 後接著在 2/6 早上要回高雄之前著手測試 PPPoE 撥接上網, 基本上是參考之前在樹莓派上的安裝 pppoeconf 套件與其設定方式 :


但還參酌了下面這兩篇在 Ubuntu 上安裝 pppoeconf 的教學文章 : 


在 Raspbian 與 Ubuntu 上安裝設定 pppoeconf 其實是一樣的. 

本系列之前文章參考 :


首先我先在透過 ASUS 基地台有線連線網路情況下安裝 pppoeconf :

one@LX2438:~$ sudo apt-get -y install pppoeconf 
[sudo] one 的密碼: 
正在讀取套件清單... 完成
正在重建相依關係... 完成  
正在讀取狀態資料... 完成  
pppoeconf 已是最新版本 (1.21+nmu2ubuntu1)。
pppoeconf 被設定為手動安裝。

發現原來 Mapleboard 已經內建 pppoeconf 軟體了, 不需要安裝. 

接著將 Mapleboard 的網路線從 ASUS 無線基地台移到光世代數據機, 以便能在撥接上網後取得 Hinet 所派發的固定 IP. 開啟終端機執行 pppoeconf 程式開始設定撥接連線 : 




注意, 這裡 @ 前的帳號是 HN 後的數字, 不要有 HN; 另外因為是要取得固定 IP, 所以要撥接到 ip.hinet.net 這個主機. 




密碼是鄉下家的電話號碼, 其他都用預設值即可 : 






這樣就設定好了. 但是開啟瀏覽器卻無法連線, RealVNC Connect 也顯示斷線, 但我用 ifconfig 卻有看到 ppp0 抓到固定 IP :




不知原因為何, 但因為要趕去復健科赴阿蘭的殘障手冊換證門診, 所以就此打住, 等下周末回鄉下再研究了. 

2023-02-08 補充 :

寫信詢問中鼎黃 Sir 關於 pppoeconf 問題, 回覆如下 :

"盡量避免用 pppoeconf 去安裝,太複雜,成功率不高。即使一時安裝成功,經過一段時間,網路有變動時,要重新調整,早就忘光光,痛不欲生。
請特別記住,MP510-50的網路是用 network-manager。network-manager已經是Linux 世界中的主流了。絕對值得花時間把它搞清楚來,尤其是它的命令模式 nmcli 。
一、將 pppoeconf 套件移除。
二、確定 /etc/network/interfaces 沒動到。如果有,則重裝 network-manager。
三、先熟悉/暖身一下 nmcli 。
四、依照下面博文安裝PPPoE:
五、請把這些經驗分享到風葉板論壇上,謝謝:

周末回到鄉下再來測試看看. 另外還提到 Mapleboard 內建了 ssh 伺服器且開機就啟動, 不需要像 Raspbian 那樣要去設定裡打開, 直接用 ssh 192.168.xx.xx 或用 PuTTY 連線即可. 最後黃 Sir 建議我將機器寄回幫我改刷 MP510-20 Debian Linux  韌體, 它比 Ubuntu Mate 強多了, 差別如下 :

* Linux Kernel v6.1 對 v5.15
* Debian 12 (相當於 23.04)對 Ubuntu-mate 22.04
* Wayland 對 X window

嗯, Dabian 本來就是專為軟體開發而存在, 這我有興趣, 但等我做完 Ubuntu Mate 架站測試之後再來改刷 Dabian 也不遲 (或許可考慮再買一塊, 呵呵). 

2023年2月6日 星期一

Mapleboard MP510-50 測試 (八) : 安裝 RealVNC 伺服器

因為打算打算將 Mapleboard 作為網頁伺服器, 所以農曆年期間相繼安裝 RealVNC (執行出現錯誤), AnyDesk (無法使用), TeamViewer (沒升級付費連上線不久就會斷線), 昨天安裝 xrdp 雖然可用, 但桌面環境不同, 還是想辦法重新安裝 RealVNC 較實在. 

週五寫信問原廠中鼎, 詢問在 Mapleboard 上安裝 RealVNC 伺服器的方法, 回覆如下 : 

"請改用 RealVNC Server 和 RealVNC Viewer。
Download VNC® Server :
選擇 Raspberry Pi -> arm64
https://downloads.realvnc.com/download/file/vnc.files/VNC-Server-6.11.0-Linux-ARM64.deb
Download VNC® Viewer
選擇 Raspberry Pi  -> DEB arm64
https://downloads.realvnc.com/download/file/viewer.files/VNC-Viewer-6.22.826-Linux-ARM64.deb
注意:
DEB檔用 apt install安裝,要給檔案絕對路徑,假設下載的DEB檔在使用者one家目錄下的Downloads資料夾中:
$ sudo apt install /home/one/Downloads/VNC-Server-6.11.0-Linux-ARM64.deb
$ sudo apt install /home/one/Downloads/VNC-Viewer-6.22.826-Linux-ARM64.deb

週六晚上回到鄉下家馬上就來試試看. 我先用 dpkg -P 指令過年時安裝過的 RealVNC 後檢查 Downloads 資料夾底下, 之前就已經下載過 VNC-Server-6.11.0-Linux-ARM64.deb, 所以就直接點擊重新安裝 :





雖然順利安裝了 RealVNC Server, 但執行 vncserver 卻出現錯誤訊息 :

one@LX2438:~$ vncserver    
vncserver: error while loading shared libraries: libbcm_host.so.0: cannot open shared object file: No such file or directory  

搜尋錯誤原因找到下面這篇在 Pi 4 跑 Ubuntu 安裝 RealVNC Server 的文章 :


原來安裝完還有兩個動作要做, 否則右上角狀態列不會出現 VNC, 登入 RealVNC Cloud  必須從那裡, 而不是在終端機下 vncserver 指令 : 


1. 在 /usr/lib/aarch64-linux-gnu 目錄下添加資料 : 

one@LX2438:~$ cd /usr/lib/aarch64-linux-gnu  
one@LX2438:/usr/lib/aarch64-linux-gnu$ sudo ln libvcos.so /usr/lib/libvcos.so.0  
sudo ln libvchiq_arm.so /usr/lib/libvchiq_arm.so.0
sudo ln libbcm_host.so /usr/lib/libbcm_host.so.0
sudo ln libmmal.so /usr/lib/libmmal.so.0
sudo ln libmmal_core.so /usr/lib/libmmal_core.so.0
sudo ln libmmal_components.so /usr/lib/libmmal_components.so.0
sudo ln libmmal_util.so /usr/lib/libmmal_util.so.0
sudo ln libmmal_vc_client.so /usr/lib/libmmal_vc_client.so.0
sudo ln libvcsm.so /usr/lib/libvcsm.so.0
sudo ln libcontainers.so /usr/lib/libcontainers.so.0
ln: 存取 'libmmal.so' 失敗: 沒有此一檔案或目錄
ln: 存取 'libmmal_core.so' 失敗: 沒有此一檔案或目錄
ln: 存取 'libmmal_components.so' 失敗: 沒有此一檔案或目錄
ln: 存取 'libmmal_util.so' 失敗: 沒有此一檔案或目錄
ln: 存取 'libmmal_vc_client.so' 失敗: 沒有此一檔案或目錄
ln: 存取 'libvcsm.so' 失敗: 沒有此一檔案或目錄
ln: 存取 'libcontainers.so' 失敗: 沒有此一檔案或目錄

只有前半部的資料有加進去, 後半部則因無此檔案目錄而失敗. 


2. 啟動 vncserver-virtuald 與 vncserver-x11-serviced 服務 : 

one@LX2438:/usr/lib/aarch64-linux-gnu$ sudo systemctl enable vncserver-virtuald.service 
sudo systemctl enable vncserver-x11-serviced.service  
sudo systemctl start vncserver-virtuald.service   
sudo systemctl start vncserver-x11-serviced.service    
Created symlink /etc/systemd/system/multi-user.target.wants/vncserver-virtuald.service → /lib/systemd/system/vncserver-virtuald.service.
Created symlink /etc/systemd/system/multi-user.target.wants/vncserver-x11-serviced.service → /lib/systemd/system/vncserver-x11-serviced.service.


3. 重新啟動電腦 : 

one@LX2438:/usr/lib/aarch64-linux-gnu$ sudo reboot    

重啟系統後果然在右上方工作列出現 VNC (跟樹莓派的 Raspbian 一樣) :




點這個 VNC 圖像就會開啟 VNC Connect 視窗, 但卻出現 "VNC is not licenced" 訊息 :




這是因為尚未登入 RealVNC 帳戶之故, 點右上角的三條槓選 "Licensing" :





按底下 Next :




輸入 RealVNC 帳密後按底下 Next :




照預設都勾選按底下 Next :




照預設按底下 Next 會彈出一個連線密碼設定視窗 (我是設 Hinet 初始密碼)  :





照預設按底下 Next :



這邊可以設定在 VNC 顯示的電腦名稱, 照預設按底下 Next :



設定需要輸入 Mapleboard 管理員登入密碼 :




至此 Mapleboard 的 Real VNC 伺服器即登入 RealVNC Connect 了 :




在 RealVNC 網站點 Computers 亦可看到 Mapleboard (LX2438) : 




參考 : 


完成 Mapleboard 上 RealVNC Server 的設定後, 遠端電腦的 VNC Viewer 程式只要登入 RealVNC Connect 帳密即可看到目前它所管轄的電腦 (免費帳戶最多 5 部電腦) : 




點擊其中的 LX2438 (即 Mapleboard) 即可登入其遠端桌面 (密碼我設定為 Hinet 信箱原始密碼) : 






哈哈哈終於成功了! 畫面與本機完全一樣! 


2023-02-07 補充 :

還有一個叫 tightVNC 的遠端桌面伺服器 :


但我比較習慣樹莓派內建的 RealVNC Connect, 因為它可以透過雲端連線位於內網的主機, 例如社區網路等. 


2025-02-02 補充 :

今年春節時因配合固定 IP 異動順便把這兩年來一直沒時間繼續的 Mapleboard 主機設定作業往前推進至防火牆設定, 這才發現原來之前無法使用 PuTTY 或 VNC 直連固定 IP 的原因是因為 Ubuntu 預設並未開啟 SSH, 且 VNC 伺服器雖已安裝, 但並未啟動, 上面所做的設定是給 RealVNC Cloud 雲端存取用的 (使用 TCP 443 埠), 如果要用 VNC 直連固定 IP, 需啟動 VNC Server 並打開防火牆的 5901 埠. 

用下列指令顯示目前的 VNC 伺服器 : 

vncserver -list

tony1966@LX2438:~$ vncserver -list   

TigerVNC server sessions:

X DISPLAY # RFB PORT # RFB UNIX PATH PROCESS ID # SERVER

內容為空表示未啟動任何 VNC 伺服器, 用下列指令啟動指定編號的伺服器 :

vncserver :伺服器編號   

tony1966@LX2438:~$ vncserver :1   

New Xtigervnc server 'LX2438:1 (tony1966)' on port 5901 for display :1.
Use xtigervncviewer -SecurityTypes VncAuth -passwd /home/tony1966/.vnc/passwd :1 to connect to the VNC server.

這時再檢視 VNC 伺服器列表 : 

tony1966@LX2438:~$ vncserver -list   

TigerVNC server sessions:

X DISPLAY # RFB PORT # RFB UNIX PATH PROCESS ID # SERVER
1          5901                     54509        Xtigervnc

可見已有一個編號 1 的 VNC 伺服器在監聽 5901 埠. 

然後參考下面這篇打開防火牆的 5901/tcp 埠 :

tony1966@LX2438:~$ sudo ufw allow 5901/tcp   
[sudo] tony1966 的密碼: 
已添加規則
已添加規則 (v6)

重新載入防火牆 :

tony1966@LX2438:~$ sudo ufw reload  
已經重新載入防火牆

但這樣還是不行 :





解決辦法是用 Nano 編輯 VNC 伺服器設定檔 :

tony1966@LX2438:~$ nano ~/.vnc/config   

在檔案中加入下面這一行 :

localhost=no   

按 Ctrl+O 儲存檔案後再按 Ctrl+X 跳出 Nano, 重啟 VNC Server :

tony1966@LX2438:~$ vncserver -kill :1   
Killing Xtigervnc process ID 54509... success!
tony1966@LX2438:~$ vncserver :1    

New Xtigervnc server 'LX2438:1 (tony1966)' on port 5901 for display :1.
Use xtigervncviewer -SecurityTypes VncAuth,TLSVnc -passwd /home/tony1966/.vnc/passwd LX2438:1 to connect to the VNC server.

再次連線輸入桌面解鎖密碼即可 :




2023年2月5日 星期日

Mapleboard MP510-50 測試 (七) : 安裝遠端桌面伺服器 xrdp

昨天因為補班 (春節連假), 晚上才回到鄉下, 開始著手解決 Mapleboard 遠端連線問題. 搜尋遠端桌面找到下面介紹用 xrdp 連線遠端桌面的兩篇文章 : 


似乎跟公司用的有點類似. 因為 Mapleboard 已經內建 xfce 桌面, 所以我就直接用 apt-get 安裝 xrdp 套件.


1. 安裝 xrdp 遠端桌面伺服器 : 

one@LX2438:~$ sudo apt-get -y install xrdp    
[sudo] one 的密碼: 
正在讀取套件清單... 完成
正在重建相依關係... 完成  
正在讀取狀態資料... 完成  
以下套件為自動安裝,並且已經無用:
  tightvncpasswd
使用 'sudo apt autoremove' 將之移除。
下列的額外套件將被安裝:
  xorgxrdp
建議套件:
  guacamole
下列【新】套件將會被安裝:
  xorgxrdp xrdp
升級 0 個,新安裝 2 個,移除 0 個,有 38 個未被升級。
需要下載 576 kB 的套件檔。
此操作完成之後,會多佔用 3,236 kB 的磁碟空間。
下載:1 http://ports.ubuntu.com jammy/universe arm64 xrdp arm64 0.9.17-2ubuntu2 [514 kB]
下載:2 http://ports.ubuntu.com jammy/universe arm64 xorgxrdp arm64 1:0.2.17-1build1 [62.8 kB]
取得 576 kB 用了 2s (246 kB/s)     
選取了原先未選的套件 xrdp。
(讀取資料庫 ... 目前共安裝了 279721 個檔案和目錄。)
正在準備解包 .../xrdp_0.9.17-2ubuntu2_arm64.deb……
解開 xrdp (0.9.17-2ubuntu2) 中...
選取了原先未選的套件 xorgxrdp。
正在準備解包 .../xorgxrdp_1%3a0.2.17-1build1_arm64.deb……
解開 xorgxrdp (1:0.2.17-1build1) 中...
設定 xrdp (0.9.17-2ubuntu2) ...

Generating 2048 bit rsa key...

ssl_gen_key_xrdp1 ok

saving to /etc/xrdp/rsakeys.ini

Created symlink /etc/systemd/system/multi-user.target.wants/xrdp-sesman.service → /lib/systemd/system/xrdp-sesman.service.
Created symlink /etc/systemd/system/multi-user.target.wants/xrdp.service → /lib/systemd/system/xrdp.service.
設定 xorgxrdp (1:0.2.17-1build1) ...
執行 man-db (2.10.2-1) 的觸發程式……
執行 libc-bin (2.35-0ubuntu3.1) 的觸發程式……


2. 設定開機自動啟動 xrdp :  

one@LX2438:~$ sudo systemctl enable xrdp   
Synchronizing state of xrdp.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable xrdp

參考 :



3. 將 dxdp 加入 ssl-cert 群組 :  

這樣 xrdp 使用者才擁有存取權憑證 :

one@LX2438:~$ sudo adduser xrdp ssl-cert    
正將 `xrdp' 使用者新增至 `ssl-cert' 群組 ...
正在將使用者“xrdp”加入到“ssl-cert”群組中
完成。

4. 指定 xfce 為桌面環境 : 

下列指令指定 xrdp 啟動時使用的桌面環境為 xfce : 

one@LX2438:~$ echo xfce4-session >~/.xsession    


5. 重新啟動 xrdp 服務 : 

這樣所做的變更才會生效 : 

one@LX2438:~$ sudo service xrdp restart    

完成上述程序後, 就可以用 Windows 內建的遠端桌面程式來連線了, 點左下角開始, 在 "搜尋程式與檔案" 框中輸入 mstsc 或遠端桌面就可找到 : 





執行 mstsc 或遠端桌面, 輸入 Mapleboard 網址, 按連線鈕即可 : 




輸入 Mapleboard 登入帳密即可 : 





雖然桌面功能都一樣, 但這 xfce 桌面與 Mapleboard 桌面不相同, 感覺不太真實. 

2023年1月28日 星期六

Mapleboard MP510-50 測試 (六) : 安裝 TeamViewer

由於計畫要用來架站的 Mapleboard 是放在鄉下老家連接光世代網路, 必須能夠支援遠端桌面存取, 這樣我才能隨時從外地連入伺服器進行程式更新與系統管理. 但相繼安裝了 VNC Cloud 與 AnyDesk 都無法使用. 

研究 AnyDesk 的安裝問題時, 在下面這篇文章末尾看到有人回覆說他安裝 TeamViewer arm64 版可以正常運作, 今天就來試試看 :





首先到 TeamViewer 官網下載 Raspberry Pi 64 位元版的 deb 安裝檔 (按右邊的 Download 64-bit version 按鈕) :





開啟個人資料夾, 切換到 Downloads 目錄下即可看到下載的 deb 安裝檔 teamviewer_15.38.3_arm64.deb, 點擊即可安裝 :




按右上角的 "安裝套件" 進行安裝 :




完成後按右下角 "關閉" 鈕即可 :




這時在 "選單/網際網路" 功能選單中就會出現 TeamViewer 了 : 




點擊 TeamViewer 會先出現授權同意書, 勾選下方的 "我同意 EULA 和 DPA" 按同意鈕即可 :




這時 Mapleboard 右上方工作列就會出現 TeamViewer 標誌, 點擊它會出現一個選單 :




點選第一個功能項 "顯示 TeamViewer" 就會打開 TeamViewer 視窗 :




中間 "您的 ID" 框內的數字 (9~10 碼) 就是 Mapleboard 的本機 TeamViewer ID, 這是獨一無二的主機識別碼 (應該是利用 MAC 位址計算出來的), 用來讓遠端電腦識別要連線的主機. 其下方則是隨機臨時密碼, 每次開啟 TeamViewer 視窗就會改變, 適合在有人值守時讓遠端連入存取桌面之用. 

接下來就可以用遠端電腦 (可跨網域) 來連線 Mapleboard 了, 我是用 Windows 桌電來當遠端電腦, 啟動 Windows 上的 TeamViewer, 在右方 "夥伴 ID" 框內填入 Mapleboard 的 TeamViewer ID, 按 "連線" 輸入對方 (Mapleboard) 上的隨機密碼, 按登入即可 : 





使用 TeamViewer 連線時會要求先註冊並登入會員 :



2. 設定個人密碼 (無人值守密碼) :

上面的連入桌面方式適合用在臨時請求遠端維護之場合, 此時本地有人值守, 可將隨機密碼通知遠端主機登入時使用; 但若本地端無人值守, 那就必須設定一個個人密碼, 方便隨時連入主機. 

首先開啟被連入主機  (此處為 Mapleboard) 的 TeamViewer, 點選左上方 "其他/選項" :




這會開啟一個選項設定視窗, 切換到 "進階/連線到此電腦的進階設定", 在 "個人密碼" 框輸入安全性強度較高的連入密碼, 然後按底下的確認鈕即可 :




這樣就可從遠端主機的 TeamViewer 連入此本地主機了, 下面是從遠端主機 (此處為 Windows) 的 TeamViewer 連入之畫面 :




輸入對方 ID 後按連線鈕, 這時會跳出一個要求輸入連入密碼的視窗, 直接輸入上面設定的個人密碼即可連入主機 :




參考 :



3. 設定 TeamViewer 伴隨系統啟動 :

由上可知 TeamViewer 預設不會隨電腦開機而啟動, 必須手動開啟後, 遠端主機才能連入. 但電腦有時會熱當, 透過網路遠端控制重開機後, 若無人值守開啟 TeamViewer, 遠端主機將無法連入, 這可以透過設定讓 TeamViewer 隨電腦重開機而啟動, 設定方法也是在 "其他/選項" 視窗中, 在 "一般/常用選項" 中句選 "伴隨系統啟動 TeamViewer" 即可 : 




參考 : 


我將 Mapleboard 重開機測試是否會自動執行 TeamViewer, 結果 TeamViewer 的標誌果然在開機後就出現在右上角的工作列中. 

2023-01-31 補充 :

這兩天從高雄用 TeamViewer 連線回去放在鄉下家的 Mapleboard, 可以連得上, 但操作沒幾下就斷線, 出現如下畫面, 說我一直利用此免費非商用帳戶為別人提供專業服務 :





說穿了就是透過這種技術性干擾來讓你付費, 我查了他們的定價, 最便宜每個月台幣 480 元 (年繳方案), 即一年要台幣 5856 元, 跟最便宜的手機吃到飽方案差不多 : 




AnyDesk 與 RealVNC Connect 也都有收費方案, RealVNC Connect 最便宜為月付 3.7 美元, 約台幣 1118 元左右 : 




AnyDesk 最便宜是月付 12.9 美元, 約台幣 412 元 : 



RealVNC Connect 與 AnyDesk 免費用戶也沒有說剛連上就斷線的問題, 都是閒置逾時才會斷線, 難怪 AnyDesk 會在網上獲好評推薦, 等我搞定 Mapleboard 的 RealVNC Connect 與 AnyDesk 安裝問題後就來移除 TeamViewer 吧! 能用但很難用.