debian linux vnc,在Debian 9上,如何安装和配置VNC

2023-11-02

本教程描述了如何在Debian 9上安装和配置VNC服务器。我们还将向您展示如何创建SSH隧道并安全地连接到VNC服务器。

先决条件

在继续本教程之前,请确保您以具有sudo特权的用户身份登录。

安装桌面环境

你的Debian server可能没有安装桌面环境,第一步是安装轻量级桌面环境。

Debian存储库中有几个桌面环境(德)可用,我们将使用Xfce作为您选择的桌面环境。它快速,稳定,轻量级,非常适合在远程服务器上使用,

使用以下命令更新软件包索引并在Debian server上安装Xfce:sudo apt install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils

根据你的系统,下载和安装Xfce软件包需要一些时间,

安装VNC服务器

Debian存储库中还有几种不同的VNC服务器,例如TightVNC,TigerVNC和x11vnc。每个VNC服务器在速度和安全性方面都有优缺点。

我们将使用TigerVNC,这是一个高性能VNC服务器。要在Debian服务器上安装TigerVNC,请发出以下命令:sudo apt install tigervnc-standalone-server tigervnc-common

安装VNC服务器后,运行vncserver命令创建初始配置并设置密码,运行以下命令时不要使用sudo:vncserver

系统将提示你输入并确认密码,是否将它设置为仅查看密码,如果选择设置仅视图密码,用户将无法与VNC实例与鼠标和键盘交互。You will require a password to access your desktops.

Password:

Verify:

Would you like to enter a view-only password (y/n)? n

/usr/bin/xauth: file /home/linuxize/.Xauthority does not exist

New 'debian9.localdomain:1 (linuxize)' desktop at :1 on machine debian9.localdomain

Starting applications specified in /etc/X11/Xvnc-session

Log file is /home/linuxize/.vnc/debian9.localdomain:1.log

Use xtigervncviewer -SecurityTypes VncAuth -passwd /home/linuxize/.vnc/passwd :1 to connect to the VNC server.

首次运行vncserver命令时,它在~/ . vnc目录中创建并存储密码文件,

在例子中,服务器运行在TCP端口5901 ( 5900+1 ),如果使用vncserver创建第二个实例,它在下一个空闲端口上运行换句话说,:2,这意味着服务器在端口上运行。

需要注意的是,当使用VNC服务器时,:X是一个显示端口,引用5900+X。

在继续下一步之前,使用带有vncserver命令的-kill选项和server number作为参数停止VNC实例,在这种情况下,服务器在端口5901 ( :1 )中运行,因此使用:vncserver -kill :1Killing Xtigervnc process ID 6677... success!

配置VNC服务器

现在,Xfce和TigerVNC都已安装在机器上,我们需要配置TigerVNC以使用Xfce,为此,创建以下文件:nano ~/.vnc/xstartup~/.vnc/xstartup#!/bin/shunset SESSION_MANAGER

unset DBUS_SESSION_BUS_ADDRESS

exec startxfce4

完成后,保存并关闭文件,以上脚本将在你启动或重新启动TigerVNC服务器时自动执行。

运行以下chmod命令以确保权限正确:chmod u+x ~/.vnc/xstartup

如果要将其他选项传递给VNC服务器,请打开~/.vnc/config文件并每行添加一个选项,以下是一个示例:~/.vnc/configgeometry=1920x1080

dpi=96

创建Systemd单元文件

systemd单元文件允许根据需要轻松启动,停止和重新启动VNC服务。

打开文本编辑器,并将以下配置复制并粘贴到其中,不要忘记在第7行更改用户名以匹配你的用户名,sudo nano /etc/systemd/system/vncserver@.service/etc/systemd/system/vncserver@.service[Unit]

Description=Remote desktop service (VNC)

After=syslog.target network.target

[Service]

Type=simple

User=linuxizePAMName=login

PIDFile=/home/%u/.vnc/%H%i.pid

ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill :%i > /dev/null 2>&1 || :'

ExecStart=/usr/bin/vncserver :%i -geometry 1440x900 -alwaysshared -fg

ExecStop=/usr/bin/vncserver -kill :%i

[Install]

WantedBy=multi-user.target

保存并管理文件。sudo systemctl daemon-reload

接下来,启用服务:sudo systemctl enable vncserver@1.service

1在@符号之后定义了VNC服务将在它上运行的显示端口,正如我们在上一节讨论的,因为使用1 VNC服务器将监听端口5901。

通过执行以下命令启动VNC服务:sudo systemctl start vncserver@1.service

确认服务已成功启动,方式为:sudo systemctl status vncserver@1.service● vncserver@1.service - Remote desktop service (VNC)

Loaded: loaded (/etc/systemd/system/vncserver@.service; enabled; vendor preset: enabled)

