炸蝦碎碎念。

[Notes, GNU/Linux, Open Source, Ruby on Rails, Computer Science, Archlinux]

[Linux] VNC遠端桌面

所需套件:tigervnc

  1. 設定密碼

     $ vncpasswd ~/.vnc/passwd
    
  2. 操作現有的桌面

    一般的vncserver會開新的session,執行~/.vnc/xstartup裡的script(比如說startlxde),若想要像一般的遠端桌面或teamviewer一樣,直接操作現有的桌面,可以像這樣執行。

     $ x0vncserver -passwordfile ~/.vnc/passwd
    

    這裡的server會跑在port 5900。

  3. 普通的vncserver

    編輯~/.vnc/xstartup

     #!/bin/bash
     exec startlxde
    

    啟動server。

     $ vncserver :1 #這裡的數字代表第幾個display(x > 0),若指定:x,就會執行在port 590x
    

    若要讓同時能有多個人同時使用同一個display:

     $ vncserver -alwaysshared :1
    

    若要指定client的大小:

     $ vncserver -geometry 1920x1080 :1
    

    關掉server

     $ vncserver -kill :1
    
  4. 設定iptables

    若你有用iptables當作防火牆,一個vncserver session可能會用到三個port。580x、590x,各有不同的用途,見參考連結。我這裡的設定是直接開5900到5905、5800到5805、6000到6005。

     sudo iptables -A INPUT -p tcp --dport 5900:5905 -j ACCEPT
     sudo iptables -A INPUT -p tcp --dport 5800:5805 -j ACCEPT
     sudo iptables -A INPUT -p tcp --dport 6000:6005 -j ACCEPT
    
  5. 參考連結

    Vncserver - ArchWiki

    Iptables Open VNC Port To Allow Incoming VNC Connections - nixCraft

Comments