2015年10月13日 星期二

利用 TigerVNC Viewer 的「預設參數檔」,簡化 VNC 連線命令

使用 VNC Viewer 連線到「遠端電腦」是 Linux 系統常用的「圖形化使用者介面」桌面連線程式,在 Fedora 這個分支(distribution)是使用 TigerVNC。在連線時,除了「網路位址」和「通訊埠」是必要外,可能為了某些需求,使用者會加上一些其它參數。如果這些參數在每次連線都要加上去,可以參考〝用較短的命令,加快建立由 SSH 重導之 VNC 連線〞的作法,將 VNC 連線命令和參數包在一個自定的命令中。
  不想多增加一個「自定命令」,又想在每次的 VNC 連線時都加上相同參數,就可以用接下來的方法:設定一個 TigerVNC Viewer 的預設參數檔。讓 TigerVNC Viewer 在每次連線時,自動讀取這個『預設參數檔』,並加在連線命令中。

一、編輯 TigerVNC Viewer 的「預設參數檔」

要編輯 TigerVNC Viewer 的「預設參數檔」,首先要知道檔案所在的目錄、檔名和參數的格式。查詢 VNC Viewer 的線上文件時, 在「終端機」用命令 man vncvierer ,在接近文件的末端可以看到
.  .  .  .  .
FILES
$HOME/.vnc/default.tigervnc
          Default configuration options.
$HOME/.vnc/x509_ca.pem
Default CA certificate for authenticating servers.
$HOME/.vnc/x509_crl.pem
Default certificate revocation list.
.  .  .  .  .
其中,檔案 $HOME/.vnc/default.tigervnc 似乎就是 TigerVNC Viewer 的「預設參數檔」。用「文字編輯器」編輯這個檔案(開啟檔案),可用的參數及預設值如下:
TigerVNC Configuration file Version 1.0
FullscreenSystemKeys=1
MenuKey=F8
SendPrimary=1
SendClipboard=1
AcceptClipboard=1
Shared=0
ViewOnly=0
RemoteResize=1
geometry=
DesktopSize=
FullScreenAllMonitors=1
FullScreen=0
QualityLevel=8
NoJPEG=0
CompressLevel=2
CustomCompressLevel=0
PreferredEncoding=Tight
LowColorLevel=2
FullColor=1
AutoSelect=1
DotWhenNoCursor=0
X509CRL=
X509CA=
SecurityTypes=VeNCrypt,X509Plain,TLSPlain,X509Vnc,TLSVnc,X509None,TLSNone,VncAuth,None
其中,第一列的文字是『必要的』,照著打字不要修改。需要改變設定,就修改參數後的預設值,例如:想做的修改為,
  • 將「遠端電腦」的桌面傳過來時,不使用 JPEG 的有損失壓縮技術。
  • 在「全螢幕」時,不將「系統按鍵」傳到「遠端電腦」,僅供「本地電腦」用;如:【Alt】+【Ctrl】+【→】會切換到「本地電腦」右方的桌面。
就將這兩個參數改變即可,如
  • NoJPEG=1
  • FullscreenSystemKeys=0
參數的作用,可以用 vncviewer --help 或 man vncviewer 查詢得到,不過有些參數只可在命令列使用,不能用在「預設參數檔」(請參考第三段的說明)。

註一:『$HOME』是指「使用者」的家目錄,若以「MATE 桌面」的「文字編輯器」為例,命令為 plume ~/.vnc/default.tigervnc。
註二: 目前的測試為:Fedora 20 線上文件無說明,而 Fedora 21 以上才有說明。但是,Fedora 20 依上述說明設定,仍有作用。

二、VNC 連線命令

連線命命與一般相同,但是省略一些參數。
[SiB@Celeron-D ~]$ vncviewer 192.168.10.17:8888
其中,『192.168.10.17』是「遠端電腦」的網路位址,而 8888 是 VNC 伺服器的「埠號」。

三、TigerVNC Viewer 『預設參數檔』禁用參數之列表

在試用時,發現有些參數在命令列可以用,但是在參數檔中卻是錯誤的,將之整理列表如下:
參數名參 數 用 途
Log指定記錄『日誌』的『日誌記錄器』及『日誌』的詳細的程度
via指定傳送通道的「閘道」
listen開啟 VNC Viewer 後,等待 VNC Server 傳來訊息
Maximize將『視窗』放至最大
PasswordFile指定 VNC 認證的「密碼檔」
PointerEventInterval設定「指標器」(滑鼠等)的事件間隔,單位:毫秒

已測試版本:

  ⚫ Fedora: 21, 22
20 (TigerVNC Vierwr v1.3.0)

沒有留言:

張貼留言

感謝你耐心看完本文,歡迎留下任何指正、建議,筆者會儘快回應。(English is also welcome.)