当前位置: 首页 > article >正文

服务器安装xfce桌面环境并通过浏览器操控

最近需要运行某个浏览器的脚本,但是服务器没有桌面环境,无法使用,遂找到了KasmVNC,并配合xfce实现低占用的桌面环境,可以直接使用浏览器进行操作

本文基于雨云——新一代云服务提供商的Debian11服务器操作,NAT网络服务器实惠不限流量,有兴趣可以去看看。
另外欢迎来我的博客:火柴人儿的小站

安装KasmVNC

这里的步骤基于此教程在Ubuntu上安装KasmVNC实现轻松远程桌面访问 - 自由码农
建议都使用root用户操作,若非root用户,部分命令前需要加sudo 才可生效

  1. 下载KasmVNC

    检查系统版本

    lsb_release -a
    

    image-20250520142757935

    检查系统架构

    uname -m
    

    image-20250520142813017

    可以看到,我的是Debian11,bullseye是这个版本的代号,x86_64就是64位,那么根据这两个信息,就可以在项目发布页找到自己所需的版本进行下载,为方便取用,我这里留一个网盘的下载链接

    • kasmvncserver_bullseye_1.3.4_amd64.deb

    image-20250520143603468

    下载下来的文件上传到服务器得/home目录下

  2. 配置apt源

    选择其一即可

    • 腾讯云镜像源

      cat <<'EOF' > /etc/apt/sources.list
      # 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
      deb https://mirrors.tencent.com/debian/ bullseye main contrib non-free
      # deb-src https://mirrors.tencent.com/debian/ bullseye main contrib non-freedeb https://mirrors.tencent.com/debian/ bullseye-updates main contrib non-free
      # deb-src https://mirrors.tencent.com/debian/ bullseye-updates main contrib non-freedeb https://mirrors.tencent.com/debian/ bullseye-backports main contrib non-free
      # deb-src https://mirrors.tencent.com/debian/ bullseye-backports main contrib non-free# 以下安全更新软件源包含了官方源与镜像站配置,如有需要可自行修改注释切换
      # 一般来说,为了更及时地获得安全更新,不推荐使用镜像站安全更新软件源,因为镜像站往往有同步延迟
      # deb https://mirrors.tencent.com/debian-security bullseye-security main contrib non-free
      # # deb-src https://mirrors.tencent.com/debian-security bullseye-security main contrib non-freedeb https://security.debian.org/debian-security bullseye-security main contrib non-free
      # deb-src https://security.debian.org/debian-security bullseye-security main contrib non-free
      EOF
      
      apt-get update  #更新
      
    • 中科大镜像源

      cat <<'EOF' > /etc/apt/sources.list
      # 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
      deb https://mirrors.ustc.edu.cn/debian/ bullseye main contrib non-free
      # deb-src https://mirrors.ustc.edu.cn/debian/ bullseye main contrib non-freedeb https://mirrors.ustc.edu.cn/debian/ bullseye-updates main contrib non-free
      # deb-src https://mirrors.ustc.edu.cn/debian/ bullseye-updates main contrib non-freedeb https://mirrors.ustc.edu.cn/debian/ bullseye-backports main contrib non-free
      # deb-src https://mirrors.ustc.edu.cn/debian/ bullseye-backports main contrib non-free# 以下安全更新软件源包含了官方源与镜像站配置,如有需要可自行修改注释切换
      # 一般来说,为了更及时地获得安全更新,不推荐使用镜像站安全更新软件源,因为镜像站往往有同步延迟
      # deb https://mirrors.ustc.edu.cn/debian-security bullseye-security main contrib non-free
      # # deb-src https://mirrors.ustc.edu.cn/debian-security bullseye-security main contrib non-freedeb https://security.debian.org/debian-security bullseye-security main contrib non-free
      # deb-src https://security.debian.org/debian-security bullseye-security main contrib non-free
      EOF
      
      apt-get update  #更新
      
    • 阿里云镜像源

      cat <<'EOF' > /etc/apt/sources.list
      # 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
      deb https://mirrors.aliyun.com/debian/ bullseye main contrib non-free
      # deb-src https://mirrors.aliyun.com/debian/ bullseye main contrib non-freedeb https://mirrors.aliyun.com/debian/ bullseye-updates main contrib non-free
      # deb-src https://mirrors.aliyun.com/debian/ bullseye-updates main contrib non-freedeb https://mirrors.aliyun.com/debian/ bullseye-backports main contrib non-free
      # deb-src https://mirrors.aliyun.com/debian/ bullseye-backports main contrib non-free# 以下安全更新软件源包含了官方源与镜像站配置,如有需要可自行修改注释切换
      # 一般来说,为了更及时地获得安全更新,不推荐使用镜像站安全更新软件源,因为镜像站往往有同步延迟
      # deb https://mirrors.aliyun.com/debian-security bullseye-security main contrib non-free
      # # deb-src https://mirrors.aliyun.com/debian-security bullseye-security main contrib non-freedeb https://security.debian.org/debian-security bullseye-security main contrib non-free
      # deb-src https://security.debian.org/debian-security bullseye-security main contrib non-free
      EOF
      
      apt-get update  #更新
      
  3. 安装KasmVNC

    cd /home
    dpkg -i kasmvncserver_bullseye_1.3.4_amd64.deb
    

    出现依赖问题

    image-20250520150226595

    安装依赖

    apt --fix-broken install
    

    安装完成后查看KasmVNC版本,显示出版本号即安装成功

    dpkg -s kasmvncserver | grep Version
    

    image-20250520151753653

  4. 初始化 KasmVNC 配置

    kasmvncserver
    

    image-20250520152422080

  5. 放行8444端口,将内部的8444映射到外网的18444(可随意设置)

    image-20250520152551842

  6. 通过https://ip:18444访问(必须使用https访问

    点击高级➡️继续访问

    image-20250520152902855

    输入用户名和密码
    在这里插入图片描述

    登录进去之后,现在是黑屏,是正常情况,我们还需要配置一个桌面环境,教程中使用的是GNOME,它占用资源比较大,所以我改为使用XFCE

    此外,如果浏览器左上角提示是否允许读取剪贴板,一定要点允许,不然键盘无法输入命令。

  7. 配置桌面环境

    安装xfce桌面环境,时间可能比较长,耐心等待

    apt install xfce4 dbus-x11 dbus-user-session -y
    

    安装过程中会弹出以下选择界面,选择第一个,然后点击tab键,回车即可

    image-20250520160735417

    编辑配置文件

    cat << EOF > ~/.vnc/xstartup 
    #!/bin/bash
    set -x exec 
    xfce4-session 
    EOF
    

    设置执行权限

    chmod +x ~/.vnc/xstartup
    

    重启vnc服务

    vncserver -kill :1   #停止当前会话
    vncserver  #启动一个新的会话
    

    image-20250520162624414

  8. 刷新页面

    image-20250520110051599