Active: active (running) since Wed 2018-10-03 05:23:33 PDT; 51s ago

Process: 7063 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill :1 > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS)

Main PID: 7071 (vncserver)

Tasks: 0 (limit: 4915)

CGroup: /system.slice/system-vncserver.slice/vncserver@1.service

‣ 7071 /usr/bin/perl /usr/bin/vncserver :1 -geometry 1440x900 -alwaysshared -fg

连接到VNC服务器

VNC不是加密协议,可以受数据包嗅探,建议的方法是创建一个SSH隧道,该隧道将安全地将流量从端口5901上的本地计算机转发到同一端口上的服务器。

在Linux和macOS上设置SSH隧道

如果您在计算机上运行Linux,macOS或任何其他基于Unix的操作系统,则可以使用ssh命令轻松创建SSH隧道:ssh -L 5901:127.0.0.1:5901 -N -f -l username server_ip_address

系统将提示你输入用户密码。

别忘了用你的用户名和服务器的IP地址替换username和server_ip_address,

在Windows上设置SSH隧道

如果运行Windows,可以使用Putty SSH客户端。

打开Putty,然后在Host name or IP address 字段字段字段。

在Connection菜单下,展开ssh并选择Tunnels,在字段中输入VNC服务器端口( 5901 ),并在server_ip_address:5901字段中输入Destination,然后单击按钮

返回到Session页面以保存设置,这样你不必每次都输入它们,现在你需要做的就是选择保存的会话并通过单击Open按钮登录到远程服务器。

使用Vncviewer连接

现在你已经设置了SSH隧道,现在是时候打开Vncviewer并连接到localhost:5901上的VNC服务器了。

可以使用VNC查看器,如TigerVNC,TightVNC,RealVNC,UltraVNC,Vinagre。

在本例中,使用TigerVNC,打开VNC查看器,输入localhost:5901,然后单击Connect按钮。

在出现提示时输入密码,您将看到默认的Xfce桌面。

此时,你已经通过VNC成功连接到服务器,现在,你可以使用键盘和鼠标从本地计算机开始与远程XFCE桌面交互。

结束语

到目前为止,应该有一个VNC服务器启动并运行,你可以使用图形界面从本地计算机轻松管理Debian 9服务器。

要配置VNC服务器为多个用户启动显示,请创建初始配置并使用vncserver命令设置密码,你还需要使用不同的端口创建新的服务文件。

有问题请随时留言。

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

