我一开始用ssh运行的时候其实完全没想通为什么没有界面,直到我想起来ssh是服务来运行的时候我才意识到发生了什么,服务是没法运行GUI的,但是虽然不能直接运行GUI,那就运行别的来当一次跳板就行了,比如windows自带的计划任务,我不希望用一些什么其他的程序来增加我迁移服务器的难度。
直接上正文,计划任务可以运行GUI,而计划任务可以用命令行创建,那么就简单了,下面的命令就是”创建计划任务+运行程序+删除计划任务”一条龙,因为我发现不同的ssh客户端在连接windows的ssh时好像会用不同的终端配置,所以我直接把命令写成了只用powershell
powershell "schtasks /Create /F /tn "temp" /tr "C:\Windows\System32\cmd.exe" /sc once /st 00:00:00 | schtasks /run /tn "temp" ; schtasks /delete /F /tn "temp""在使用ssh的客户端中运行这3条命令就会看到RDP里有GUI界面的cmd成功出现了,只需要把create里/tr后面的cmd替换成需要运行的程序或者是脚本,我把cmd的完整路径写出来是为了更好的理解,我就写个cmd.exe我相信肯定会有人学过去就是qq.exe,这个计划任务不会自动运行,因为今天的00:00:00无论如何都已经过去了,这个命令创建的是只在今天0点运行一次的计划任务。
另外最好不要把这些命令拆成多行,因为我认为这样做条件判断是比较合理的。
如果需要一直使用可以不去运行后面那个schtasks /delete删除命令,以后就schtasks /run一下就好了。
也可以快速运行一串命令比如像这样快速执行2条命令
echo start cmd > %UserProfile%\tempg.bat
echo ping 1.1.1.1 >> %UserProfile%\tempg.bat
powershell "schtasks /Create /F /tn "temp" /tr "%UserProfile%/tempg.bat" /sc once /st 00:00:00 | schtasks /run /tn "temp" ; schtasks /delete /F /tn "temp"" & timeout -t 1 & del %UserProfile%\tempg.bat你问我为啥需要GUI却不用GUI来操作呢,因为这样可以在客户端上有更多的可操作性,比如在服务器上放个重启脚本,手机上的ssh弄好预编辑命令,需要的时候点一下,快速重启某些出问题而且需要用到GUI的程序,就不需要用到rdp了,等方便用rdp的时候再去检查到底是什么问题。
还可以整蛊人,比如别人在用我电脑,然后我手机上点一下,原神启动!我的电脑在自己启动原神.jpg