vnc linux 远程桌面,Linux 远程桌面 VNC server

标准的linux发行版一般有两个vnc相关的软包,一个是客户端程序(vnc),一个是服务端程序(vnc-server),在这里以RHEL 5.3为例

系统登陆用户都可以为自己启用VNC远程桌面,直接执行vncserver命令以启动vncserver,首次运行时会提示设置密码.

# vncserver

You will require a password to access your desktops.

Password:

Verify:

xauth:  creating new authority file /root/.Xauthority

New 'localhost.localdomain:1 (root)' desktop is localhost.localdomain:1

Creating default startup script /root/.vnc/xstartup

Starting applications specified in /root/.vnc/xstartup

Log file is /root/.vnc/localhost.localdomain:1.log

系统会依次为每个用户分配display_no,默认从数字1开始,如:user1首先执行vncserver命令,系统将会为其分配显示号1,后面的用户运行vncserver后,得到的显示号依次为2…n,vncserver也会监听相应的端口,标准vnc客户端连接监听端口始于{5900 + display_no},基于web的客户端连接端口始于{5800 + display_no},vncserver将会依次打开,注意iptables 里要允许这些流量通过.

默认情况下VNC客户端登陆后只能看到VNC Server内置的twm图形管理器,实在是有点丑,要想使用Gnome或kde桌面还必须取消$HOME/.vnc/xstartup 文件中的两行配置的注释

unset SESSION_MANAGER

exec /etc/X11/xinit/xinitrc

按以上的设置,系统重启后vnc服务就关闭了,要想系统重启还能启用相应用户的远程桌面,就必须要配置文件中指定,并且将vncserver服务设置成随机启动

chkconfig vncserver on

编辑vnc配置文件/etc/sysconfig/vncservers

加入以下配置,如果要启用多个用户的VNC桌面,注意显示号不能重复.

VNCSERVERS="n:username"

VNCSERVERS[n]="-geometry 800x600"

n:username,阿拉伯数字'n'是标识,vnc中称之为display_no,用于后面的参数指定和相应VNC应监听的连接端口(VNC客户端连接{5900 + n},WEB客户端连接{5800 + n}),username为用户名,表示username用户的桌面.

配置参数

-nolisten tcp 阻止使用X Window,因为我们就是要使用图形界面,所以去掉了这项

-nohttpd 阻止来自基于WEB的VNC客户端连接,如浏览器

-localhost 只允许本地VNC连接,vnc安全性较低,所以默认只允许本地连接,所有要在公网上使用VNC,最好有一个安全连接来保证,如SSH/×××

其它相关命令

vncpasswd 修改vnc桌面登陆密码,vncpasswd默认修改 $HOME/.vnc/passwd中密码,当然root用户也可以指定文件来修改指定用户的vnc密码.例如,vncpasswd /home/user1/.vnc/passwd

vncviewer Linux下的VNC客户端,windows下常用的是RealVNC

vncserver的其它参数,看下面的帮助,这里用的较多的是vncserver -kill :display_no,结束指定显示号的远程桌面[display_no前有个':'号]

# vncserver --help

usage: vncserver [:] [-nohttpd] [-name ] [-depth ]

[-geometry x]

[-pixelformat rgbNNN|bgrNNN]

...

vncserver -kill

服务器如果设置了防火墙,那么需要开一些端口,这样才能在服务器开启防火墙的时候,也能够连接VNC服务器。由上面红色字的部分我们可以得出,如我们在客户端用VNC client等工具连接,我们只需要开放5900+n(n是显示号,我们在输入vncserver的时候,最后启动就能显示出来------主机名:n)

iptables设置为:

iptables -I INPUT -p tcp --dport 5900:590*  -j ACCEPT(n为你最大的VNC连接号)

service iptables save

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux上使用VNC进行远程桌面,需要先安装VNC ServerVNC Viewer。 以下是在Ubuntu上安装和配置VNC Server的步骤: 1. 安装VNC Server 打开终端,输入以下命令进行安装: ``` sudo apt-get update sudo apt-get install vnc4server ``` 2. 配置VNC Server 输入以下命令创建VNC Server配置文件: ``` vncserver ``` 在第一次运行时,需要设置VNC Server的密码。然后会生成一个默认的配置文件~/.vnc/xstartup。可以使用以下命令修改该文件: ``` nano ~/.vnc/xstartup ``` 在文件中添加以下内容: ``` #!/bin/bash xrdb $HOME/.Xresources startxfce4 & ``` 3. 启动VNC Server 输入以下命令启动VNC Server: ``` vncserver :1 -geometry 1024x768 -depth 24 ``` 其中:1表示VNC Server的端口号,-geometry和-depth表示VNC Server的分辨率和颜色深度。 4. 配置防火墙 如果系统上有防火墙,需要开放VNC Server的端口,例如: ``` sudo ufw allow 5901/tcp ``` 以下是使用VNC Viewer连接远程桌面的步骤: 1. 安装VNC Viewer 下载并安装VNC Viewer,例如RealVNC Viewer。 2. 输入VNC Server地址和端口号 打开VNC Viewer,输入VNC Server的地址和端口号,例如: ``` 192.168.1.100:1 ``` 3. 输入VNC Server密码 输入VNC Server的密码,即可连接远程桌面。 C++代码示例: ``` #include <cstdlib> #include <iostream> using namespace std; int main(int argc, char** argv) { system("sudo apt-get update"); system("sudo apt-get install vnc4server"); system("vncserver"); system("echo \"#!/bin/bash\nxrdb $HOME/.Xresources\nstartxfce4 &\" > ~/.vnc/xstartup"); system("vncserver :1 -geometry 1024x768 -depth 24"); system("sudo ufw allow 5901/tcp"); return 0; } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值