debian linux vnc,在Debian 9上,如何安装和配置VNC 的相关文章

  • 使用dplyr包的rename函数为R语言中的数据框中的所有列重命名

    使用dplyr包的rename函数为R语言中的数据框中的所有列重命名 在R语言中 dplyr是一个强大的数据处理包 它提供了一系列函数来操作数据框 其中 rename函数可以用于为数据框中的列进行重命名操作 本文将详细介绍如何使用dplyr
  • C++ Lambda表达式(匿名函数): [](){}

    C Lambda表达式 匿名函数 Lambda 匿名函数表达式 1 完整的声明格式如下 1 1 省略声明形式 2 使用示例 作为STL中的仿函数functor充当谓词函数 3 Lambda函数中的变量截取规则 修改捕获变量 mutable关
  • 微信公众号H5利用JS-SDK中的开放标签wx-open-launch-weapp跳转第三方小程序

    场景 在微信公众号的h5页面中有这样一个需求 需要跳转到第三方小程序 我这里主要记录一下使用JS SDK中的开放标签wx open launch weapp来实现跳转 以及我在需求中遇到的一些问题 以及怎么解决的 我是使用的HBuilder
  • 等价类划分法设计用例(超详细)

    等价类划分法 等价类 1 解决了不能穷举测试的问题 控制成本 控制测试用例数量 2 数据值要明确 对文字敏感 3 依据需求将输入划分为若干个等价类 划分等价类 需求 数据特征 等价类设计用例的难点 如何根据时间成本划分等价类 等价类分为 1
  • aircrack-ng渗透WPA加密

    目录 一 WPA概念介绍 二 工作原理 三 wifi设置 1 打开wifi设置网站 2 选择无线配置 3 选择加密方式 四 打造字典 1 crunch生成密码 2 手工打造 五 渗透步骤 1 查看网卡 2 开启监听模式 3 扫描wifi 4
  • 2019-2-28 dvwa学习(4)--sql注入级别impossible

    继续把dvwa环境安全级别调整为impossible 观察界面 看上去似乎和low级别没有大的区别 只是浏览器中get方法提交的参数多了一个 impossible php代码如下
  • 相似性度量准则(距离 相似系数)

    在分类聚类算法 推荐系统中 常要用到两个输入变量 通常是特征向量的形式 距离的计算 即相似性度量 不同相似性度量对于算法的结果 有些时候 差异很大 因此 有必要根据输入数据的特征 选择一种合适的相似性度量方法 令X x1 x2 xn T Y
  • 数据结构 实验一 顺序表的操作

    一 顺序表的操作 任务一 初始化一个顺序表并输出 相关知识 需要掌握 1 结构体变量初始化 2 如何遍历顺序表 结构体变量初始化 定义结构体变量的同时 给结构体变量的各个成员变量赋值 示例如下 sequenlist sq 1 3 6 7 3
  • 【Linux】文件的权限

    权限笼统分为两种一种是人的权限 一种是文件的访问权限 而root 管理员 具有Linux最高的权限 最多只有一个 而普通用户可以有多个 要受到权限的约束 一 切换root权限 既然root是最大的权限 那么这里就来了解一下如果切换到root
  • 六、pcb文件设计规则

    设计pcb文件的布线规则 1 普通线宽为6mil 电源线或者需要加强的信号线宽为15mil 点击设计 gt 规则 进行信号线的设计 设置为6mil 如图 2 设置过孔规则 如图 设置过孔大小为12mil 过孔直径为22mil 3 新建一个类
  • Intellij idea 快捷键(1)--生成for循环代码块

    使用Intellij idea 时 想要快捷生成for循环代码块 itar 生成array for代码块 for int i 0 i lt array length i array i itco 生成Collection迭代 for Ite
  • 程序员职业的未来会受到失业的影响吗?

    关于提到的程序员未来是否会失业的问题 这是一个复杂而有争议的话题 虽然自动化和人工智能的发展可能对某些程序员的工作产生一定冲击 但是在同样的时间 也会产生新的就业机会和需求 技术的不断进步需要我们持续学习和适应 同时培养创新能力和解决问题的
  • servlet容器、web容器、spring容器、springmvc容器

    容器介绍 web容器中有servlet容器 spring项目部署后存在spring容器和springmvc容器 其中spring控制service层和dao层的bean对象 springmvc容器控制controller层bean对象 se
  • Java工程师看过来:入门到高级书单都在这!

    关于程序员 除了做项目来提高自身的技术 还有一种提升自己的专业技能就是 多 看 书 Java程序员你们准备好了吗 我们大圣众包 www dashengzb cn 双手奉上Java程序员必读之热门书单 入门 HeadFirstJava 作者
  • oracle 9i在线重定义功能应用于生产库

    今天 在客户生产库了用oracle 9i的在线重定义功能实现了由普通表转换为分区表的实施 总体实施过程还算 比较顺利 以下是测试过程 create test mid table create table test test mid ID N
  • python下使用libsvm:计算点到超平面的距离

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 最近在看的资料里涉及到计算 点到支持向量机分类超平面的距离 这一点内容 我使用的svm是libsvm 由于是新手 虽然看了一些资料 但中英转换误差等等原因导致经常出现理解错
  • Postman post请求返回错误状态码总结

    目录 Postman 踩坑总结 一 404 page not found 1 请求的参数不对 比如是POST请求但是参数却写的是GET 2 页面url写错或不存在 二 status 500 最近在使用Postman对接口进行测试 踩了几个坑
  • springboot2集成knife4j(swagger3)

    springboot2集成knife4j swagger3 springboot2集成knife4j swagger3 环境说明 集成knife4j 第一步 引入依赖 第二步 编写配置类 第三步 放行相关资源 保证启动了knife4j 第四
  • 数据库系统课程设计(高校成绩管理数据库系统的设计与实现)

    目录 1 需求分析 1 1 1 数据需求描述 1 1 2 系统功能需求 3 1 3 其他性能需求 4 2 概念结构设计 4 2 1 局部E R图 4 2 2 全局E R图 5 2 3 优化E R图 6 3 逻辑结构设计 6 3 1 关系模式

