Windows - 通过ssh打开带有图形界面的程序 - 一种通过计划任务的曲折实现方式
Windows(奇思妙想) - 通过ssh打开带有图形界面的程序 - 一种通过计划任务的曲折实现方式
前言
Windows启用OpenSSH客户端后就可以通过SSH的方式访问Windows了。但是通过SSH启动的程序:
- 无法显示图形界面
- 会随着SSH进程的结束而结束
于是想到了一种通过执行“计划任务”的方式脱离SSH以本机的名义执行不随SSH进程结束而结束的带图形界面的应用程序的方式。
Windows开启SSH
这个教程一搜一大把,这里仅仅列举主要内容以及容易踩坑的地方。
如何开启并连接:
- 在
Windows设置–>应用–>应用和功能-可选功能安装OpenSSH客户端(过程可能十分缓慢,魔法也难以加速)。 - 启动
OpenSSH SSH Server(sshd)服务。(可在services.msc通过鼠标启动,也通过命令行net start sshd启动)。 - 保证局域网或公网可访问目标主机,在另一台机器上执行
ssh 用户名@ip地址并输入密码即可。
踩坑:
- 如果你是正版Windows并登录了微软账号,有可能你输入系统用户名和开机密码无法访问,但是输入你的微软账户邮箱和密码可以正常登录控制。
直接通过SSH启动其他程序效果不尽人意
有了终端,似乎一切都可以执行了。但是当我想执行带“图形界面”的爱心.exe时,若执行start 爱心.exe,则目标主机和你的主机上都没有任何踪迹,但是可以在任务管理器中看到。

