Linux 开启VNCSERVER

2023-05-16

尽管我们可以使用 SSH连接远程通过字符界面来操作Linux,但是对于更多熟悉图形人来说是很不方便的,因此开启Linux的远程桌面还是很有必要的。目前有两种比较流行的方式:XDM(X display manager)方案和VNC方案,而我个人比较倾向于VNC方案,一是因为VNC方案配置起来相对比较容易,二是VNC方案支持多种连接方式,比如通过浏览器访问Linux桌面,免去需要安装客户端的麻烦。

接下来进入具体配置说明:

一, 确认及安装VNCSERVER。

1,首先确认你服务器是否配置了VNCSERVER,可以在命令行下敲入以下命令查看:

[root@localhost: ~]#rpm -qa |grep vnc

vnc-server-4.1.2-14.el5    #返回VNCSEVER服务器端版本说明你已经安装了VNCSERVER。

2,如果没有安装VNCSEVER,那么从光盘找到安装包进行安装。

首先将光盘挂载(也叫解压)到某个目录这里是在/var/ftp/pub/下面建立了rhel5-64目录

mount -o loop rhel-server-5.3-x86_64-dvd.iso /var/ftp/pub/rhel5-64/

然后在/var/ftp/pub/rhel5-64/Server目录下找到 vnc-server-4.1.2-14.el5.x86_64.rpm安装包,使用RPM命令直接安装;

rpm -ivh vnc-server-4.1.2-14.el5.x86_64.rpm


二,开始配置VNCSERVER

1,启动VNCSERVER,第一次启动VNCSERVER会提示输入密码,这里分为管理员账户及普通账户,启动方式略有所不同。

管理员:

[root@localhost /]# vncserver

You will require a password to access your desktops.

Password: 123456                #输入vnc 连接密码

Verify: 123456                        #确认vnc密码

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


普通用户:

[root@localhost /]#su ceboy    #ceboy 是用户名
[ceboy@localhost /]$ vncserver

You will require a password to access your desktops.

Password: 123456                #输入vnc 连接密码

Verify: 123456                        #确认vnc密码

xauth: creating new authority file /home/ceboy/.Xauthority

New ‘localhost.localdomain:2 (ceboy)’ desktop is localhost.localdomain:2

Creating default startup script /home/ceboy/.vnc/xstartup
Starting applications specified in /home/ceboy/.vnc/xstartup
Log file is /home/ceboy/.vnc/localhost.localdomain:2.log


# 这里要注意:每个用户都可以启动自己的VNCSERVER远程桌面,同时每个用户可以启动多个VNCSERVER远程桌面,它们用ip加端口号:ip:1、ip:2、ip:3 来标识、区分,使用同一端口会使另外登录的用户自动退出。另,VNCSERVER的大部分配置文件及日志文件都在用户home目录下.vnc目录下。

用户可以自定义启动号码如:

[ceboy@localhost /]$ vncserver :2            #注意:2前面一定要有空格。
A VNC server is already running as :2

三,相关桌面配置,RedHat Linux支持两种图形模式:KDE模式和gnome模式。

1,你的RH使用的什么图形模式这个一般只有登录到图形界面查看一下才能知道,或者通过ps -A命令列出所有当前运行的程序,看看有没有KDE或者gnome字样来判断一下。

如果你是gnome桌面,那么你需要修改/root/.vnc/xstartup的配置文件。

[root@localhost .vnc]# vi xstartup

#!/bin/sh

# Uncomment the following two lines for normal desktop:

# unset SESSION_MANAGER            #将此行的注释去掉

# exec /etc/X11/xinit/xinitrc            #将此行的注释去掉

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup

[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources

xsetroot -solid grey

vncconfig -iconic &

xterm -geometry 80×24+10+10 -ls -title “$VNCDESKTOP Desktop” &

gnome-session gnome                #添加这一句是连接时使用gnome 桌面环境

twm &

设置修改完毕最好是重启一次系统,否则设置不会生效。我采用的方法是杀死VNCSERVER进程再重运行VNCSERVER。

[root@localhost .vnc]#vncserver -kill :1        #这里你启动vncserver时是什么端口号要对应上。
[root@localhost .vnc]#vncserver :1                #重启VNCSERVER,注意:1前面一定要有空格。

2,设置用户信息及分辨率。

[root@localhost: ~]#vi /etc/sysconfig/vncservers

# The VNCSERVERS variable is a list of display:user pairs.

#

# Uncomment the lines below to start a VNC server on display :2

# as my ‘myusername’ (adjust this to your own). You will also

# need to set a VNC password; run ‘man vncpasswd’ to see how

# to do that.

#

# DO NOT RUN THIS SERVICE if your local area network is

# untrusted! For a secure way of using VNC, see

# <URL: http://www.uk.research.att.com/archive/vnc/sshvnc.html >.

# Use “-nolisten tcp” to prevent X connections to your VNC server via TCP.

# Use “-nohttpd” to prevent web-based VNC clients connecting.

# Use “-localhost” to prevent remote VNC clients connecting except when

# doing so through a secure tunnel. See the “-via” option in the

# `man vncviewer’ manual page.

VNCSERVERS=”1:root 2:ceboy”              #此处添加用户,一般只添加一个1:root也就行了。

VNCSERVERARGS[1]=”-geometry 800×600 -nolisten tcp -nohttpd -localhost”
VNCSERVERARGS[2]=”-geometry 1024×768 -nolisten tcp -nohttpd -localhost”


#注意:上面是分别设置的root和ceboy两个用户的分辨率,注意是用端口号区分的。

另外也可以通过命令行临时修改分辨率及色深,这种方式重启后就会丢失,这里暂时用不到,命令如下:

[root@localhost: ~]#vncserver -geometry 800×600        #设置vncserver的分辨率   

[root@localhost: ~]#vncserver -depth 16           #设置vncserver的色深


到这里VNCSERVER服务器端就配置完成了。

四,客户端连接及使用。

1,访问方式
a、在linux下,运行vncviewer命令即可,服务器地址的写法形如192.168.1.11:1
b、在windows下,运行windows版本的vncviewer即可,用法与linux下相近。
c、用浏览器(平台无关),作为java applet来实现,以形如 http://192.168.1.11: 5801 的方式来启动 (vnc 端口从5800 开始依次类推,一般会是5800,5900)

以下为一些常识:

2,修改密码

运行vncpasswd即可

3,停止vncserver

#vncserver -kill :1
#vncserver -kill :2

注意到vncserver只能由启动它的用户来关闭,即时是root也不能关闭其它用户开启的vncserver,只能用kill命令暴力杀死进程。

4,稳定性设置

vncserver默认在多个客户机连接同一个vncserver的显示端口时,vncserver端口旧连接,而为新连接服务,可通过-dontdisconnect拒绝新连接请求而保持旧的连接。

5,同一个显示器可以连接多个客户机

#vncserver -alwaysshared

6,重启服务

service vncserver restart

7,让系统启动时自动启动VNCSERVER。

使用VNC连接登录到RedHat Linux图形界面,点击“系统”——“管理”——“服务器设置”——“服务”,在“后台服务”中找到VNCSERVER后勾选它,点击保存即可。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux 开启VNCSERVER 的相关文章

  • 如何在 Vim 中突出显示 Bash 脚本?

    我的 Vim 编辑器自动突出显示 PHP 文件 vim file php HTML 文件 vim file html 等等 但是当我输入 vim file在里面写一个Bash脚本 它不会突出显示它 我如何告诉 Vim 将其突出显示为 Bas
  • 如何通过ssh获取远程命令的退出代码

    我正在通过 ssh 从远程计算机运行脚本 ssh some cmd my script 现在 我想在本地计算机上存储 shell 脚本的退出状态 我该怎么做 假设没有任何问题ssh其本身 其退出状态是在远程主机上执行的最后一个命令的退出状态
  • 选择fasta文件中氨基酸超过300个且“C”出现至少4次的序列

    我有一个包含蛋白质序列的 fasta 文件 我想选择超过 300 个氨基酸且半胱氨酸 C 氨基酸出现超过 4 次的序列 我使用此命令来选择具有超过 300 个 aa 的序列 cat 72hDOWN fasta fasta bioawk c
  • 如何在Linux上用C/C++编写Web服务器[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在考虑在 Linux 平台上开发一个小型 阅读 初级 Web 服务器 但我不知道从哪里开始 我希望它能够做的是 监听特定端口 接受
  • Linux中如何避免sleep调用因信号而中断?

    我在 Linux 中使用实时信号来通知串行端口中新数据的到达 不幸的是 这会导致睡眠呼叫在有信号时被中断 有人知道避免这种行为的方法吗 我尝试使用常规信号 SIGUSR1 但我不断得到相同的行为 来自 nanosleep 联机帮助页 nan
  • 如何获取与 shell 中的文件名模式匹配的所有文件的总文件大小?

    我正在尝试仅使用 shell 来计算与文件名模式匹配的所有文件 在目录树中 的总大小 以字节为单位 这是我到目前为止所拥有的 find name undo exec stat c s awk 总计 1 END 打印总计 有没有更简单的方法来
  • 使用 shell 脚本发送 HTML 邮件

    如何使用 shell 脚本发送 HTML 电子邮件 首先 您需要撰写消息 最低限度由这两个标头组成 MIME Version 1 0 Content Type text html 以及适当的消息正文 p Hello world p 获得后
  • 在ubuntu中打开spyder

    我想在ubuntu中打开spyder Python IDE 通常我会在 shell 中编写 spyder 它会打开spyder IDE 现在 当我在shell中编写spyder时 它只是换行 什么也没有发生 类似于按 enter 我如何找回
  • Bash:将字符串添加到文件末尾而不换行

    如何将字符串添加到文件末尾而不换行 例如 如果我使用 gt gt 它将添加到文件末尾并换行 cat list txt yourText1 root host 37 echo yourText2 gt gt list txt root hos
  • Python glob,操作系统,相对路径,将文件名放入列表中[重复]

    这个问题在这里已经有答案了 我正在尝试创建一个目录中所有文件的列表 其中文件名以 root 结尾 在阅读了论坛中的一些文章后 我尝试使用 glob 和 os listdir 的基本策略 但我都遇到了麻烦 首先 当我使用 import glo
  • 为什么此 NASM 代码会打印我的环境变量?

    本学期我刚刚完成计算机体系结构课程 除其他外 我们一直在涉足 MIPS 汇编并在 MARS 模拟器中运行它 今天 出于好奇 我开始在我的 Ubuntu 机器上摆弄 NASM 基本上只是将教程中的内容拼凑起来 并感受一下 NASM 与 MIP
  • Crontab 每 5 分钟一次 [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我如何告诉 crontab 每 5 分钟运行一次 但从每小时的第二分钟开始 换句话说 我想在以下时间执行我的脚本minute 5 2 例如 我的脚本应
  • Linux无法删除文件

    当我找到文件时 我在删除它们时遇到问题 任务 必须找到带有空格的文件并将其删除 我的尝试 rm find L root grep i 但我有错误 rm cannot remove root test No such file or dire
  • Python 3.4.3 subprocess.Popen 在没有管道的情况下获取命令的输出?

    我试图将命令的输出分配给变量 而不让命令认为它正在通过管道传输 原因是 如果正在通过管道传输 则相关命令会给出未格式化的文本作为输出 但如果从终端运行 则会给出颜色格式化的文本 我需要获取这种颜色格式的文本 到目前为止我已经尝试了一些事情
  • 如何在线程创建和退出时调用函数?

    include
  • grep 排除文件的数组参数

    我想从我的文件中排除一些文件grep命令 为此我使用参数 exclude excluded file ext 为了更容易阅读 我想使用包含排除文件的 bash 数组 EXCLUDED FILES excluded file ext 然后将
  • ioctl 命令的用户权限检查

    我正在实现 char 驱动程序 Linux 并且我的驱动程序中有某些 IOCTL 命令仅需要由 ADMIN 执行 我的问题是如何在 ioctl 命令实现下检查用户权限并限制非特权用户访问 IOCTL 您可以使用bool capable in
  • 如何使用 JSch 将多行命令输出存储到变量中

    所以 我有一段很好的代码 我很难理解 它允许我向我的服务器发送命令 并获得一行响应 该代码有效 但我想从服务器返回多行 主要类是 JSch jSch new JSch MyUserInfo ui new MyUserInfo String
  • ALSA:snd_pcm_writei 调用时缓冲区不足

    当运行我最近从灰烬中带回来的旧程序时 我遇到了缓冲区不足的情况 该程序将原始声音文件完全加载到内存中 2100 字节长 525 帧 并准备 ALSA 进行输出 44 1khz 2 通道 有符号 16 位 if err snd pcm set
  • 如何为 Linux 桌面条目文件指定带有相对路径的图标?

    对于我的一个 Linux 应用程序 我有应用程序二进制文件 一个 launcher sh 脚本 针对 LD LIBRARY PATH 和一个 desktop 文件 所有这些都位于同一文件夹中 我想使用图标的相对路径而不是绝对路径 我试过了

随机推荐

  • IP地址与子网划分

    目录 一 IP地址 1 1 IPv4 1 2 IPv6 1 3 IPv4私有网络地址和公有网络地址 1 3 1 公有网络地址 1 3 2 私有网络地址 二 IP地址分类 2 1 IP地址分别分为A B C D E 5类 三 子网划分 3 1
  • 关于OpenCV安装

    1 概述 本文主要讲述关于OpenCV的安装 xff0c 以及安装过程中的问题解决 2 源码安装 2 1 下载 关于opencv一般推荐源码安装 xff0c 可以通过如下方式下载opencv源码 opencv 通过下述命令下载源码 span
  • Windows 11 本地 php 开发环境搭建:PHP + Apache + MySQL +VSCode 安装和环境配置

    目录 前言1 PHP 的下载 安装和配置1 1 下载 php1 2 安装 php1 3 配置 php 系统变量1 4 配置 php ini 2 Apache 的下载 安装和配置2 1 下载 Apache2 2 安装 Apache2 3 修改
  • 【frp配置教程】frp内网穿透服务端frps.ini各配置参数详解

    必须 标识头 common 是不可或缺的部分 必须 服务器IP bind addr 61 0 0 0 0 0 0 0 0为服务器全局所有IP可用 xff0c 假如你的服务器有多个IP则可以这样做 xff0c 或者填写为指定其中的一个服务器I
  • 【Ubuntu】修改Ubuntu的apt-get源为国内镜像源的方法

    转载请注明出处 xff1a http www zgljl2012 com ubuntu xiu gai ubuntude apt getyuan wei a li yun yuan de fang fa 1 原文件备份 sudo cp et
  • 【工程源码】stmdb和ldmia汇编指令

    本文由FPGA爱好者小梅哥编写 xff0c 未经作者许可 xff0c 本文仅允许网络论坛复制转载 xff0c 且转载时请标明原作者 首先一句话说一下stmdb和ldmia指令的作用 xff1a stmdb和ldmia指令一般配对使用 xff
  • 使用51单片机驱动YM12232B型液晶显示屏

    这是一个使用51单片机驱动YM12232B 液晶显示器的例子 xff0c 本人水平有限 xff0c 仅供参考 本实例中将使用51单片机控制YM12232B LCD分别在主窗口和副窗口中显示 科 和 学 字 YM12232B 一共有18个引脚
  • A*,那个传说中的算法

    周日的下午 xff0c 微信 simplemain xff0c 老王又来找大伙儿聊技术了 今天想跟大家聊的 xff0c 是我们经常用到 xff0c 但是却让大家觉得十分神秘的那个算法 xff1a A 想必大家都玩儿过对战类的游戏 xff0c
  • putty无法连接linux虚拟机

    linux安装参考 https linux cn article 5893 1 html 我选择的是Ubuntu 先看window下能不能ping通linux linux ip 地址查看 参考链接 jingyan baidu com art
  • C语言之网络编程(服务器和客户端)

    Linux网络编程 1 套接字 xff1a 源IP地址和目的IP地址以及源端口号和目的端口号的组合称为套接字 其用于标识客户端请求的服务器和服务 常用的TCP IP协议的3种套接字类型如下所示 xff08 1 xff09 流套接字 xff0
  • 无监督学习论文阅读

    无监督学习论文阅读 刚开始接触这方面的内容 xff0c 仅供参考 Diversity Transfer Network for Few Shot Learning xff08 AAAI2020 xff09 1 这篇文章提出了一种新的深度聚类
  • 控制教程 —— 介绍篇:3.PID控制器设计

    承接上一篇 控制教程 介绍篇 xff1a 2 系统分析 介绍完系统建模和基本的系统分析后 xff0c 我们已经了解了被控对象的特性 xff0c 这时 xff0c 就需要用一个合理的控制器 xff0c 让这个被控对象在该控制器下按照指定的给定
  • FreeRTOS —— 4.队列管理

    4 1 本章介绍与适用范围 队列 提供了任务到任务 xff0c 任务到中断以及中断到任务的通信机制 范围 本章旨在使读者更好地理解 xff1a 如何创建队列 队列如何管理其包含的数据 如何将数据发送到队列 如何从队列接收数据 阻塞队列意味着
  • LSTM一般最多堆叠多少层

    一 LSTM一般最多堆叠多少层 在大规模翻译任务的经验中 简单的堆叠LSTM层最多可以工作4层 很少工作6层 超过8层就很差了 Redisual connection有助于梯度的反向传播 xff0c 能够帮助lstm堆叠更多层 xff0c
  • 华为机试在线训练-牛客网(23)判断两个IP是否属于同一子网

    题目描述 子网掩码是用来判断任意两台计算机的IP地址是否属于同一子网络的根据 子网掩码与IP地址结构相同 xff0c 是32位二进制数 xff0c 其中网络号部分全为 1 和主机号部分全为 0 利用子网掩码可以判断两台主机是否中同一子网中
  • APISIX Dashboard中文文档(二)

    2022年7月6日14 31 51 APISIX Dashboard中文文档 一 APISIX Dashboard中文文档 二 APISIX Dashboard中文文档 三 基本部署 在 Linux 上安装 Apache APISIX Da
  • FreeRTOS 任务调度原理(基于cortexM内核)

    目录 默认FreeRTOS调度策略 xff08 单核 xff09 FreeRTOS调度策略的实现 任务创建 任务调度的4种情景 xff1a 1 第一次启动任务调度器 2 任务主动触发调度 3 SystemTick时钟触发调度 4 因为中断而
  • Centos7命令行安装图形用户界面

    安装完成Centos7后 xff0c 重启后发现是命令行界面 xff0c 于是就想改成图形用户界面 安装了图形用户界面的话 xff1a 1 查看系统里是否已经安装了图形用户界面 使用ctrl 43 alt 43 fx xff0c x为123
  • STM32G070 DMA+SPI+LCD显示

    SPI HandleTypeDef hspi1 DMA HandleTypeDef hdma spi1 tx 描述 xff1a LCD的SPI引脚初始化 参数 xff1a 无 返回 xff1a 无 void LCD SPI Init voi
  • Linux 开启VNCSERVER

    尽管我们可以使用 SSH连接远程通过字符界面来操作Linux xff0c 但是对于更多熟悉图形人来说是很不方便的 xff0c 因此开启Linux的远程桌面还是很有必要的 目前有两种比较流行的方式 xff1a XDM X display ma