Linux服务器上安装配置VNC Server

2023-05-16

前言

项目需要在Linux上进行数据抽取的相关任务,使用的是Kettle这一ETL工具,但是服务器就一个主机,这里对应Kettle的job和trans等相关配置就无法进行,所以需要使用远程图形界面VNC来实现,下面就记录一下如何在Linux服务器下安装配置VNC server!

安装配置

安装X-Window

首先,我们需要一个可用的桌面环境(X-Window),如果没有的话要先安装一个。如果有这一步骤可以跳过!
下面命令需要在root权限下执行:

yum groupinstall "X Window System"

这里提一下yum groupinstallyum install的区别!
①yum install 它安装单个软件,以及这个软件的依赖关系
②yum groupinstall 它安装一个安装包,这个安装包包涵了很多单个软件,以及单个软件的依赖关系
具体可以参考这篇文章:yum install 与 yum groupinstall 的区别

之后执行命令:

yum install gnome-classic-session gnome-terminal nautilus-open-terminal control-center liberation-mono-fonts

最后设置默认启动图形界面:

unlink /etc/systemd/system/default.target
ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target

然后重启一下

reboot

以上参考:https://linux.cn/article-5335-1.html

另外如果需要中文,可以添加中文支持!

yum -y groupinstall chinese-support 

在启动图形界面时可以选择支持中文。

安装VNC Server

同样的这里也需要root权限来运行!
安装很简单,只需执行命令:

yum install tigervnc-server

然后对VNC进行配置:
我们可以打开/lib/systemd/system/vncserver@.service,这个文件看一下,里边有个Quick HowTo
这里写图片描述
所以可以按照执行就好!
①复制模板配置文件

cp /lib/systemd/system/vncserver@.service /lib/systemd/system/vncserver@:1.service

②修改配置,将里边的<USER>替换为用户名,我这里是mars:

ExecStart=/sbin/runuser -l mars -c "/usr/bin/vncserver %i"
PIDFile=/home/mars/.vnc/%H%i.pid

如果要设置root用户:

ExecStart=/sbin/runuser -l root -c "/usr/bin/vncserver %i"
PIDFile=/root/.vnc/%H%i.pid

③重启 systemd

systemctl daemon-reload

④设置密码
为mars设置登录密码,因为当前是root用户下,所以要切换到mars用户权限下进行设置。

su mars
sudo vncpasswd

如果要为root设置,直接执行:

vncpasswd

⑤设置开机自启动

systemctl enable vncserver@:1.service

⑥开启服务

systemctl start vncserver@:1.service

可能遇到的问题

开启服务的时候,可能报错
这里写图片描述
解决办法:
vi /lib/systemd/system/vncserver@:1.service将其中的Type参数
Type=forking 改为 Type=simple

一般到这里,如果配置正确的话,是可以启动成功并且连接上的,如果还有问题,可以进行下边的尝试:
配置防火墙

sudo firewall-cmd --permanent --add-service vnc-server
sudo systemctl restart firewalld.service

再不行直接关闭:

systemctl stop firewalld.service//关闭
systemctl disable firewalld.service//禁用

使用VNC Viewer连接

VNC Viewer的下载这里就不再提了!
我们在连接的时候要使用类似:服务器的IP:端口号这样的形式来连接!
注意这里的"端口号"不是我们平常所说的端口号,这里的"端口号"是 VNC 连接数的多少,从1开始排序。
比如我们上边设置的vncserver@:1.service,我们在配置文件中设置的用户是mars,服务器的ip是192.168.164.132,那么我们连接的时候就用
192.168.164.132:1来连接,然后输入在配置vncserver@:1.service时设置的密码即可登录,登录进去就是mars这个用户身份!
当然我们也可以配置其他的用户来登录,比如设置vncserver@:2.service,同样的替换里边的<USER>即可!

那么说到实际的服务的端口号,VNC 服务本身使用的是5900端口。鉴于有不同的用户使用 VNC ,每个人的连接都会获得不同的端口。配置文件名里面的数字告诉 VNC 服务器把服务运行在5900的子端口上。在我们这个例子里,第一个 VNC 服务会运行在5901(5900 + 1)端口上,之后的依次增加,运行在5900 + x 号端口上。其中 x 是指之后用户的配置文件名 vncserver@:x.service 里面的 x。