可以发现爱心.exe在后台执行了,但是不会显示界面。这时候如果断开ssh进程连接,则后台的爱心.exe也会随之消失。
大概是因为:
在Windows系统中通过SSH启动GUI程序时无法显示界面,通常是因为SSH会话与图形界面会话隔离导致的。SSH连接默认运行在非交互式控制台会话(通常为Session0),而图形界面程序需要运行在用户的交互式桌面会话(如Session1)(未验证)
通过任务计划启动UI程序
也就是说,如果能让Windows以为是它自己启动的一个程序,而不是SSH调用执行的一个后台程序,就可以正常执行显示界面并且不受SSH进程的约束了。
Windows自己启动一个程序?任务计划不就是干这个的么?
理论上,我创建一个到时间自动运行
爱心.exe的任务计划,Windows到时间自己运行这个程序,那不就脱离我的ssh进程并且能正常显示界面了吗?甚至,我直接通过SSH调用命令“立即执行这个计划任务”,是不是就达到了我想要的效果?
于是思路就变成了创建执行爱心.exe的任务计划 -> 立即执行任务 -> 删除任务计划。
schtasks /create /tn "tempStartAiXin" /sc ONCE /tr "cmd /c start 爱心.exe" /ru %USERNAME% /st 00:00
schtasks /run /tn "tempStartAiXin"
schtasks /delete /tn "tempStartAiXin" /f
完美!爱心.exe在目标主机上成功运行,且不随我ssh会话的结束而终结。
End
同步发文于CSDN和我的个人博客,原创不易,转载经作者同意后请附上原文链接哦~
相关文章:
Windows - 通过ssh打开带有图形界面的程序 - 一种通过计划任务的曲折实现方式
Windows(奇思妙想) - 通过ssh打开带有图形界面的程序 - 一种通过计划任务的曲折实现方式 前言 Windows启用OpenSSH客户端后就可以通过SSH的方式访问Windows了。但是通过SSH启动的程序: 无法显示图形界面会随着SSH进程的结束而结束 于是想到了一种通过执行“计划…...
应用层的协议-http/https的状态码
1xx:表示临时响应,需要操作者继续操作 2xx:成功,操作被成功接受并处理 3xx:一般是重定向问题 4xx:客户端的问题 5xx:服务端的问题 1xx: 100: 表示服务器收到客户端的第一部分请…...
前端Sass面试题及参考答案
目录 什么是 Sass? Sass 和 CSS 的主要区别是什么? Sass 中如何处理列表? Sass 中如何处理映射(map)? Sass 中如何使用函数? Sass 中如何使用内置函数? Sass 中如何设置默认值? Sass 中的 @function 和 @mixin 有什么区别? Sass 中如何实现模块化? Sass 中…...
python采集京东商品详情API接口系列,json数据示例返回
在Python中采集京东商品详情API接口的数据,你需要与京东开放平台(现已更名为京东联盟开放平台)进行交互。京东开放平台提供了多种API接口,用于访问京东的商品数据、用户数据等。然而,需要注意的是,京东对于…...
RT-Thread+STM32L475VET6——USB鼠标模拟
文章目录 前言一、板载资源二、具体步骤1.配置icm20608传感器2.打开CubeMX进行USB配置3. 配置USB3.1 打开USB驱动3.2 声明USB3.3 剪切stm32xxxx_hal_msp.c中的void HAL_PCD_MspInit(PCD_HandleTypeDef* hpcd)和void HAL_PCD_MspDeInit(PCD_HandleTypeDef* hpcd)函数至board.c3.…...
计算机毕业设计SpringBoot+Vue.js母婴商城(源码+LW文档+PPT+讲解+开题报告)
温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...
Teigha(ODA<Open Design Alliance>_开放设计联盟)——cad c# 二次开发
需将dll库文件与exe文件放同一路径下,运行exe即可执行。 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.IO; using System.Linq; using System.Text; using System.Thread…...
Java 中 HTTP 协议版本使用情况剖析
Java 中 HTTP 协议版本使用情况剖析 一、HTTP/1.1 与 HTTP/2 概述 (一)HTTP/1.1 HTTP/1.1 是广泛应用且成熟的 HTTP 协议版本,它在互联网发展历程中扮演了重要角色。其特点主要包括: 连接方式:默认采用短连接,即每次请求都要建立新的 TCP 连接,请求完成后断开。不过也…...
Zama fhEVM应用:摩根大通旗下 Kinexys 发布概念验证
1. 引言 Zama 全同态加密 (FHE) 技术在摩根大通的 Kinexys(以前称为 Onyx)中成功进行了概念验证。该概念验证是“EPIC 项目:通过链上企业隐私、身份和可组合性推动代币化金融”的一部分,在 Kinexys 数字资产沙盒(以前…...
idea 部署 AJ-Report 启动的注意事项
AJ-Report 入门参考: AJ-Report 初学(入门教程) gitee 下载:https://gitee.com/anji-plus/report/releases 根据上面提供的 gitee 下载链接,点击直接下载 最上面的就是最新版本的,旧版本往下拉就可以找到,有三个下载…...
智能化客户行为轨迹分析:AI视频监控在大型商场的技术方案
项目背景:为了提升顾客体验并支持精准营销,卖场或商场需要通过智能化手段分析客户在商场内的行为路线。 一、具体需求 1、行为路径分析:跟踪顾客在商场内的移动轨迹,了解顾客的购物习惯和偏好。 2、高频活动区域识别:…...
解决升级flutter 3.29.0 Gradle8.7后报错 Exception has occurred. MissingPluginException
Flutter 升级后 MissingPluginException 及 Proguard 混淆问题解决方案 问题描述 在将 Flutter 从 3.24.5 升级到 3.29,以及 Gradle 升级到 8.7.0 之后,原生自己写的Flutter 插件在运行时出现以下错误: Exception has occurred. MissingPl…...
安全见闻4
今天学了Windows操作系统和驱动程序的相关知识 Windows注册表 注册表是windows系统中具有层次结构的核心数据库 储存的数据对windows 和Windows上运行的应用程序和服务至关重要。注册表时帮助windows控制硬件、软件、用户环境和windows界面的一套数据文件。 打开注册表编辑器…...
Denoising Diffusion Restoration Models论文解读
论文要点 恢复的线性逆问题可以使用预训练的DDPM完成:1. 将降质矩阵使用SVD,得到分解矩阵;2. 使用分解矩阵将图像投影到降质类型间共享的谱空间;3. 谱空间中执行DDPM。 评价 同Track的方法同样很多,比如后续的DDNM、…...
基于SpringBoot的校园消费点评管理系统
作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏:…...
vue 修改el-tree高亮样式
vue 修改el-tree高亮样式 ::v-deep .el-tree--highlight-current .el-tree-node.is-current > .el-tree-node__content, ::v-deep .el-tree-node > .el-tree-node__content:hover {background-color: #eff8ee !important;color: #009764; }...
【NLP 38、激活函数 ④ GELU激活函数】
别盲目,别着急,慢慢走,没事的 —— 25.2.24 一、定义与数学表达式 GELU(Gaussian Error Linear Unit,高斯误差线性单元)是一种结合概率分布的非线性激活函数,其核心思想是通过输入值服从标准正…...
QT:paintEvent、QPainter、QPaintDevice
paintEvent 介绍 在 Qt 编程中,paintEvent 是 QWidget 类中的一个非常重要的虚函数,用于处理绘图事件。当一个 QWidget 或其派生类的实例需要进行重绘操作时,Qt 会自动调用该控件的 paintEvent 函数。 触发时机 窗口首次显示:当…...
OpenHarmony-4.基于dayu800 GPIO 实践(2)
基于dayu800 GPIO 进行开发 1.DAYU800开发板硬件接口 LicheePi 4A 板载 2x10pin 插针,其中有 16 个原生 IO,包括 6 个普通 IO,3 对串口,一个 SPI。TH1520 SOC 具有4个GPIO bank,每个bank最大有32个IO: …...
HTML项目一键打包工具:HTML2EXE 最新版
HTML2EXE 工具可以一键打包生成EXE可执行文件。可以打包任意HTML项目或者是一个网址为单个EXE文件,直接打开即可运行。支持KRPano全景VR项目、WebGL游戏项目、视频播放、,课件打包、网址打包等。 下载地址: 最新版HTML2EXE首次发布下载地址 一、功能特点…...
BGP配置华为——路径优选验证
实验拓扑 实验要求 实现通过修改AS-Path属性来影响路径选择实现通过修改Local_Preference属性来影响路径选择实现通过修改MED属性来影响路径选择实现通过修改preferred-value属性来影响路径选择 实验配置与效果 1.改名与IP配置 2.as300配置OSPF R3已经学到R2和R4的路由 3.…...
深度学习基础--ResNet网络的讲解,ResNet50的复现(pytorch)以及用复现的ResNet50做鸟类图像分类
🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 前言 如果说最经典的神经网络,ResNet肯定是一个,这篇文章是本人学习ResNet的学习笔记,并且用pytorch复现了ResNet50&…...
TMDS视频编解码算法
因为使用的是DDR进行传输,即双倍频率采样,故时钟只用是并行数据数据的5倍,而不是10倍。 TMDS算法流程: 视频编码TMDS算法流程实现: timescale 1 ps / 1ps //DVI编码通常用于视频传输,将并行数据转换为适合…...
深度解析SmartGBD助力Android音视频数据接入GB28181平台
在当今数字化时代,视频监控与音视频通信技术在各行各业的应用愈发广泛。GB28181协议作为中国国家标准,为视频监控设备的互联互通提供了规范,但在实际应用中,许多Android终端设备并不具备国标音视频能力,这限制了其在相…...
前端兼容处理接口返回的文件流或json数据
参考文档:JavaScript | MDN 参考链接:Blob格式转json格式,拿到后端返回的json数据_blob转json-CSDN博客 参考链接:https://juejin.cn/post/7117939029567340557 场景:导入上传文件,导入成功,…...
Eclipse 透视图 (Perspective)
Eclipse 透视图 (Perspective) Eclipse 是一款强大的集成开发环境(IDE),广泛应用于 Java 开发领域。其中,透视图(Perspective)是 Eclipse 中的一个核心概念,它将不同的工具和视图组合在一起,以便开发者能够更高效地完成特定的开发任务。本文将详细介绍 Eclipse 透视图…...
嵌入式硬件篇---滤波器
文章目录 前言一、模拟电子技术中的滤波器1. 基本概念功能实现方式 2. 分类按频率响应低通滤波器高通滤波器带通滤波器带阻滤波器 按实现方式无源滤波器有源滤波器 3. 设计方法巴特沃斯滤波器(Butterworth)切比雪夫滤波器(Chebyshevÿ…...
从零到一学习c++(基础篇--筑基期十一-类)
从零到一学习C(基础篇) 作者:羡鱼肘子 温馨提示1:本篇是记录我的学习经历,会有不少片面的认知,万分期待您的指正。 温馨提示2:本篇会尽量用更加通俗的语言介绍c的基础,用通俗的语言去…...
Java基础常见的面试题(易错!!)
面试题一:为什么 Java 不支持多继承 Java 不支持多继承主要是为避免 “菱形继承问题”(又称 “钻石问题”),即一个子类从多个父类继承到同名方法或属性时,编译器无法确定该调用哪个父类的成员。同时,多继承…...
DPVS-2:单臂负载均衡测试
上一篇编译安装了DPVS,这一篇开启DPVS的负载均衡测试 : 单臂 FULL NAT模式 拓扑-单臂 单臂模式 DPVS 单独物理机 CLINET,和两个RS都是另一个物理机的虚拟机,它们网卡都绑定在一个桥上br0 , 二层互通。 启动DPVS …...