安装火狐浏览器

安装好桌面环境之后立马内置的浏览器无法使用,使用apt安装火狐我也试了,Mozilla APT 库下载总是失败,结果发现直接下载安装包解压就能用了😂

  1. 去[官网](下载适用于 Linux 的 Mozilla Firefox — 快速、私密且免费 Mozilla 出品)下载所需安装包,默认是32位,需要自己选择64位的,这个应该都能下载,不过我还是留一个下载链接吧:firefox-138.0.4.tar.xz

    image-20250521091743448

    image-20250521091759893

  2. 并上传到服务器/home目录下,我这里使用的是WindTerm

    image-20250521091917427

  3. 解压安装包

    cd /home
    tar Jxf firefox-138.0.4.tar.xz  # 这里的J一定要大写 
    
  4. 运行firefox

    解压完成后,在解压文件内找到firefox,双机即可打开浏览器

    image-20250521092430868

    image-20250521093108656

解决中文乱码

可以看到上图的浏览器中,中文都是乱码,这是因为没有安装显示中文的字体,只需要安装一个中文字体即可

apt install fonts-noto-cjk

安装完成后,刷新浏览器即可

image-20250521093351312

相关文章:

服务器安装xfce桌面环境并通过浏览器操控

最近需要运行某个浏览器的脚本&#xff0c;但是服务器没有桌面环境&#xff0c;无法使用&#xff0c;遂找到了KasmVNC&#xff0c;并配合xfce实现低占用的桌面环境&#xff0c;可以直接使用浏览器进行操作 本文基于雨云——新一代云服务提供商的Debian11服务器操作&#xff0c;…...