2017/11/8更新
如果VNC窗口和外边windows不能进行复制粘贴!
在linux终端运行命令:

vncconfig -nowin&

其他相关

如果不设置开机自启动,需要每次手动启动服务:

systemctl start vncserver@:1.service  或者 vncserver :1

关闭服务:

systemctl stop vncserver@:1.service   或者 vncserver -kill :1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux服务器上安装配置VNC Server 的相关文章

  • 通过特定分隔符删除字符串

    我的文件中有几列 其中第二列有 分隔符 我想删除第二列中的第一个 第三个和第四个字符串 并将第二个字符串留在该列中 但我有正常的分隔符空间 所以我不知道 input 22 16050075 A G 16050075 A G 22 16050
  • 如何使用 xterm.js 创建基于 Web 的终端以 ssh 进入本地网络上的系统

    我偶然发现了这个很棒的图书馆xterm js https xtermjs org 这也是 Visual Studio Code 终端的基础 我有一个非常普遍的问题 我想通过基于网络的终端 不在网络中 可能位于 aws 服务器上 访问本地网络
  • 如何在 Linux 中编写文本模式 GUI? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 当我编写脚本 程序时 我经常想弹出一个简单的文本 gui 来提示输入 我该怎么做 例如 来自 Shel
  • 为什么内核需要虚拟寻址?

    在Linux中 每个进程都有其虚拟地址空间 例如 32位系统为4GB 其中3GB为进程保留 1GB为内核保留 这种虚拟寻址机制有助于隔离每个进程的地址空间 对于流程来说这是可以理解的 因为有很多流程 但既然我们只有 1 个内核 那么为什么我
  • chown:不允许操作

    我有问题 我需要通过 php 脚本为系统中的不同用户设置文件所有者权限 所以我通过以下命令执行此操作 其中 1002 是系统的用户 ID file put contents filename content system chown 100
  • fopen 不返回

    我在 C 程序中使用 fopen 以只读模式 r 打开文件 但就我而言 我观察到 fopen 调用没有返回 它不返回 NULL 或有效指针 执行在 fopen 调用时被阻止 文件补丁绝对正确 我已经验证过 并且不存在与权限相关的问题 任何人
  • Android 时钟滴答数 [赫兹]

    关于 proc pid stat 中应用程序的总 CPU 使用率 https stackoverflow com questions 16726779 total cpu usage of an application from proc
  • 如何在数组中存储包含双引号的命令参数?

    我有一个 Bash 脚本 它生成 存储和修改数组中的值 这些值稍后用作命令的参数 对于 MCVE 我想到了任意命令bash c echo 0 0 echo 1 1 这解释了我的问题 我将用两个参数调用我的命令 option1 without
  • 如何有效截断文件头?

    大家都知道truncate file size 函数 通过截断文件尾部将文件大小更改为给定大小 但是如何做同样的事情 只截断文件的尾部和头部呢 通常 您必须重写整个文件 最简单的方法是跳过前几个字节 将其他所有内容复制到临时文件中 并在完成
  • 如何使用GDB修改内存内容?

    我知道我们可以使用几个命令来访问和读取内存 例如 print p x 但是如何更改任何特定位置的内存内容 在 GDB 中调试时 最简单的是设置程序变量 参见GDB 分配 http sourceware org gdb current onl
  • linux perf:如何解释和查找热点

    我尝试了linux perf https perf wiki kernel org index php Main Page今天很实用 但在解释其结果时遇到了困难 我习惯了 valgrind 的 callgrind 这当然是与基于采样的 pe
  • 添加要在给定命令中运行的 .env 变量

    我有一个 env 文件 其中包含如下变量 HELLO world SOMETHING nothing 前几天我发现了这个很棒的脚本 它将这些变量放入当前会话中 所以当我运行这样的东西时 cat env grep v xargs node t
  • Discord.net 无法在 Linux 上运行

    我正在尝试让在 Linux VPS 上运行的 Discord net 中编码的不和谐机器人 我通过单声道运行 但我不断收到此错误 Unhandled Exception System Exception Connection lost at
  • 两种情况或 if 哪个更快? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我必须制作一个 非常 轻的脚本 它将接受用户的选项并调用脚本中的函数来执行一些任务 现在我可以使用 IF 和 CASE 选项 但我想知道两
  • 如何将目录及其子目录中的所有 PDF 文件复制到一个位置?

    如何全部复制PDF文件从目录及其子目录到单个目录 实际上还有更多的文件 并且深度有些任意 假设四个目录的最大深度是公平的 我想这些文件需要重命名 如果a pdf例如 位于多个目录中 因为我会adding https ebooks stack
  • jpegtran 优化而不更改文件名

    我需要优化一些图像 但不更改它们的名称 jpegtran copy none optimize image jpg gt image jpg 但是 这似乎创建了 0 的文件大小 当我对不同的文件名执行此操作时 大小仍然完全相同 怎么样 jp
  • 将 jar 作为 Linux 服务运行 - init.d 脚本在启动应用程序时卡住

    我目前正在致力于在 Linux VM 上实现一个可运行的 jar 作为后台服务 我已经使用了找到的例子here https gist github com shirish4you 5089019作为工作的基础 并将 start 方法修改为
  • docker容器大小远大于实际大小

    我正在尝试从中构建图像debian latest 构建后 报告的图像虚拟大小来自docker images命令为 1 917 GB 我登录查看尺寸 du sh 大小为 573 MB 我很确定这么大的尺寸通常是不可能的 这里发生了什么 如何获
  • 在脚本内使用不带密码的 sudo

    由于某种原因 我需要作为用户在没有 sudo 的情况下运行脚本 script sh 该脚本需要 root 权限才能工作 我认为将 sudo 放入 script sh 中是唯一的解决方案 让我们举个例子 script sh bin sh su
  • 如何更改 Apache 服务器的根目录? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如何更改 Apache 服务器的文档根目录 我基本上想要localhost从 来 users spencer projects目录而不是

