Bash 脚本 - 启动远程 X 重定向应用程序

Bash 脚本 - 启动远程 X 重定向应用程序

也许我使用了错误的关键字来寻找此要求的答案。

我在远程 Linux 系统上安装了一个 GUI,该系统使用远程连接并通过 X 重定向启动应用程序,如下所示:

ssh -Y [email protected]
cd /home/user.known/TheAppDir/
sh ./ApplicationCommand

有了上面的内容,我就可以在本地 linux 上显示 GUI服务器

我的问题是 - 如何在本地 Linux 上编写一个 bash 来一次性启动上述过程?理想情况下,我想运行一个 bash 脚本,例如:

aServer.ApplicationCommand

这样我的 GUI 就可以在本地运行了?

答案1

如果您创建文件aServer.ApplicationCommand(不要忘记 chmod +x 使其可执行)并放入其中:

#!/bin/bash
ssh -Y [email protected] "cd /home/user.known/TheAppDir/ ; sh ./ApplicationCommand"

这应该有效。除非您配置了 ssh 密钥,否则系统仍会提示您输入密码。

解释

通过将命令放在 SSH 命令之后,可以严格使用 SSH 来运行命令,而不是返回会话。本质上,执行此操作时,它会打开一个会话,运行提供的命令,然后关闭它。

因为您想要执行多个命令,所以我们只需在它们之间放置一个分号来分隔它们并用引号括起来,这样它仍然是 SSH 命令的参数。

奖金

将脚本重命名为aServer并将脚本更改为:

#!/bin/bash
ssh -Y [email protected] "cd /home/user.known/TheAppDir/ ; sh ./$1"

并使用 来调用它aServer ApplicationCommand,这样做的好处是,如果您有多个脚本,TheAppDir您想调用它,只需更改参数即可。

我认为您甚至仍然可以捕获$?以查看脚本是否正确执行,并在找不到文件时创建错误消息,但您必须对此进行测试。

相关内容