Java设计模式之组合模式:从入门到精通(保姆级教程)

文章目录 1. 组合模式概述1.1 专业定义1.2 通俗解释1.3 模式结构2. 组合模式详细解析2.1 模式优缺点2.2 适用场景3. 组合模式实现详解3.1 基础实现3.2 代码解析4. 组合模式进阶应用4.1 透明式 vs 安全式组合模式4.2 组合模式与递归4.3 组合模式与迭代器5. 组合模式在实际开发中…...

Oracle 创建外部表

找别人要一下数据&#xff0c;但是他发来一个 xxx.csv 文件&#xff0c;怎么办&#xff1f; 1、使用视图化工具导入 使用导入工具导入&#xff0c;如 DBeaver&#xff0c;右击要导入的表&#xff0c;选择导入数据。 选择对应的 csv 文件&#xff0c;下一步就行了&#xff08;如…...

大语言模型 17 - MCP Model Context Protocol 介绍对比分析 基本环境配置

MCP 基本介绍 官方地址&#xff1a; https://modelcontextprotocol.io/introduction “MCP 是一种开放协议&#xff0c;旨在标准化应用程序向大型语言模型&#xff08;LLM&#xff09;提供上下文的方式。可以把 MCP 想象成 AI 应用程序的 USB-C 接口。就像 USB-C 提供了一种…...

【软考向】Chapter 9 数据库技术基础

基本概念数据库的三级模式结构 数据模型E-R 模型关系模型各种键完整性约束 关系代数5 种基本的关系代数运算&#xff1a;并、差、笛卡儿积、投影和选择扩展的关系代数运算&#xff1a;交(Intersection)、连接(Join)、除(Division)、广义投影(Generalized Projection)、外连接(O…...

实战:Dify智能体+Java=自动化运营工具!

我们在运营某个圈子的时候&#xff0c;可能每天都要将这个圈子的“热门新闻”发送到朋友圈或聊天群里&#xff0c;但依靠传统的实现手段非常耗时耗力&#xff0c;我们通常要先收集热门新闻&#xff0c;再组装要新闻内容&#xff0c;再根据内容设计海报等。 那怎么才能简化并高…...

STM32单片机GUI系统1 GUI基本内容

目录 一、GUI简介 1、emWin 2、LVGL (Light and Versatile Graphics Library) 3、TouchGFX 4、Qt for Embedded 5、特性对比总结 二、LVGL移植要求 三、优化LVGL运行效果方法 四、LVGL系统文件 一、GUI简介 在嵌入式系统中&#xff0c;emWin、LVGL、TouchGFX 和 Qt 是…...

从零开始学习three.js(21):一文详解three.js中的矩阵Matrix和向量Vector

一、三维世界的数学基石 在Three.js的三维世界里&#xff0c;所有视觉效果的实现都建立在严密的数学基础之上。其中向量&#xff08;Vector&#xff09; 和矩阵&#xff08;Matrix&#xff09; 是最核心的数学工具&#xff0c;它们就像构建数字宇宙的原子与分子&#xff0c;支…...

应届本科生简历制作指南

一、找一个专业的简历模板 首先&#xff0c;你需要访问 Overleaf 的官方网站&#xff0c;也就是Overleaf, Online LaTeX Editor&#xff0c;进入页面后&#xff0c;点击注册按钮&#xff0c;按照提示填写相关信息来创建一个属于自己的账号&#xff0c;通常需要填写用户名、邮箱…...

VUE3+TS实现图片缩放移动弹窗

