<div style="text-align: right; background-color: #f5f5f5; padding: 4px 12px; border-radius: 5px; display: inline-block; float: right; font-size: 1.4rem;">
Last Updated:2025/07/01
</div>
<br>
# 互動式繪圖節點(ThinLinc)操作流程和範例說明
[TOC]
## ThinLinc 連線使用說明
ThinLinc 提供圖形化桌面環境,適合進行互動式繪圖操作。請依下列步驟完成安裝與連線設定:
**1. 安裝 ThinLinc Client 工具**
請依據您所使用的作業系統(Windows / macOS / Linux),下載並安裝對應版本的 ThinLinc Client:🔗 [ThinLinc 官方下載頁面](https://www.cendio.com/thinlinc/download)

<font color="red">➤ **建議開始執行連線前,請確認個人電腦已關閉延伸多部顯示器的設定。**</font>
<br>
<div style="border-bottom: 1px solid #ccc; text-align: center; line-height: 0; margin: 2rem 0;">
<span style="background: #fff; padding: 0 10px; font-size: 16px; color: #555;"> 以下教學以 Windows 環境為例說明 </span>
</div>
<br>
**2. 開啟 ThinLinc Client 並進行初始設定**

**3. 點選 「Options」 按鈕,進入 「Display」 分頁,勾選 「Windowed」 模式**

<br>
**4. 切換至 「Advanced」 分頁,於 ++Reconnect policy++ 欄位選擇 ++Always ask how multiple sessions should be handled++**

<br>
**5. 設定連線資訊**
:::info
<i class="fa fa-exclamation-circle" aria-hidden="true"></i> **登入節點連線資訊:**
<table>
<tr>
<td><b>節點</td>
<td><b>FQDN </td>
<td><b>連線 IP 位址</td>
</tr>
<tr>
<td>intgpn01</td>
<td><code>f1-intgpn01.nchc.org.tw</code></td>
<td><code>140.110.122.206</code></td>
</tr>
<tr>
<td>intgpn02</td>
<td><code>f1-intgpn02.nchc.org.tw</code></td>
<td><code>140.110.122.207</code></td>
</tr>
</table>
:::
<br>
**6. 點選「Options」→「Security」分頁,設定 SSH Port 為 `1111`,點選「OK」完成**

<br>
**7. 回到主畫面,輸入您在創進一號 ==主機帳號== 與 ==主機密碼==,點選 「Connect」**

<br>
**8. 請打開 IDExpert 手機 App 輸入 輸入 6 位數 OTP 認證碼**

<br>
<div style="border-bottom: 1px solid #ccc; text-align: center; line-height: 0; margin: 2rem 0;">
<span style="background: #fff; padding: 0 10px; font-size: 16px; color: #555;"> 進入圖形桌面後的基本操作 </span>
</div>
<br>
**(1)登入後請點選 「Forward」 繼續連線,若點選「Quit」 可重新啟動 ThinLinc Client**

**(2)點選 「Start」**

**(3)點選 「Activities」**

**(4) 點選 「Terminal」啟動終端機操作環境**

<font color="red">➤ **若因閒置而自動登出桌面,請按任一鍵盤按鍵喚醒,並重新輸入您在創進一號的主機密碼,即可登入桌面。**</font>
<br>
---
<br>
## ParaView 使用說明
<font color="blue"> **(後續操作皆在互動式桌面 Terminal 中執行)**</font>
**1. 請先透過 ThinLinc Client 成功登入互動式繪圖節點**
**2. 建立 ParaView Server Slurm sbatch Script**
(1) 使用 `vi` 指令建立 `pvjob.sh` 腳本
```
vi pvjob.sh
```
(2) 以下為範例腳本內容,可依實際需求調整,更多 Slurm 腳本說明,請參閱 [Slurm 簡介](https://man.twcc.ai/@f1-manual/slurm_instructions)。
```
#!/bin/bash
#SBATCH -J paraview_server # 工作名稱
#SBATCH -o paraview.log.%j # 輸出檔案名稱 (%j = Job ID)
#SBATCH -t 00:30:00 # 執行時間
#SBATCH --account=GOVxxxxxx # 專案計畫編號
#SBATCH --nodes=2 # 節點數量
#SBATCH --ntasks-per-node=2 # 每節點MPI行程數量
#SBATCH --gres=gpu:2 # 每節點GPU數量
#SBATCH --partition=visual
echo "Starting ParaView server"
module purge
module load gcc/8.5.0 openmpi/4.1.6 tools/paraview/server/5.12.0
PVSERVER="pvserver --force-offscreen-rendering --disable-xdisplay-test --multi-clients"
mpirun --np 2 $PVSERVER : \
--np 2 $PVSERVER
#--np 4 $PVSERVER \
#--np 2 $PVSERVER --egl-device-index=3 :\
#--np 2 $PVSERVER --egl-device-index=4 :\
#--np 2 $PVSERVER --egl-device-index=5 :\
#--np 2 $PVSERVER --egl-device-index=6 :\
#--np 2 $PVSERVER --egl-device-index=7
echo "Stopping ParaView server"
```
<br>
**3. 透過`slurm`指令發送任務至繪圖叢集**
```bash
[user@intgpn02 ~]sbatch pvjob.sh
Submitted batch job 39254
```
**4. ParaView 伺服器連線資訊可由 `slurm` 輸出檔案中取得**
```bash
cat paraview_server.log.[job_id] #<job_id>: Job ID
```
```
[user@intgpn02 thinlinc]$ cat paraview_server.log.39254
Starting ParaView server
gpn01:rank1.pvserver: unknown link speed 0x80
gpn02:rank3.pvserver: unknown link speed 0x80
gpn01:rank0.pvserver: unknown link speed 0x80
gpn02:rank2.pvserver: unknown link speed 0x80
gpn01:rank1.pvserver: unknown link speed 0x80
gpn02:rank3.pvserver: unknown link speed 0x80
gpn01:rank0.pvserver: unknown link speed 0x80
gpn02:rank2.pvserver: unknown link speed 0x80
-----------------------------------------------------
By loading the 'pvNVIDIAIndeX' plugin you have accepted the EULA shipped with it.
If that is not acceptable, please restart the application without loading
the 'pvNVIDIAIndeX' plugin.
-----------------------------------------------------
Waiting for client...
Connection URL: cs://gpn01:11111
Accepting connection(s): gpn01:11111
```
<font color="blue">➤ **gpn01:11111 即為您之後在 ParaView Client 中輸入的連線資訊。**</font>
**5. 在互動式繪圖節點使用 ParaView Client,執行下列指令查詢可用的`module`,並載入 ParaView Client**
```bash
ml avail
ml load tools/paraview/client/5.12
```
```
[user@intgpn03 ~]# ml avail
------------------------------------ /pkg/modulefiles/software -------------------------------------
apps/abaqus/2023 apps/lsdyna/R13.0.0 tools/paraview/client/5.12.0
apps/abaqus/2024 (D) apps/lsdyna/R13.1.0 (D) tools/paraview/server/5.12.0
apps/adf/2024.101-intelmpi-intel libs/hdf5/1.14.3 tools/rstudio/4.4.0
apps/adf/2024.102-openmpi-intel (D) tools/code-server tools/singularity-ce/4.1.1
apps/gaussian/g16 tools/jupyterlab
apps/lsdyna/R12.0.0 tools/miniconda3
------------------------------- /pkg/modulefiles/middleware/compiler -------------------------------
gcc/8.5.0 (D) gcc/11.2.0 intel/2022_3_1 intel/2024_01_46 (D)
gcc/10.4.0 intel/2019_u5 intel/2023_2
[user@intgpn03 ~]# ml load tools/paraview/client/5.12.0
```
**6. 啟動 ParaView Client**
```bash
[user@intgpn02 ~] $ paraview
```

**7. 連線到繪圖計算節點**

<br>
**8. 根據您在 ParaView slurm job log 中的主機名稱,輸入對應的連線 IP 位址進行連線**
:::info
<i class="fa fa-exclamation-circle" aria-hidden="true"></i> **繪圖計算節點的連線資訊:**
| 節點主機名稱 | 連線 IP 位址 |
| ------------ | ------------- |
| gpn01 | 172.16.160.21 |
| gpn02 | 172.16.160.22 |
| gpn03 | 172.16.160.23 |
| gpn04 | 172.16.160.24 |
| gpn05 | 172.16.160.25 |
| gpn06 | 172.16.160.26 |
:::
- 伺服器設定範例 - 以連線主機 gpn01 為例連線:
> 根據上表加入伺服器 **IP (172.16.160.21)** 和 **Port (11111)** 後即可連線
>

- 若要連線的伺服器不在預設清單中,可於 ParaView 中點選 **「Add Server」** 手動新增對應伺服器資訊

**9. 連線成功後,Browser 會顯示繪圖計算節點主機名稱。**

<font color="blue">➤ **若前面操作時間拖太長,則會因為服務逾期而閃退,屆時重新操作即可。**</font>
<br>
**10. 成功連線後,開啟資料來源並渲染**
(1) 點選 Sources → Alphabetical → Wavelet

(2) 選擇 NVIDIA IndeX 做為顯示引擎(需支援才會出現)

(3) 渲染結果如下圖所示

<br>
<div style="border-bottom: 1px solid #DC3C22; text-align: center; line-height: 0; margin: 2rem 0;">
<span style="background: #fff; padding: 0 10px; font-size: 16px; color: #DC3C22;"> 常見錯誤處理 </span>
</div>
<br>
若遇到異常錯誤視窗或閃退問題:
- 點選右上角「**Settings**」
- 進入 「**Render View**」
- 勾選 「**Disable IceT**」`
- 關閉設定後重新匯入資料即可



<br>
---
<br>
## VirtualGL 執行計算工作前處理或後處理的範例
若您欲使用圖形化軟體(如 Abaqus CAE)進行計算模擬之前處理或後處理,可透過 VirtualGL 在互動式繪圖節點上執行,以下為標準操作流程:
1. 透過 ThinLinc Client 成功連線至圖形節點
2. 點選桌面上的 **Terminal** 開啟終端機
```bash
[user@intgpn02 ~]$ ml list
No modules loaded
[user@intgpn02 ~]$ ml load apps/abaqus/2024
[user@intgpn02 ~]$ vglrun -d :0.1 abaqus cae
# 執行成功後會出現以下授權訊息,表示已啟動圖形化界面
Abaqus License Manager checked out the following license:
"cae" from Flexnet server 140.110.16.55
<9 out of 10 licenses remain available>.
```


<!--- 詢問中心同仁的 3D模組是使否已上限,可以製作範例了?--->