随机推荐

  • php 实现excel打包下载

    场景说明 举例说明 一个表单下面有多个提交的留言 导出这些留言 并且一个表单是一个excel 生成zip压缩包 msgList是数据 这里我将要导出的列表 列标题 名称都放在了一个变量中传递过来了 具体的数据结构如下 msgList for
  • java.lang.NoClassDefFoundError: com/jhlabs/image/RippleFilter 验证码功能报此错误的解决办法

    利用kaptcha实现验证码功能时报以下错误 原因时缺少jar包 下载并添加jar包即可 缺少的jar包如下 java lang NoClassDefFoundError com jhlabs image RippleFilter com
  • 深度学习在CV领域的进展以及一些由深度学习演变的新技术

    CV领域 1 进展 如上图所述 当前CV领域主要包括两个大的方向 低层次的感知 和 高层次的认知 2 主要的应用领域 视频监控 人脸识别 医学图像分析 自动驾驶 机器人 AR VR 3 主要的技术 分类 目标检测 识别 分割 目标追踪 边缘
  • [转载]ubuntu编写shell文件基础

    https www cnblogs com tnxk archive 2012 08 09 2630195 html
  • C语言:二叉排序树的操作

    实现的功能 1 建立二叉排序树 2 输出中序遍历结果 3 查找数据 0 退出 代码 include
  • conda与pip

    通过conda info命令查看当前的镜像源 设置conda的镜像源 conda config add channels https mirrors tuna tsinghua edu cn anaconda pkgs free conda
  • 网络安全的不同角度

    扫盲 相关概念 DevSecOps FreeBuf咨询 快HVV了 聊聊攻防演练中安全产品的安全性 FreeBuf甲方群 https www freebuf com articles neopoints 266464 html FreeBu
  • gdb常用操作

    一 gdb功能介绍 程序调试工具 可以动态的改变程序的执行环境 二 gdb使用 1 运行 1 gdb 程序名 2 gdb 程序名 p 进程号 3 gdb运行 输入attach 进程号 2 查看变量 1 p 变量名 2 p 10x 变量名 3
  • JSON语法及JSON定义规范化

    一 前言 JSON JavaScript Object Notation JS对象标记 是一种轻量级的数据交换格式 它是基于 ECMAScript 的一个子集 采用完全独立于编程语言的文本格式来存储和表示数据 二 JSON 语法规则 在 J
  • Phoneme的相关概念以及Triphone

    Phoneme的相关概念以及Triphone 目录 Phoneme的相关概念以及Triphone 前言 可用来训练HMM的基本单位 1 词 words 3 单音 syllables 4 音素 phonemes 5 Triphone 中文 基
  • Android App完全退出方式

    第一种方式是创建一个MyApplication类 继承Application 在AndroidManifest xml的application标签配置android name 并在其中加入一个 List
  • 信捷 XD PLC 16位整数转换为双精度浮点数

    完成16位整数转换为双精度浮点数 信捷XD PLC需要两个指令 逐步转换 一个指令搞不定 具体的 第1步 int16 gt int32 第2步 int32 gt Double 例子 比如说将D0转换成浮点数放到D100 D103
  • 阿里云服务器开放宝塔面板8888端口配置安全组教程

    默认情况下 阿里云处于安全考虑 仅开放了80和3389端口 云吞铺子以开放8888端口为例 1 登录到云服务器ECS控制台 2 在实例列表中 点击 更多 网络和安全组 安全组配置 或者在这 3 手动添加安全组规则 云吞铺子以添加宝塔面板管理
  • ubuntu16.04安装opencv3.4.5时出错及解决方法

    ubuntu16 04安装opencv3 4 5时 参考这篇文章 运行 cmake D CMAKE BUILD TYPE Release D CMAKE INSTALL PREFIX usr local 出现了错误 CMake Error
  • Go语言基础(一)

    Go语言具有支持高并发 语法简洁等特点 变量 Go语言中变量的定义可以直接定义 不需要基本数据类型 这些会自动帮你定义 但是你也可以写出变量的类型 放在变量的后面 还有一种是直接使用 来定义变量 var a initial var b c
  • spring cloud 通过Ribbon配置负载均衡 和Hystrix熔断器

    前言 本篇博客是基于上一篇博客的再度扩展springcloud项目配置 Ribbon是用于实现负载均衡的 Hystrix是用于超时的方法返回一个兜底数据的 Ribbon配置 1 在RestTemplate上加注解 LoadBalanced
  • C++类中嵌套enum(枚举)、union(联合)、struct(结构体)类型

    1 枚举 include
  • 一款非常萌的桌面工具---bongo cat mver0.1.6 附使用教程

    bongo cat mver是一款画风非常萌的桌面工具 由B站用户原创制作 具有人性化UI设置界面 可用于装饰视频或直播 能够根据鼠标 键盘操作做出相应的动作 超级可爱 该软件是以小猫的形式展现 共有四种模式供用户选择 包括键鼠 绘画 手柄
  • 5G+AIoT“零碳”解决方案

    碳交易 目前被认为是用市场机制调整碳排放的有效工具 通过有限的碳排放量分配 政府部门可以对碳排放配额进行总量控制 使纳入市场的控排企业受到碳排放限额的限制 排放量少于配额的企业可将多余的配额出来销售 反之超配额的企业 就需要到市场上去购买排
  • debian linux vnc,在Debian 9上,如何安装和配置VNC

    本教程描述了如何在Debian 9上安装和配置VNC服务器 我们还将向您展示如何创建SSH隧道并安全地连接到VNC服务器 先决条件 在继续本教程之前 请确保您以具有sudo特权的用户身份登录 安装桌面环境 你的Debian server可能