Windows - 通过ssh打开带有图形界面的程序 - 一种通过计划任务的曲折实现方式

news/2025/2/26 5:26:07

ssh___1">Windows(奇思妙想) - 通过ssh打开带有图形界面的程序 - 一种通过计划任务的曲折实现方式

前言

Windows启用OpenSSH客户端后就可以通过SSH的方式访问Windows了。但是通过SSH启动的程序:

  1. 无法显示图形界面
  2. 会随着SSH进程的结束而结束

于是想到了一种通过执行“计划任务”的方式脱离SSH以本机的名义执行不随SSH进程结束而结束的带图形界面的应用程序的方式。

Windows开启SSH

这个教程一搜一大把,这里仅仅列举主要内容以及容易踩坑的地方。

如何开启并连接:

  1. Windows设置–>应用–>应用和功能-可选功能安装OpenSSH客户端(过程可能十分缓慢,魔法也难以加速)。
  2. 启动OpenSSH SSH Server(sshd)服务。(可在services.msc通过鼠标启动,也通过命令行net start sshd启动)。
  3. 保证局域网或公网可访问目标主机,在另一台机器上执行ssh 用户名@ip地址并输入密码即可。

踩坑:

  1. 如果你是正版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和我的个人博客,原创不易,转载经作者同意后请附上原文链接哦~


http://www.niftyadmin.cn/n/5868039.html

相关文章

C/C++ | 每日一练 (4)

💢欢迎来到张胤尘的技术站 💥技术如江河,汇聚众志成。代码似星辰,照亮行征程。开源精神长,传承永不忘。携手共前行,未来更辉煌💥 文章目录 C/C | 每日一练 (4)题目参考答案基础容器序列容器std:…

Linux中常见命令使用

Linux命令,本质是一个二进制可执行程序,与Windows系统中的.exe文件是一个意思 ls -l -l看到的信息,开始是d,说明是文件夹,开始是-,则是文件w -h让文件大小更人性化的显示 文件操作命令 touch 创建文件…

将DeepSeek接入vscode的N种方法

接入deepseek方法一:cline 步骤1:安装 Visual Studio Code 后,左侧导航栏上点击扩展。 步骤2:搜索 cline,找到插件后点击安装。 步骤3:在大模型下拉菜单中找到deep seek,然后下面的输入框输入你在deepseek申请的api key,就可以用了 让deepseek给我写了一首关于天气的…

音乐游戏Drummania(GITADORA)模拟器

文章目录 (一)Drummania和GITADORA(1.1)基本情况(1.2)机体 (二)模拟器(2.1)主程序(2.2)模拟器主题 (三)曲谱文…

AIoT是什么?关键技术及应用

一.AIoT定义 AIoT 概念是在 2017 年正式向公开市场提出的。2017 年 11 月 28 日,在由光际资本、36 氪、特斯联联合主办的 “万物智能.新纪元 AIoT 未来峰会” 上,与会专家及行业嘉宾首次正式向公开市场提出 AIoT 概念。AIoT 即人工智能物联网&#xff0c…

网页五子棋——项目部署

目录 安装 openjdk 安装 MySQL 创建数据库和数据表 修改 WebSocket 建立连接的 url 上传项目 在项目实现完成后,我们就可以将项目部署到云服务器上(在这里使用的是 Ubuntu) 我们先在服务器上安装 jdk、mysql 等 更新软件包&#xff…

Go小技巧易错点100例(二十三)

本期分享: 1.Go Module控制Go版本 2.int转string注意事项 3.Go项目查看mod依赖关系 Go Module控制Go版本 当我们开发Go项目涉及到两台及以上的机器,而且它们又刚好是不同操作系统的时候,可能就要把代码挪到另一台机器上重新编译&#xff…

六十天前端强化训练之第二天CSS选择器与盒模型深度解析

欢迎来到编程星辰海的博客讲解 目录 一、CSS 核心概念 1. 三种引入方式 2. CSS 注释 3. 常见单位系统 二、CSS选择器核心知识 1. 基础选择器类型 2. 组合选择器 3. 伪类选择器(部分示例) 4. 优先级计算规则 三、盒模型深度解析 1. 标准盒模型图…