随机推荐

  • FreeRTOS(一):裸机系统与多任务系统

    裸机系统与多任务系统 3 1裸机系统3 1 1轮询系统3 1 2前后台系统 3 2多任务系统总结 3 1裸机系统 裸机 xff1a 英文名是Bare machine Bare metal xff0c 指没有配置操作系统和其他软件的电子计算机
  • FreeRTOS(二):数据结构—列表与列表项

    数据结构 列表与列表项 4 列表与列表项4 1链表4 1 1单向链表4 1 2双向链表4 1 3链表与数组的对比 4 2FreeRTOS中链表的实现4 2 1实现链表节点1 定义链表节点数据结构2 链表节点初始化 4 2 2实现链表根节点1
  • Cordova技术初次学习

    文章目录 前言一 Cordova 是什么 xff1f 二 关于Cordova环境搭建前提要求 xff1a 1 利用npm 安装2 创建应用3 添加平台4 运行 三 结语 前言 这是一篇关于Cordova入门学习的记录文章 一 Cordova
  • 修改datax,Java获取mongo,Document转换成json,遇到的类型问题,用JsonWriterSettings解决

    java numberlong 解决方法 在修改datax插件的时候遇到了问题 问题 xff1a 我们存在mongo中带有数据类型 xff0c 如图 我们直接将Document转json会带上类型 且在mongo java driver的j
  • VirtualBox 主机ping不通虚拟机的解决办法

    visualBox的主机是ping不通虚拟机的 但是虚拟机能ping通主机 要先进行以下配置 第一个网卡为NAT Network 在网络配置中 xff0c 新建一个网卡2为桥接网卡 新建共享文件夹 国外一个老哥说的 xff0c 不新建共享文
  • 基于python实现相关模板匹配跟踪之SSDA算法

    基于python实现相关模板匹配跟踪之SSDA算法 1 单张图片匹配 1 1代码 1 2 效果 2 视频跟踪 2 1代码 2 2 效果 2 3 优化思路 3 参考链接 相关模板匹配跟踪和质心跟踪都是传统算法 相较于AI算法 具有极快的处理速
  • AGV小车经典算法设计及应用

    1 AGV小车的发展背景 在现代化工业的发展中 xff0c 提倡高效 xff0c 快速 xff0c 可靠 xff0c 提倡将人从简单的工作中解放出来 机器人逐渐替代了人出现在各个工作岗位上 机器人具有可编程 可协调作业和基于传感器控制等特点
  • 扒完社交网络关系才明白,《权力的游戏》凭什么是神作

    摘要 xff1a 凡人皆有一死 没错 xff0c 但那是 凡人 会数据的 xff0c 都不是凡人 DT君当你看冰火的时候 xff0c 你在看什么 xff1f 作为一个 冰与火之歌 的资深迷弟 xff0c 看到如今的冰火电视 Valar Mo
  • 数字IC设计入门(1)初识电路板和芯片

    本文为入门级同学和零电子基础同学准备 xff0c 有一定电子基础的请直接忽略 xff0c 芯片从本质上说还是电路 xff0c 因此有必要从电路板开始了解芯片工作过程 xff0c 下面将简单介绍一块电脑主机板 电路板已在我们生活中无处不在 x
  • 数电4_4——常见组合逻辑电路(3)数据选择器

    数据选择器 1 1 工作原理1 1 1 电路图1 1 2 写出逻辑表达式 1 1 3 对应真值表 1 2 应用1 2 1 用双四选一设计八选一1 2 2 用数据选择器设计组合逻辑电路1 2 2 1 用四选一实现1 2 2 2 用八选一实现1
  • 机器学习实战之科比数据集分析(随机森林寻最优值参数)

    文章目录 总体思路分为三部1 查看数据 xff0c 对数据进行清洗 xff0c 规约1 1 查看数据1 2 数据清洗 规约1 3 删除不相关的特征1 4 数据one hot处理 2 建立模型 xff0c 挑选出最优参数2 1 准备数据集 训
  • 一文读懂anchor-base和anchor-free

    1 从Faster RCNN看Anchor Faster RCNN相对于Fast RCNN的一个改进是引入了RPN网络 xff0c RPN用于区域推荐 xff0c 替换了此前的SS算法使得网络在整体上更加的CNN化 那么RPN是怎么进行区域
  • 用MATLAB提取字符串中的特定类别(数字等)

    如果一个字符串中包含多种格式的字符 xff0c 想把其中特定的一种提取出来 xff0c 有一个函数可以轻松解决 xff1a TF 61 isstrprop str category 确定输入文本中的字符是否为指定的类别 xff0c 如字母
  • 云计算基础与应用 第三章 云服务器

    以下为自己个人做的笔记 xff0c 不带有商业性质 xff0c 纯粹交流分享学习资料 xff0c 如有侵权 xff0c 请联系作者 xff0c 作者看到会第一时间删除 xff0c 如有侵权敬请见谅 文章目录 3 1 云服务器概述3 2 云服
  • 工作记录:NX系统烧录

    一 固件 BSP下载 https developer nvidia com embedded L4T r32 Release v4 2 t186ref release aarch64 Tegra Linux Sample Root File
  • YOLO v5获取目标的坐标位置,以及将crop融合到全黑背景中

    可能很多人不知道我这个标题后面这句话的含义 xff0c 因为这个场景可能很多地方压根用不到 xff0c 暂时不细说 我是上个月开始接触yolov5 v6 2版本做目标识别的 xff0c 也没有什么深度学习和pytorch的概念 xff0c
  • slam的简单操作以及原理

    slam的原理以及应用 1 新建工作文件夹 使用mkdir命令新建文件夹 slambook和ch1文件夹 xff0c 并利用cd命令进入ch1文件下 xff0c 截图如 2 编写helloslam小程序 使用vim命令创建helloslam
  • 遗传算法实例解析

    遗传算法实例及MATLAB程序解析 遗传算法Genetic Algorithms xff0c GA xff09 是一种基于自然选择原理和自然遗传机制的搜索 xff08 寻优 xff09 算法 xff0c 它是模拟自然界中的生命进化机制 xf
  • nginx 反向代理 获取客户端真实IP和域名以供日志分析

    场景 xff1a 客户网站或者移动APP在请求到达后端服务之前 xff0c 会经过层层代理的转发 典型的是CDN xff08 反向代理 43 Squid缓存 xff09 xff0c 如果是带有安全或者WAF功能的则结构要更为复杂些 一般的解
  • Linux服务器上安装配置VNC Server

    前言 项目需要在Linux上进行数据抽取的相关任务 xff0c 使用的是Kettle这一ETL工具 xff0c 但是服务器就一个主机 xff0c 这里对应Kettle的job和trans等相关配置就无法进行 xff0c 所以需要使用远程图形