完整代码 使用VUE3、TS&#xff0c;实现将图片通过鼠标拖拽缩放以及选择缩放比例。 <template><div><el-dialogv-model"dialogVisible"title"查看图片":close-on-click-modal"false":close-on-press-escape"false"fu…...

大语言模型训练数据格式:Alpaca 和 ShareGPT

在大规模语言模型&#xff08;LLM&#xff09;的开发中&#xff0c;训练数据的质量和格式起着至关重要的作用。为了更好地理解和构建高质量的数据集&#xff0c;社区发展出了多种标准化的数据格式。其中&#xff0c;Alpaca 和 ShareGPT 是两种广泛使用的训练数据格式&#xff0…...

实现动态增QuartzJob,通过自定义注解调用相应方法

:::tip 动态增加Quartz定时任务&#xff0c;通过自定义注解来实现具体的定时任务方法调用。 ::: 相关依赖如下 <!-- 用来动态创建 Quartz 定时任务 --> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-start…...

PyTorch可视化工具——使用Visdom进行深度学习可视化

文章目录 前置环境Visdom安装并启动VisdomVisdom图形APIVisdom静态更新API详解通用参数说明使用示例Visdom动态更新API详解1. 使用updateappend参数2. ~~使用vis.updateTrace方法~~3. 完整训练监控示例 Visdom可视化操作散点图plot.scatter()散点图案例线性图vis.line()vis.lin…...

Qt无边框界面添加鼠标事件

在Qt中实现无边框窗口的鼠标事件处理&#xff0c;主要涉及窗口拖动和调整大小功能。以下是分步实现的代码示例&#xff1a; 1. 创建无边框窗口 首先&#xff0c;创建一个继承自QWidget的自定义窗口类&#xff0c;并设置无边框标志&#xff1a; #include <QWidget> #in…...

企业级爬虫进阶开发指南

企业级爬虫进阶开发指南 一、分布式任务调度系统的深度设计 1.1 架构设计原理 图表 1.2 核心代码实现与注释 分布式锁服务 # distributed_lock.py import redis import timeclass DistributedLock:def __init__(self, redis_conn):self.redis = redis_connself.lock_key = …...

Ubuntu ping网络没有问题,但是浏览器无法访问到网络

我这边是尝试清楚DNS缓存然后重新访问就可以了。 使用 resolvectl 刷新 DNS 缓存 在 Ubuntu 20.04 及更高版本中&#xff0c;可以使用以下命令来刷新 DNS 缓存&#xff1a; sudo resolvectl flush-caches 使用 systemd-resolve&#xff08;适用于旧版本&#xff09; 如果你…...

网络安全-等级保护(等保) 2-7 GB/T 25058—2019 《信息安全技术 网络安全等级保护实施指南》-2019-08-30发布【现行】

################################################################################ GB/T 22239-2019 《信息安全技术 网络安全等级保护基础要求》包含安全物理环境、安全通信网络、安全区域边界、安全计算环境、安全管理中心、安全管理制度、安全管理机构、安全管理人员、安…...

数据结构实验10.1:内部排序的基本运算

文章目录 一&#xff0c;实验目的二&#xff0c;实验内容1. 数据生成与初始化2. 排序算法实现&#xff08;1&#xff09;直接插入排序&#xff08;2&#xff09;二分插入排序&#xff08;3&#xff09;希尔排序&#xff08;4&#xff09;冒泡排序&#xff08;5&#xff09;快速…...

C#:多线程

一.线程常用概念 线程&#xff08;Thread&#xff09;&#xff1a;操作系统执行程序的最小单位 进程&#xff08;Process&#xff09;&#xff1a;程序在内存中的运行实例 并发&#xff08;Concurrency&#xff09;&#xff1a;多个任务交替执行&#xff08;单核CPU&#xff0…...

基于Zynq SDK的LWIP UDP组播开发实战指南

一、为什么选择LWIP组播? 在工业控制、智能安防、物联网等领域,一对多的高效数据传输需求日益增长。Zynq-7000系列SoC凭借其ARM+FPGA的独特架构,结合LWIP轻量级网络协议栈,成为嵌入式网络开发的理想选择。本文将带您实现: LWIP组播配置全流程动态组播组切换技术零拷贝数据…...

