和Windows平台得RDP一样,Linux桌面环境也提供了远程桌面访问方式VNC,本文以Ubuntu桌面为例讲解Linux桌面配置TigerVNC进行远程访问。
环境准备
Linux桌面管理器有很多种,如:gnome、KDE、Xfce等等。Xfce最轻量级,我们用Xfce测试。
- 安装xfce
sudo apt update sudo apt install xfce4 xfce4-goodies
- 安装TigerVNC
sudo apt install tigervnc-standalone-server tigervnc-common
配置TigherVNC
- 创建配置文件
执行:vncserver
这时候提示我们创建新密码以安全地远程访问服务器。
会默认在$HOME 目录下创建.vnc目录,以及相关文件。root@ubuntu:~$ ls .vnc/ passwd ubuntu:1.log xstartup
- 配置VNCServer
VNCServer启动时,可能需要执行某些命令,例如连接到图形环境,控制面板等。 由于不会自动提供,因此我们必须修改适当的配置文件xstartup。
VNC的端口号是从5900开始的,如::1对应5901, :2对应5902 等等。vncserver -kill :1 //杀掉刚才的,或者用vncserver -kill :* 杀掉所有
由于我们要使用Xfce4桌面环境,因此,要创建一个相关的配置文件。
touch $HOME/.vnc/xstartup //如果不存在,创建一个。
vi $HOME/.vnc/xstartup
#!/bin/sh
xrdb $HOME/.Xresources
startxfce4 &
sudo chmod +x ~/.vnc/xstartup
这个配置文件非常简单,其他配置项需要自己仔细研究。这个配置将查看用户的Xresources文件,并启动Xresources桌面环境作为后台进程。然后,再次启动vncserver
执行:vncserver
客户端配置
- 创建SSH隧道
将本地5901端口通过ssh映射到远程vncserver的5901端口,-L选项配置端口转发。 ssh -L 5901:127.0.0.1:5901 SERVER_USER_NAME@SERVER_IP
- 启动vncviewer
执行:vncviewer localhost:1 //由于已经配置了ssh隧道,连接本地即可,端口号590n对应:n
输入密码后,就可以连接到vncserver了。
gnome桌面的配置
刚才说到,可以用KDE、Gnome、Xfce等不同的桌面管理器。下面演示gnome桌面。
- 安装gnome桌面(如果没有)
sudo apt-get install gnome-session-flashback sudo apt install ubuntu-desktop gnome-panel gnome-settings-daemon metacity nautilus gnome-terminal -y
- xstartup配置文件
$ cat .vnc/xstartup #!/bin/sh export XKL_XMODMAP_DISABLE=1 unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources xsetroot -solid grey vncconfig -iconic & gnome-session & gnome-panel & gnome-settings-daemon & metacity & nautilus & gnome-terminal &