天天看点

Linux有问必答:如何在VPS上安装和访问CentOS 7远程桌面Linux有问必答:如何在VPS上安装和访问CentOS 7远程桌面

提问: 我想在vps中安装centos桌面,并可以直接从我家远程访问gui桌面。在vps上设置和访问centos远程桌面有什么建议吗?

如何远程办公或者远程弹性化工作制在技术领域正变得越来越流行。这个趋势背后的一个技术就是远程桌面。你的桌面环境在云中,你可以在任何你去的地方,或者在家或者工作场所访问你的远程桌面。

这个教程介绍如何vps中设置基于centos的远程桌面。现在,我们会先展示centos的基础环境。

Linux有问必答:如何在VPS上安装和访问CentOS 7远程桌面Linux有问必答:如何在VPS上安装和访问CentOS 7远程桌面

<a target="_blank"></a>

<code># yum groupinstall "gnome desktop"</code>

在安装完成之后重启vps。

接下来就是安装和配置vnc服务器。我们使用的是tigervnc,一个开源的vnc服务实现。

<code># yum install tigervnc-server</code>

现在创建一个用户账户(比如:xmodulo)用来访问远程桌面。

<code># useradd xmodulo</code>

<code># passwd xmodulo</code>

当一个用户尝试使用vnc访问远程桌面时,vnc守护进程就会启动来处理这个请求。这意味着你需要为每个用户创建一个独立的vnc配置文件。

centos依靠systemd来管理和配置系统服务。所以我们将使用systemd来为用户xmodulo配置vnc服务器。

首先让我们使用下面任意一条命令来检查vnc服务器的状态。

<code># systemctl status vncserver@:.service</code>

<code># systemctl is-enabled [email protected]</code>

默认的,刚安装的vnc服务并没有激活(禁用)。

Linux有问必答:如何在VPS上安装和访问CentOS 7远程桌面Linux有问必答:如何在VPS上安装和访问CentOS 7远程桌面

现在复制一份通用的vnc服务文件来为用户xmodulo创建一个vnc服务配置。

<code># cp /lib/systemd/system/[email protected] /etc/systemd/system/vncserver@:1.service</code>

用本文编辑器来打开配置文件,用实际的用户名(比如:xmodulo)来替换[service]下面的。同样。在execstart后面追加 "-geometry " 参数。最后,要修改下面“execstart”和“pidfile”两行。

<code># vi /etc/systemd/system/vncserver@:1.service</code>

<code>[service]</code>

<code>type=forking</code>

<code># clean any existing files in /tmp/.x11-unix environment</code>

<code>execstartpre=/bin/sh -c '/usr/bin/vncserver -kill %i &gt; /dev/null 2&gt;&amp;1 || :'</code>

<code>execstart=/sbin/runuser -l xmodulo -c "/usr/bin/vncserver %i -geometry 1024x768"</code>

<code>pidfile=/home/xmodulo/.vnc/%h%i.pid</code>

<code>execstop=/bin/sh -c '/usr/bin/vncserver -kill %i &gt; /dev/null 2&gt;&amp;1 || :'</code>

现在为用户xmodulo设置密码(可选)。首先切换到该用户,并运行vncserver命令。

<code># su - xmodulo</code>

<code># vncserver</code>

你会被提示输入用户的vnc密码。密码设置完成后,你下次需要用这个密码来访问你的远程桌面。

Linux有问必答:如何在VPS上安装和访问CentOS 7远程桌面Linux有问必答:如何在VPS上安装和访问CentOS 7远程桌面

最后,重新加载服务来使新的vnc配置生效:

<code># systemctl daemon-reload</code>

在启动时自动启动vnc服务:

<code># systemctl enable vncserver@:1.service</code>

检查vnc服务正在监听的端口:

<code># netstat -tulpn | grep vnc</code>

Linux有问必答:如何在VPS上安装和访问CentOS 7远程桌面Linux有问必答:如何在VPS上安装和访问CentOS 7远程桌面

端口5901是vnc默认的客户端连接到vnc服务器使用的端口。

在你要运行vnc客户端的本机上,使用下面的命令来创建一个连接到远程vps的ssh通道。当被要输入ssh密码时,输入用户的密码。

<code>$ ssh xmodulo@&lt;vps-ip-address&gt; -l 5901:127.0.0.1:5901</code>

用你自己的vnc用户名来替换“xmodulo”,并填上你自己的vps ip地址。

一旦ssh通道建立之后,远程vnc流量就会通过ssh通道路由并发送到127.0.0.1:5901。

现在启动你最爱的vnc客户端(比如:vinagre),来连接到127.0.0.1:5901。

Linux有问必答:如何在VPS上安装和访问CentOS 7远程桌面Linux有问必答:如何在VPS上安装和访问CentOS 7远程桌面

你将被要求输入vnc密码。当你输入vnc密码时,你就可以安全地连接到centos的远程桌面了。

Linux有问必答:如何在VPS上安装和访问CentOS 7远程桌面Linux有问必答:如何在VPS上安装和访问CentOS 7远程桌面

然后就会看到如题图的显示。

原文发布时间:2015-05-17

本文来自云栖合作伙伴“linux中国”

继续阅读