【DOCKER】VNC可视化UBUNTU容器

news2024/9/22 23:22:59

1. 启动测试容器

# 启动容器
# -e USER=u20   vncserver所需环境变量
# -p 15901:5901 vncserver所需端口
docker run -id --privileged=true --restart always --user=u20 --workdir=/home/u20 -p 15901:5901 -e USER=u20 --name ui u20:dev

# 进入容器
docker exec -it ui /bin/bash

# 更新软件
sudo apt-get update -y
sudo apt-get upgrade -y

2. 安装X11与Xfce4

sudo apt-get install -y xorg openbox xfce4 xfce4-goodies
#  1. gdm3  2. lightdm
# Default display manager:
# Select 2

# 1. 无法使用终端
sudo apt-get install xfce4-terminal
sudo update-alternatives --config x-terminal-emulator # Select xfce4-terminal.

# 2. 中文乱码
sudo apt-get install -y locales
sudo dpkg-reconfigure locales
# 语言编码选择 en_US.UTF8,zh_CN GB2312,zh_CN GBK GBK,zh_CN UTF-8 UTF-8,即:159 488 490 491
# 为当前用户配置默认语言为中文zh_CN UTF-8 UTF-8,在~/.bashrc最后添加一行 export LANG=zh_CN.UTF-8
# 安装中文字体:sudo apt-get install -y fonts-wqy-zenhei

3. vncserver

3.1 安装

# ubuntu 20.04
sudo apt-get install -y tightvncserver

3.2 配置

  • 安装完成后,执行vncserver,配置访问密码与生成默认配置。
    vncserver
    
    • 密码:输入一个6-8位的密码,后续用VNC viewer连接会用。这里为:123456。
    • 是否创建仅查看密码:使用仅查看密码登录的用户将无法使用鼠标或键盘控制云服务器。此处输入n
    • 后续如果想更改密码或添加仅查看密码,使用以下命令:vncpasswd
  • 删除上一步创建的虚拟桌面。
    vncserver -kill :1
    
  • 备份VNC配置文件
    cp ~/.vnc/xstartup ~/.vnc/xstartup.bak
    
  • 修改配置文件
    vim ~/.vnc/xstartup
    
  • 写入一下内容
    #!/bin/sh
    xrdb $HOME/.Xresources
    xsetroot -solid grey
    #x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
    #x-window-manager &
    # Fix to make GNOME work
    export XKL_XMODMAP_DISABLE=1
    /etc/X11/Xsession
    startxfce4 &
    
  • 为了保证VNC服务正常启动,需要配置xstartup为可执行文件
    chmod +x ~/.vnc/xstartup
    
  • 启动虚拟化桌面
    vncserver -geometry 1920x1080 -depth 24
    # New 'X' desktop is 1f84fb9bb726:1
    #
    # Starting applications specified in /home/u20/.vnc/xstartup
    # Log file is /home/u20/.vnc/1f84fb9bb726:1.log
    
  • 查询VNC端口
    # 列出已启动的虚拟桌面
    vncserver -list
    
    # 查询状态
    sudo apt-get install -y net-tools
    netstat -ntupl
    
    # Active Internet connections (only servers)
    # Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
    # tcp        0      0 0.0.0.0:5901            0.0.0.0:*               LISTEN      9233/Xtigervnc      
    # tcp6       0      0 :::5901                 :::*                    LISTEN      9233/Xtigervnc 
    
  • 使用VNC客户端连接
    使用宿主机IP地址:启动容器时指定的宿主机映射端口,连接虚拟化桌面。 在这里插入图片描述
    输入vncserver连接密码。这里是:123456。
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1976824.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

jupyter支持跨机器远程访问

1. 远程访问场景 本地往往缺少GPU设备,为了让我们的代码能在有GPU设备的机器上运行,就需要在远程机器上启动jupyter notebook, 这意味着我们要在本地机器的浏览器上访问远程机器上的jupyter notebook。但是直接按ip访问会报如下错误: 因为ju…

MATLAB优化模型(3)