c#将json字符串转换为对象数组

在C#中&#xff0c;将JSON字符串转换为对象数组是一个常见的需求&#xff0c;特别是在处理来自Web API的响应或需要反序列化本地文件内容时。这可以通过使用Newtonsoft.Json&#xff08;也称为Json.NET&#xff09;库或.NET Core内置的System.Text.Json来完成。以下是如何使用这…...

机器学习在智能水泥基复合材料中的应用与实践

“机器学习在智能水泥基复合材料中的应用与实践” 课程 内容 机器学习基础模型与复合材料研究融合 机器学习在复合材料中的应用概述机器学习用于复合材料研究的流程复合材料数据收集与数据预处理 实例&#xff1a;数据的收集和预处理 复合材料机器学习特征工程与选择 实例&a…...

wps编辑技巧

1、编辑模式 2、图片提取方法&#xff1a;右键保存图片 可以直接右键保存下来看看是否是原始图&#xff0c;如果歪着的图&#xff0c;可能保存下来是正的&#xff0c;直接保存试下 3、加批注...

开放世界RPG:无缝地图与动态任务的拓扑学架构

目录 开放世界RPG:无缝地图与动态任务的拓扑学架构引言第一章 地图分块系统1.1 动态加载算法1.2 内存管理模型第二章 任务拓扑网络2.1 任务依赖图2.2 动态可达性分析第三章 NPC行为系统3.1 行为森林架构3.2 日程规划算法第四章 动态事件系统4.1 事件传播模型4.2 玩家影响指标第…...

【图像处理入门】1. 数字图像的本质:从像素到色彩模型

作为图像处理的开篇&#xff0c;本文将带你拆解数字图像的底层逻辑&#xff1a;从模拟图像到数字信号的神奇转换&#xff0c;到像素世界的微观构成&#xff0c;再到彩色图像的编码奥秘。通过 Python 代码实战&#xff0c;你将亲手触摸图像的 “基因”—— 像素值&#xff0c;并…...

(已解决:基于WSL2技术)Windows11家庭中文版(win11家庭版)如何配置和使用Docker Desktop

目录 问题现象&#xff1a; 问题分析&#xff1a; 拓展&#xff1a; 解决方法&#xff1a; 1、使用WSL2技术&#xff08;亲测有效&#xff09; 注意&#xff1a; 2、开启Hyper-V功能&#xff08;未经亲测&#xff0c;待研究&#xff09; 问题现象&#xff1a; 今天想在本…...

Ubuntu20.04部署KVM

文章目录 一. 环境准备关闭防火墙&#xff08;UFW&#xff09;禁用 SELinux更换镜像源检查 CPU 虚拟化支持 二. 安装KVM安装 KVM 及相关组件启动 libvirtd 服务验证安装创建虚拟机 一. 环境准备 4C8G&#xff0c;50G硬盘——VMware Workstation需要给虚拟机开启虚拟化引擎 roo…...

OpenCV CUDA 模块图像过滤------创建一个高斯滤波器函数createGaussianFilter()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 cv::cuda::createGaussianFilter 是 OpenCV CUDA 模块中的一个工厂函数&#xff0c;用于创建一个高斯滤波器。这个滤波器可以用来平滑图像&#…...

计算机视觉与深度学习 | matlab实现ARIMA-WOA-CNN-LSTM时间序列预测(完整源码和数据)

以下是一个基于MATLAB的ARIMA-WOA-CNN-LSTM时间序列预测框架。由于完整代码较长,此处提供核心模块和实现思路,完整源码和数据可通过文末方式获取。 1. 数据准备(示例数据) 使用MATLAB内置的航空乘客数据集: % 加载数据 data = readtable(airline-passengers.csv); data …...

可视化图解算法43:数组中的逆序对

1. 题目 ​牛客网 面试笔试TOP101 描述 在数组中的两个数字&#xff0c;如果前面一个数字大于后面的数字&#xff0c;则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数P。并将P对1000000007取模的结果输出。 即输出P mod 1000000007 数据范围&…...