一、前言 在MATLAB中处理各种优化问题,如背包问题、指派问题(也称为分配问题)、抽屉原理应用、旅行商问题(TSP)以及排队论模型,通常需要结合MATLAB的优化工具箱(如Optimization Toolbox&#xf…

C++ | 动态内存管理 new、delete (用法、底层)详解

目录 简单回顾C语言动态内存管理 new、delete的用法 内置类型 new delete 自定义类型 new、delete底层讲解(重要) operator new 与 operator delete 定位 new 结语 简单回顾C语言动态内存管理 在C语言的学习阶段 我们接触到了三个能在堆上开辟…

vulhub靶场之wordpress关卡(保姆级教程)

一.打开wordpress关卡 1.选择简体中文 然后添加信息 点击安装wordpress 1.2 登陆后台 1.3 在后台修改模板 1.4 找一个php文件,在最开头加入一句话木马 点击更新 然后访问默认模板路径 下面的是默认的模板路径 /wp-content/themes/twentyfifteen/404.php 然后…

JAVA基础 - 数据库编程

目录 一. 简介 二. 数据持久化 三. 安装MySQL 四. JDBC API 五. 三个重要接口 一. 简介 数据库编程是指使用编程语言与数据库进行交互,以实现数据的存储、检索、更新、删除等操作。 在数据库编程中,常见的任务包括: 连接数据库&#x…

Spring统一返回类型中关于String的问题

文章目录 1. 问题铺垫2. 解决方法3. 问题分析4 解决方法解释 1. 问题铺垫 首先设置了以下代码统一处理返回类型 ControllerAdvice public class ResponseAdvice implements ResponseBodyAdvice {Overridepublic boolean supports(MethodParameter returnType, Class converte…

GuLi商城-新增商品-获取分类下所有分组以及属性

/*** 根据分类id查询出所有的分组以及这些组里面的属性* @param catelogId* @return*/ @Override public List<AttrGroupWithAttrsVo> getAttrGroupWithAttrsByCatelogId(Long catelogId) {//1、查询分组信息List<AttrGroupEntity> attrGroupEntities = this.list(…

SwiftUI 中掌握 ScrollView 的使用:滚动可见性

文章目录 前言视图修饰符应用场景可见性完整示例ContentViewVideoPlayerViewScrollViewVisibilityApp 总结 前言 我们的滚动 API 中又有一个重要的新增功能&#xff1a;滚动可见性。现在&#xff0c;你可以获取可见标识符列表&#xff0c;或者快速检查并监控 ScrollView 内视图…

一文彻底搞懂 Fine-tuning - 超参数(Hyperparameter)

最近这一两周看到不少互联网公司都已经开始秋招提前批了。不同以往的是&#xff0c;当前职场环境已不再是那个双向奔赴时代了。求职者在变多&#xff0c;HC 在变少&#xff0c;岗位要求还更高了。 最近&#xff0c;我们又陆续整理了很多大厂的面试题&#xff0c;帮助一些球友解…

【Unity】web gl inputFied 中文输入,同时支持TextMeshInputFied,支持全屏

同时支持TextMeshInputFied&#xff0c;支持全屏。 使用github包【WebGLInput】&#xff1a;https://github.com/kou-yeung/WebGLInput 需要资源的在这里也可以下载 https://download.csdn.net/download/weixin_46472622/89600795 用于unity web gl 中文输入&#xff0c;只需…

本地项目提交到Gitee

在项目目录 右键 git bash here 可以在黑屏输入命令 也可以在项目里面 命令都是一样的 要排除哪些 git add . 添加所有文件 git commit -m "Initial commit" 提交到本地 git remote add origin https://gitee.com/xxxx/xxxx.git 添加远程仓库 …

2-54 基于matlab的模糊自适应PID控制器

基于matlab的模糊自适应PID控制器&#xff0c;PID参数的整定必须考虑到在不同时刻三个参数的作用及相互之间的关系。在线实时模糊自整定PID算法的基础上&#xff0c;通过计算当前系统e和误差变化率ec&#xff0c;利用模糊规则进行模糊推理&#xff0c;查询模糊矩阵表进行参数调…

xss漏洞原理及利用【万字详解】

文章目录 url处XSS图片处XSS攻击svg-xss概念复现 pdf-xss概念复现 游览器翻译-xssflash-xss概念常见造成xss中的swf文件函数举例说明&#xff1a; cookie的获取概念代码审计复现 cookie的获取概念代码审计复现 页面信息获取概念条件复现 xss配合MSf钓鱼概念复现 XSS修复对危险字…

47 集合操作与运算

1 增加与删除集合元素 集合对象的 add() 方法可以增加新元素&#xff0c;如果该元素已存在则忽略该操作&#xff0c;不会抛出异常&#xff1b;update() 方法合并另外一个集合中的元素到当前集合中&#xff0c;并自动去除重复元素。 s {1, 2, 3} print(s) s.add(3) # 增加元…

C# 设计模式之装饰器模式

总目录 前言 装饰器模式的主要作用就是扩展一个类的功能&#xff0c;或给一个类添加多个变化的情况。学习面向对象的都知道&#xff0c;如果想单纯的给某个类增加一些功能&#xff0c;可以直接继承该类生成一个子类就可以。应对一些简单的业务场景继承也就够了&#xff0c;但是…

学习笔记-优化问题

目录 一、目前的问题 1、axios 2、跨域问题 3. 路由安全 二、解决问题 1. 跨域问题 2. 优化URL devServer 1. 配置 devServer 2. 修改请求路径 3. 重启 vue 4. 测试 5. pathRewrite 6. 重启 7. 测试 3. 优化 res.data 4. 判断状态码 5. 引入axios 1. 创建自…

【C++】2.C++入门(2)

文章目录 6.引用6.1 引用概念6.2 引用特性6.3 使用场景6.4 const引用&#xff08;常引用&#xff09;6.5 引用和指针的区别 7.inline7.1inline代码举例&#xff1a;7.2inline代码错误示范7.3实现一个ADD宏函数的常见问题&#xff1a; 8.nullptr 6.引用 6.1 引用概念 引用不是…

Yolov8在RK3588上进行自定义目标检测(三)

参考 Yolov8在RK3588上进行自定义目标检测(一) Yolov8在RK3588上进行自定义目标检测(二) best.onnx转yolov8.rknn onnx转rknn需要用到rknn-toolkit2&#xff0c;这个工具暂时不支持windows&#xff0c;所以我们移步linux&#xff0c;我用的是虚拟机创建的ubuntu20.4的系统&a…

JS+H5美观的带搜索的博客文章列表(可搜索多个参数)

实现 美观的界面&#xff08;电脑、手机端界面正常使用&#xff09;多参数搜索&#xff08;文章标题&#xff0c;文章简介&#xff0c;文章发布时间等&#xff09;文章链接跳转 效果图 手机端 电脑端 搜索实现 搜索功能实现解释 定义文章数据: 文章数据保存在一个 JavaScri…

评价指标--深度学习

目录 1分类任务1.1 二分类1.1.1 含义介绍1.1.2 指标 1.2多分类 2图像分割2.1 常用指标2.2 具体含义2.3 代码实现 1分类任务 1.1 二分类 混淆矩阵 1.1.1 含义介绍 TP&#xff1a;预测为真所以是Positive&#xff0c;预测结果和真实结果一致所以为TrueTN&#xff1a;预测为假…